关于开源许可证的介绍
转载自http://git.oschina.net/oschina/git-osc/wikis/License
License
页面历史
开源许可证的一些介绍
Apache v2 License
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
需要给代码的用户一份Apache Licence
如果你修改了代码,需要再被修改的文件中说明。
在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
MIT License
MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称「X条款」(X License)或「X11条款」(X11 License)
MIT内容与三条款BSD许可证(3-clause BSD license)内容颇为近似,但是赋予软体被授权人更大的权利与更少的限制。
被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软体及软体的副本。
被授权人可根据程式的需要修改授权条款为适当的内容。
在软件和软件的所有副本中都必须包含版权声明和许可声明。
此授权条款并非属copyleft的自由软体授权条款,允许在自由/开放源码软体或非自由软体(proprietary software)所使用。
此亦为MIT与BSD(The BSD license, 3-clause BSD license)本质上不同处。
MIT条款可与其他授权条款并存。另外,MIT条款也是自由软体基金会(FSF)所认可的自由软体授权条款,与GPL相容。
GPL v2
我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。
Artistic License 2.0
Artistic License,又称艺术许可协议(英语:Artistic License),通常指最初的艺术许可协议(1.0版),是一个自由软件授权条款,主要用在官方发布的Perl解释器和大部分CPAN模块的授权。原始的艺术许可协议是由Perl的创始人Larry Wall编写发布的。
BSD 2-Clause license
BSD允许使用者修改和重新发布代码(以其他协议形式),允许闭源商业发布和销售。
BSD鼓励代码共享的同时,要求尊重代码作者的著作权。
使用BSD协议,需要遵守以下规则:
- 再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;
- 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档那个和版权声明中包含原来代码中的BSD协议。
Affero GPL
是一个广泛被使用的自由软件特许条款,最初由Affero, Inc撰写。此特许条款最新版本为“第3版”(v3),2007年11月发布。Affero 通用公众特许条款是改自GNU通用公众特许条款,并加入额外条款,其目的是为了Copyleft条款应用于在网络上运行的应用程式(如Web应用),从而避免有人以应用服务提供商方式逃避GNU通用公众特许条款。
LGPL v2.1
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品
BSD (3-Clause) License
BSD允许使用者修改和重新发布代码(以其他协议形式),允许闭源商业发布和销售。
BSD鼓励代码共享的同时,要求尊重代码作者的著作权。
使用BSD协议,需要遵守以下规则:
- 再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;
- 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档那个和版权声明中包含原来代码中的BSD协议;
- 不可以用开源代码的“作者/机构的名字”或“原来产品的名字”做市场推广。
Eclipse Public License v1.0
EPL允许使用者任意使用、复制、分发、传播、展示、修改以及改后闭源的二次商业发布。
使用EPL协议,需要遵守以下规则:
- 当一个代码贡献者将源码的整体或部分再次开源发布的时候,必须继续遵循EPL开源协议来发布,而不能改用其他协议发布.除非你得到了原“源码”拥有者的授权;
- EPL协议下,你可以将源码不做任何修改来商业发布.但如果你要发布修改后的源码,或者当你再发布的是二进制文件的时候,你必须声明它的源代码是可以获取的,而且要告知获取方法;
- 当你需要将EPL下的源码作为一部分跟其他私有的源码混和着成为一个Project发布的时候,你可以将整个Project/Product以私人的协议发布,但要声明哪一部分代码是EPL下的,而且声明那部分代码继续遵循EPL;
- 独立的模块(Separate Module),不需要开源。
LGPL v3
相对于LGPL v2,不仅要求用户公布修改的源代码,还要求公布相关硬件。
Mozilla Public License Version 2.0
MPL是The Mozilla Public License的简写,是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对 源代码的需求和他们利用源代码获得的利益。同著名的GPL许可证和BSD许可证相比,MPL在许多权利与义务的约定方面与它们相同(因为都是符合OSIA 认定的开源软件许可证)。但是,相比而言MPL还有以下几个显著的不同之处:
- MPL虽然要求对于经MPL许可证发布的源代码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享源代码。但是,在MPL 许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个 豁口。
- MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的源代码同自己其他类型的代码混合得到自己的软件程序。
- 对软件专利的态度,MPL许可证不像GPL许可证那样明确表示反对软件专利,但是却明确要求源代码的提供者不能提供已经受专利保护的源代码(除非他本人是 专利权人,并书面向公众免费许可这些源代码),也不能在将这些源代码以开放源代码许可证形式许可后再去申请与这些源代码有关的专利。
- 对源代码的定义 而在MPL(1.1版本)许可证中,对源代码的定义是:“源代码指的是对作品进行修改最优先择 取的形式,它包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的‘原本’(原文为‘Script’),或者不是与初始 源代码显著不同的源代码就是被源代码贡献者选择的从公共领域可以得到的程序代码。”
- MPL许可证第3条有专门的一款是关于对源代码修改进行描述的规定,就是要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。
GPL v3
GPL v3与GPL v2类似。区别在于,不仅要求用户公布修改的源代码,还要求公布相关硬件。
关于开源许可证的介绍相关推荐
- 开源软件介绍——开源基金会和开源许可证
我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来看一看世界范围内知名的开源基金会和开源许可证. 开源基金会 基金会是开源生态中的一个重要组成部分,用于资金的筹集与开源项目的前期资助与后期的发 ...
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BSD.MIT.Mozilla.Apache和L ...
- 如何选择开源许可证如何修改项目使其符合某种开源许可证
作者:zyl910 很多文章介绍了详细的解说了各种开源许可证及它们的区别.但是,具体该选择哪一种许可证?如何修改项目使其符合某种开源许可证?就很少见到指导了.于是本文探讨这两个问题. 一.如何选择开源 ...
- 开源组件是什么意思_一文读懂常用开源许可证
社区时常为流行产品中有争议的开源许可证而感到震惊,这引起各方关注,纷纷争论何为真正的开源许可证.去年,Apache 基金会(Apache Foundation)禁止使用 Facebook React ...
- 一文读懂常用开源许可证
社区时常为流行产品中有争议的开源许可证而感到震惊,这引起各方关注,纷纷争论何为真正的开源许可证.去年,Apache 基金会(Apache Foundation)禁止使用 Facebook React ...
- 为了不让代码“作恶”,能否将道德条款纳入开源许可证?
随着特朗普政府反移民政策的执行,成千上万的移民儿童与父母分离,美国移民和海关执法局(ICE)也因此成为众矢之的. 所以,当开源开发者 Seth Vargo 发现前东家 -- Chef 公司最近与 IC ...
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别【转载】
首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 以下是上述协议的简单介绍: BSD开源协议 BSD开源协议是一个给 ...
- 可以将道德条款纳入开源许可证吗?
开源开发者 Seth Vargo 发现 Chef 公司最近与 ICE(美国移民和海关执法局) 签订了合同后,进行删库抗议,从 Chef DevOps 中撤回了他的开源项目 Chef Sugar.后来 ...
- 开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
2019独角兽企业重金招聘Python工程师标准>>> 首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL ...
最新文章
- 通过堡垒机rdp 黑屏_[调优]彻底解决RDP连接过程缓慢的问题
- STM32CubeMX系列教程 5.0版本环境开发——1.工程搭建
- 条件信息熵的决策表约简
- 官方揭晓iQOO 9正反面宣传照:挖孔直屏+巨型三摄相机模组
- 灰色滤镜,网页灰色代码
- 多线程依次打印abcabc
- .net连接SqlServer数据库
- 英超俱乐部面临网络威胁,球队一起训练防御网络攻击
- VUE引入JsBarcode组件异常记录
- 【麒麟操作系统软件商店老是闪退?--麒麟系统软件商店卸载与重装(小白教程)】
- 崔宝秋国际开源经验在小米开花 | 开源英雄
- linux kde vga参数1366,Archlinux+KDE 下双屏VGA高分辨率设置
- 炒菜机器人的弊端_家用炒菜机器人好用吗?都说买了全自动炒菜机后悔了。。...
- matlab化石墨烯,基于MATLAB的石墨烯场效应晶体管电学特性研究
- Windows server 2012 服务器挂载NAS盘
- 第5章 8051单片机工作原理
- 若依配置教程(九)若依前后端分离版部署到服务器Nginx(Windows版)
- SWIFT?CHIPS?CHAPS?CIPS?SPFS?INSTEX?全球支付结算系统简单对比
- CDeC-Net代码实现
- 我们时光倒流能倒流吗
热门文章
- Android修改默认打开WLAN随时都可扫描
- m118w重置墨粉_打印机M118W墨粉盒如何清零
- [财务][数据化分析][帆软]报表设计-聚合报表设计
- 人体姿态骨架估计算法研究
- matlab比例环节代码,典型环节的MATLAB仿真
- 区块链 - 若只如初见
- input只能输入英文
- 计算机科学和python编程导论答案_2020年计算机科学与Python编程导论答案(智慧树)...
- 优秀项目经理的六个习惯
- 高效能人士的习惯.提炼一种高效能思维