其他分享
首页 > 其他分享> > 一文深入浅出理解国产开源木兰许可系列协议

一文深入浅出理解国产开源木兰许可系列协议

作者:互联网

伴随着国际形式的变迁,越来越多组织申明将遵循美国出口管制法律的约束,并且蔓延到了开源领域;关于国内开源生态如何自立,做到在逼不得已无法与国际接轨的情况下能够健康发展的措施也被提上议程,木兰系列许可证系列由此诞生。木兰系列许可证系列(包含“木兰宽松许可证”和“木兰公共许可证”等),均由北京大学作为牵头单位,依托全国信标委云计算标准工作组和中国开源云联盟,联合开源生态圈产学研优势团队和个体、尤其是开源法务和律师,起草、修订并发布。其中Mulan PSL 是国内首个被OSI认定的“国产开源软件协议。@pdai

什么是木兰许可证

木兰系列许可证包含“木兰宽松许可证”和“木兰公共许可证”(后续可能还有更多),均由北京大学作为牵头单位,依托全国信标委云计算标准工作组和中国开源云联盟,联合开源生态圈产学研优势团队和个体、尤其是开源法务和律师,起草、修订并发布。

PS: OSI 是定义“开源”、制定开源协议标准的组织,符合 OSI 开源定义的许可证被认定为开源许可证,目前其批准的开源软件协议有 100 多个,比如目前比较流行的 MIT、Apache-2.0 与 BSD 3-Clause 等都在 OSI 认定的开源许可证列表中。而 Mulan PSL 是国内首个被OSI认定的“国产开源软件协议”

木兰许可证诞生的背景

最重要的是所处的国际形势,主要关注当时两大引爆事件:

消息一出,国际国内开源界议论纷纷,关于开源生态如何自立,做到在逼不得已无法与国际接轨的情况下能够健康发展的措施也被提上议程。

于是我们看到华为在加快国产开源操作系统鸿蒙的研发,看到国内第一个开源软件基金会在紧急筹备,也看到了第一个国产开源协议木兰的诞生。

木兰许可证的类型和版本

木兰系列许可证实际上在设计的时候是期望做一个系列,目前木兰许可证族已研制发布了三个许可证:木兰宽松许可证(MulanPSL v1;MulanPSL v2)、木兰公共许可证(MulanPubL v1;MulanPubL v2)、木兰-白玉兰开放数据许可协议(MBODL v1),分别面向开源软件宽松型、强著作权型以及开放数据集使用等三类不同的开源应用需求。同时木兰开放作品许可证(Mulan Open Works License, Mulan OWL)处于待发布状态,后续可能会推出更多的协议来满足特定的使用场景。

木兰宽松许可协议

木兰宽松许可证(MulanPSL), 这里是协议的全文

MulanPSL v1,具有以下特点:

MulanPSL v2 对 MulanPSL v1 的具体改进

木兰公共许可协议

木兰公共许可证(MulanPubL), 这里是协议的全文

木兰公共版和宽松版最大的区别在于其传染性即他人使用了代码之后在特定情况下也必须采用木兰公共版进行开源。我们来看下v2中的分发限制:

您可以将您接收到的“贡献”或您的“衍生作品”以源程序形式或可执行形式重新“分发”,但必须满足下列条件:

  1. 您必须向接收者提供“本许可证”的副本,并保留“贡献”中的版权、商标、专利及免责声明;并且,
  2. 如果您“分发”您接收到的 “贡献”,您必须使用“本许可证”提供该“贡献”的源代码副本;如果您 “分发”您的“衍生作品”,您必须:

协议中还指出了例外情况

  1. 如果您将“贡献”与采用GNU AFFERO GENERAL PUBLIC LICENSE Version 3(以下简称“AGPLv3”)或其后续版本的作品结合形成新的“衍生作品”,且根据“AGPLv3”或其后续版本的要求您有义务将新形成的“衍生作品”以“AGPLv3”或其后续版本进行许可的,您可以根据“AGPLv3”或其后续版本进行许可,只要您在“分发”该“衍生作品”的同时向接收者提供“本许可证”的副本,并保留“贡献”中的版权、商标、专利及免责声明。但任何“贡献者”不会因您选择“AGPLv3”或其后续版本而授予该“衍生作品”的接收者更多权利。

木兰开放作品许可协议

开放作品许可证是对开放作品的使用、复制、修改和分发等行为进行规范和约束的一种具有法律效力的格式合同,是保护创作者权利、推动开放作品发展的重要支撑;目前根据不同的授权要素及传播条件,共产生四个许可证。

背景

为满足在知识共享领域的开源应用,助力营造良好版权氛围,中国电子技术标准化研究院与国防科技大学联合组织开展面向开放作品应用领域的许可证编制。木兰开放作品许可证由国防科技大学牵头技术研发,依托木兰开源社区,联合开放原子开源基金会、华为、思否、Datawhale、北大法学院、上海白玉兰、开源社等国内开源生态圈产学研各界优势团队以及拥有丰富知识产权相关经验的众多律师共同起草完成。

当前,开源的理念及其生产方式已延伸到其他类型作品(如书籍、设计等)的创作中,人们越来越多地将自己的作品开放给大众使用,并允许大众参与到作品的创作中。在这样一种共享共创的方式下产生了大量高质量开放作品,相较传统著作权下保留所有权利的作品,开放作品具有以下三方面的特征:

类似于开源软件许可证,开放作品许可证是对开放作品的使用、复制、修改和分发等行为进行规范和约束的一种具有法律效力的格式合同,是保护创作者权利、推动开放作品发展的重要支撑

目前根据不同的授权要素及传播条件,共产生四个许可证,如下表所示(许可证征求意见稿请在附件1-4中下载):

相较面向一般作品的公共版权许可证,木兰开放作品许可证 1.0具有以下特点

木兰-白玉兰开放数据许可协议

木兰-白玉兰开放数据许可协议」是由「上海白玉兰开源开放研究院」在「木兰开源社区」 框架和精神下所发起的一项研究项目,旨在探索创建一组标准化的、立足中国人工智能实践、推动数据要素流通、优化人工智能发展环境的数据许可协议。这里是协议的全文

背景

当前在人工智能领域尚缺乏切合实际的开放数据许可,使得数据要素的使用和流通仍存在诸多障碍和不确定性,不仅容易产生数据安全及法律方面问题,而且由于对数据本质属性、存在形态、使用方式等方面仍认识不足,造成数据资源的使用现状与数据可供挖掘的价值不匹配。为了人工智能技术和相关数据资源的可持续开发使用,开放数据许可协议的作用愈加凸显。通过规范数据利益相关方的身份和概念定义,界定数据利益相关方之间对特定数据对象流通条件和方式的各自权责,并尽可能以完全开放的模式引导数据流通,促进数据要素的开放共享与开发利用。

「木兰-白玉兰开放数据许可协议」起草说明

这块内容说明,来源于木兰-白玉兰开放数据协议的说明

协议的草拟由「白玉兰开源」联合「开放数据中国」完成,过程中我们对:

考虑到当前人工智能训练数据集从权属角度可分为两类情况:

因此「木兰-白玉兰开放数据许可协议」对上述两类情况产出了两组不同起草策略的协议:

第一组,即默认数据由数据发布者合法合规所有或具备处置权

我们借鉴知识共享协议的模式,草拟了一套 4 份协议,即

上述四个协议,均以 MBODL 为基础,在「许可限制」小节中予以增加不同的限制而形成。但正如 CC 协议,在这 4 套协议的基础上,也可再进行许可限制的叠加交叉,形成新的协议,如 MBODL-NC-CU,即规定非商业使用且仅计算使用,又如 MBODL-SA-CU,即规定相同方式授权数据且仅计算使用。

第二组,即数据发布者数据为自第三方合法合规获取

我们借鉴了 ODbL(开放数据库协议)的策略,对数据库/数据集的结构(即数据选取、组织的方式,database scheme)和数据内容予以了拆分授权的方式。此类授权策略仅为实验性,待进一步反馈确定 1)是否有真实需求 2)是否具备可操作性。

对于上述第二组的情况,我们提供两个可能的案例展开说明:

案例 1:数据发布者通过 wikipedia 和 flickr 等渠道获取了各类鸟类的图片数据,图片数据各自分别授权在 CC 等开放授权协议下,数据发布者通过选取和组合这些鸟类图片,添加了自身对鸟类的标签(鸟类照片对应的鸟类名称、科目等信息),最后形成了一个「鸟类图片训练数据集」需要授权发布。则在第二组协议的策略下,其将采用「白玉兰开源开放数据协议」(仅授权结构)+「标注数据」(授权内容-发布者选用新授权)+「各图片原有协议」(授权内容-依照各自协议)的方式授权发布整个数据集。

案例 2:数据发布者通过授权方式(假设授权允许发布者重新发布影像图片)从 N 家医院各自获取了脱敏后的肺部 CT 影像图片数据,数据发布者自身投入人力完成了对上述影像数据的肺结节标注。数据发布者希望将影像图片数据+标注数据组合发布为「肺结节标准训练数据集」,因此可采用其将采用「木兰-白玉兰开放数据许可协议」(仅授权结构)+「标注数据」(授权内容-发布者选用新授权)+「各图片原有协议」(授权内容-依照各自协议)的方式授权发布整个数据集。

我们基于上述案例的场景描述,草拟了 MBODL(结构内容分离版)协议,作为一个单独的实验性协议供各界讨论适用性和条款的实践落地可能。

进一步理解

让我们通过几个问题进一步理解木兰协议系列。

MulanPSL v2 版本通过 OSI 认证? v1 不符合开源定义? 是否对云有限制?

MulanPSL v2 版本通过 OSI 认证,是否意味着 v1 本身就不符合开源定义,在开源生态中不具有实际意义?

牵头人周明辉解释,Mulan PSL v2 与 Mulan PSL v1 本质上没有区别,Mulan PSL v2 是在 Mulan PSL v1 基础上的进一步完善。认证过程中,OSI 及社区其他专家并没有表示 Mulan PSL v1 不符合开源定义,仅对规范语言和部分英文表述问题给出了相关建议。

(v2针对v1的变化点,上文已经有说明)

此外,关于木兰特性以及 v2 相比 v1 的改进,因为当前开源与云的争端不断(@pdai: 比如ElasticSearch,MongoDB更改开源协议),在去年木兰 v1 出来的时候就有律师建议可以在协议条款中加上针对云的一些内容,也抛出了相关问题。

周明辉表示,Mulan PSL 的定位是宽松版许可证,对如何“使用、修改、复制、分发”开源软件没有额外限制,仅要求保留各类声明和许可证副本,因此也并未对“云”做任何限制。同时她也补充到:“今后在制定木兰系列其它类型的许可证时,我们可能会考虑到‘云’场景。”

与主流许可证的区别?

Mulan PSL v1 & 2 与BSD 3-clause License与Apache License V2.0在声明义务、专利许可、对用户专利维权限制及版权许可上均有差异,在商标许可上无差异,见下表:

与主流许可证的兼容性?

许可证的兼容性评判并无统一标准。从 Mulan PSL v1 的条款及目的出发,Mulan PSL v1 与 BSD 类许可证类似,兼容性很好。

BSD、MIT 类宽松许可证兼容 Mulan PSL v2 许可证;Mulan PSL v2 兼容 Apache License v2.0、L/GPLv2、L/GPLv3 等许可证。即,许可在 BSD、MIT 类许可证下的代码可以贡献到 Mulan PSL v2的项目中,许可在 Mulan PSL v2 下的代码可以贡献到 Apache License V2.0、L/GPLv2 或 L/GPLv3 等项目中。

注意,许可证 A 兼容许可证 B(A 许可证是 B 许可证 Compatible)是指,A 授权的作品与 B 授权的作品经过修改或合并,可以使用 B 对作品的整体进行授权。兼容性是有方向的,A 兼容 B,但 B 不一定兼容 A。

如果开源项目希望使用木兰协议系列,该如何选择?

如果开源项目希望使用木兰协议系列,该如何选择?这里有一个例子香山团队在香山开源项目(RISC-V处理器)选择协议系列和版本时的分析和选择,非常值得参考,原文请参考这里

为何值得参考

  1. 香山团队当时邀请到北京大学周明辉教授为带来了主题为《开源许可证概览》的讲座,周教授就开源许可证(LICENSE)的内容框架、使用案例、木兰开源许可证、如何选择开源许可证等问题与香山团队进行了深入交流。
  2. 在对木兰公共版的传染性问题做了充分的分析。
  3. 开源项目还涉及到硬件部分,硬件和软件有很大的差别,硬件的专利约束要比软件强得多。香山团队为香山开源社区建设做了很多的准备,包括正在与专业的律师一起设计、制定知识产权的共享方案。

关于如何使用木兰-白玉兰开放数据协议的说明?

这块内容说明,来源于木兰-白玉兰开放数据协议的说明

使用木兰-白玉兰开放数据协议分三步走:

  1. 根据你所发布数据的情况选用正确的协议,和组合条件:
    a. 你的数据集中是否存在汇编第三方已有相关授权协议的数据?如是,请选用 MBODL(scheme-only)-1.0,并基于此叠加条件
    b. 你希望第三方在使用你数据时,对你署名致谢吗?如是,请选用 MBODL-BY 协议,并基于此进一步叠加条件
    c. 你希望限制第三方非商业使用吗?如是,请选用 MBODL- NC 协议,并基于此进一步叠加条件
    d. 你希望第三方在基于你数据集发布衍生数据时,采用相同协议吗?如是,请选用 MBODL-SA 协议,并基于此进一步叠加条件
    e. 你希望第三方仅计算使用数据吗?如是,请选用 MBODL-CU,并基于此进一步叠加条件

  2. 确定最终的协议组合形态,比如你同时选用了署名、非商业限定,则你得到的协议最终版本应该写作 MBODL-BY-NC 1.0

  3. 在显示位置及数据文档中,加入协议使用文字:

「该项目下的数据授权在木兰-白玉兰开放数据协议(MBODL-XX-YY)1.0 协议之下,了解详情请访问 https://github.com/Bai-Yu-Lan/Mulan-Baiyulan-Data-License」

  1. 如果你选用了 BY 署名,可在上述协议条款处,附上你的署名要求,如:

「你应当在基于此数据的成果中,包含如下格式的署名致谢:感谢 XXXXX 的 XXXXX 数据集 或 本项目/论文所使用数据来自 XXXXX 的 XXXXXX 数据集」

参考资料

标签:协议,开放,木兰,深入浅出,开源,许可证,数据
来源: https://www.cnblogs.com/pengdai/p/16500555.html