从历史发展的角度,开源项目的演进,大致经历了几个阶段:
- 第一阶段:C语言和Unix的诞生。
1969年,也就是APPANET成立的那一年,AT&T贝尔实验室的Ken Thompson(肯·汤普森)发明了Unix。
C的设计原则在于好用,自由和弹性。于是,他们用C把原来用汇编语言写的Unix重写了一遍。虽然与当时流行的LISP和ITS相比,C和Unix的最大优点在于可移植性和简单易用。Unix的出现为黑客利用 络提供了方便,Unix迅速流行起来。Unix被认为是开源文化的基础,因为Unix后来的商业化,直接导致自由软件的诞生。
- 第二阶段**:Unix的商业化和自由软件的诞生。**
在Unix逐渐流行的时候,商业力量起了决定性作用。1984年AT&T解散了,UNIX正式成为一个商品。美国麻省理工学院(MIT)人工智能实验室(AI Lab)的领袖人物,Richard M. Stallman(理查德·斯托曼)认为人们应该拥有使用软件的天生自由,一直坚决反对将实验室的研究成果商业化,同时不满当时大量软件肆意的添加版权保护而与金钱挂钩的现象。于是在1984年,Stallman发起了自由软件运动计划。该计划所提倡的思想是:软件及其代码应当允许大家自由使用、复制分发、研究学习。
同年9月,Stallman在net.unix-wizards新闻组上正式发表了著名的《GNU宣言》(GNU Manifesto),解释为何发起自由软件运动。
- 第三阶段:Linux的诞生和Linux加入GNU。
1989年,那时还是芬兰赫尔辛基大学学生的Linus Torvalds在PC机上开发了新的Unix变种,而后到1991年10月5日,第一个Linux Kernel(freax)在 上公开,Linus在FTP站内为其建立了子目录,名称为Linux(Linus’s Unix),至此,Linux诞生了。
与Stallman强调自由软件道义方面的初衷不同的是,Raymond认为自由软件存在的意义并不是要替代现存的商业软件,他相信共享源代码可以产生更好的结果。
Raymond的这些论文很快得到了一些大公司的回应,随后,1998年,Bruce Perens和Eric S.Raymond等人发起设立“开放源代码促进会”(Open Source Initiative, OSI),目的是尽可能统一开源软件的认证标准。
Part I:开源许可证分类(Copyleft & Permissive)
首先需要明确的是,开源软件源代码的著作权既没有被放弃也没有过期,其修改和发行等仍然要受到著作权法或者开源软件许可证的制约。
我们接触到的开源软件一般都有对应的开源许可证(Open Source License)对软件的使用、复制、修改和再发布等进行限制。许可证即授权条款,开源许可证就是保证开源软件这些限制的法律文件,目的在于规范受著作权保护的软件的使用或者分发行为。开源许可证是开源软件生态系统的基础,可以促进软件的协同开发。
常见的开源许可证主要有 Apache、MIT、BSD、GPL、LGPL、MPL、SSPL 等,可以大致分为两大类:宽松自由软件许可证(Permissive free software licence)和著佐权许可证(Copyleft license)。其中,Apache、MIT、BSD 都是宽松许可证,GPL 是典型的强著佐权(Copyleft )许可证,LGPL、MPL 是弱著佐权(Copyleft )许可证。
Part II:CopyRight vs Copyleft vs Permissive vs Creative Common
- CopyRight(著作权,又称版权)
Copyleft符 标记
1989年,RMS 与一群律师起草了世界上第一个开源软件协议——GNU 通用公共协议证书(GNU General Public License, GNU GPL )。证书的序言体现了“Copyleft”的思想。
一是承认软件的著作权;二是提供许可协议,来获得复制、发布、修改的法律许可。用户可以获得权利人通过许可证放弃的权利,但也必须遵守许可证的规定才能行使,如果不遵守开源软件规定,便是侵犯了开源软件著作权,其著作权人就有权要求对方停止相关行为及其他。
- Permissive(宽松自由软件许可证)
是一种对软件的使用、修改、传播等方式采用最低限制的自由软件许可协议条款类型。这种类型的软件许可协议将不保证原作品的派生作品会继续保持与原作品完全相同的相关限制条件,从而为原作品的自由使用、修改和传播等提供更大的空间。
Copyleft与Permissive最大的区别在于:在软件被修改并再发行时, Copyleft许可协议要求软件不得用于商业性质的活动,且不得闭源(后续的衍生子软件也得遵循该条款),而 Permissive许可协议不要求公开源代码(衍生软件可以变为专有软件)。
- Creative Commons(CC:知识共享协议)
他于2001年创立了知识共享组织(Creative Commons),开展CC的维护和推广,目前CC的版本为4.0版本(2013年发布)。
3、常见的开源许可证介绍
2021开源许可证份额百分比
Part I:常见的开源许可证(MIT、BSD、GPL、Apache)介绍
- GPL
Apache 许可证(Apache License),是一个由 Apache 软件基金会发布的自由软件许可证。这是一个由强大 区支持的流行且广泛部署的许可证。Apache许可证允许您自由使用,修改和分发任何Apache许可产品。
(1)需要给代码的用户一份 Apache Licence。
(2)如果你修改了代码,需要在被修改的文件中说明。
(4)如果再发布的产品中包含一个 notice 文件,则在 notice 文件中需要带有Apache Licence。你可以在 notice 中增加自己的许可,但不可以表现为对Apache Licence构成更改。
(5)Apache Licence 也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
-
MIT 许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称 “ X 条款”(X License)或 “ X11 条款”(X11 License)。
MIT是最宽松的自由软件许可证之一。基本上,只要您添加了原始mit许可证和版权声明的副本,就可以和BSD许可证那样,对原始软件进行许可范围内的任何操作,也相当于可以”为所欲为”。如果你在开放源代码时,只想保留版权,而无需其他任何的限制,那么你可以选择MIT许可证。
Part II:开源许可证之间的区别与如何选择
乌克兰程序员Paul Bagwell,画了一张分析图,说明了我们应该如何选择哪种开源许可证以及各大开源许可证之间的差异,阮一峰进行了汉化,此图清晰明了的说明了各个开源许可证之间的区别。
2020 年 6 月,由阿里巴巴、百度、华为、浪潮、360、腾讯、招商银行等多家龙头科技企业联合发起的中国首个开源基金会——开放原子基金会(OpenAtom Foundation)成立。
开放原子基金会会主要提供基础服务、法律服务、IT基础设施服务、 区运营管理等四大类别服务,截至目前已有鸿蒙OS、XuperChain、Pika、TKEStack等来自阿里巴巴、百度、华为、浪潮、腾讯、360 和招商银行等企业的7大项目加入孵化。
2019年8月,GitHub封禁了部分国家、地区的开发者账 。从克里米亚地区的俄罗斯籍开发者到全部伊朗境内开发者再到定居芬兰的伊朗籍开发者,统统遭遇了账 被封无法创建私有库并且已经创建的私有库遭到关闭,且并未得到提前通知,没有给出任何缓冲备份时间。
在这种背景下,中国开源云联盟官 上线了“木兰宽松开源许可证“(MulanPSL)。截至目前,“木兰宽松许可证”第1版(MulanPSL v1)已在Linux基金会、开源中国、华为方舟等国内外重点开源 区和开源项目中得到支持和应用。
2020年2月14日,“木兰宽松许可证”第2版(MulanPSL v2)经过严格审批,正式通过开源促进会(OSI)认证,被批准为国际类别开源许可证(International licenses)。意味着其正式具有国际通用性,可被任一国际开源基金会或开源 区支持采用,并为任一开源项目提供服务。与此同时,“木兰”是中英文双语,对本土开发者理解和使用开源许可证具有一定优势。
- 与众多开源许可证相比,MulanPSL v1做了以下优化:
(1)许可证内容以中英文双语表述,中英文版本具有同等法律效力,方便更多的开源参与者阅读使用,简化了中国使用者进行法律解释时的复杂度。
(2)许可证明确授予用户永久性、全球性、免费的、非独占的、不可撤销的版权和专利许可,并针对目前专利联盟存在的互诉漏洞问题,明确规定禁止“贡献者”或“关联实体”直接或间接地(通过代理、专利被许可人或受让人)进行专利诉讼或其他维权行动,否则终止专利授权。
(3)许可证明确不提供对“贡献者”的商品名称、商标、服务标志等的商标许可,保护“贡献者”的切身利益。
(4)许可证经技术专家和法律专家共同修订,在明确合同双方行为约束的前提下尽可能地精简条款、优化表述,降低产生法律纠纷的风险。
- MulanPSL v2对MulanPSL v1的改进:
(1)增加“语言”条款,声明了“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本任何冲突不一致,以中文版为准。
(2)为适应一些国家对担保免责条款的显著性要求,MulanPSL v2 在英文版中采用大写突显担保免责条款。
(3)为了减少英文表述的产生的歧义问题和语言习惯问题,MulanPSL v2 修订了“软件”(software)和“关联实体”(Affiliates)的定义,以及“授予专利许可”(Grant of Patent License)条款的相关表述。
(正文完)
Reference:
https://skywalking.apache.org/blog/2022-01-28-volcengine-violates-aplv2/
https://pingcap.com/zh/blog/introduction-of-open-source-license
https://sspai.com/prime/story/oss-license-explained
https://36kr.com/p/1381000522169728
https://blog.csdn.net/goodshanzi/article/details/120567319
https://moqod-software.medium.com/understanding-open-source-and-free-software-licensing-c0fa600106c9
https://moqod.com/blog/understanding-open-source-and-free-software-licensing/
https://baijiahao.baidu.com/s=1665536968387234930&wfr=spider&for=pc
https://www.10qianwan.com/articledetail/880663.html
https://blog.csdn.net/vigor2323/article/details/118948537
https://cloud.tencent.com/developer/article/1593556
后台回复【加群】,加入高手如云群,探讨技术。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!