打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
常用开源许可协议科普

一、开源许可协议由来


根据 开源许可协议 在百度百科的定义:

自由软件/开源软件是自由的,免费的,源代码开放的,我们可自由下载安装和使用。同时,为了维护作者和贡献者的合法权利,保证这些软件不被一些商业机构或个人窃取,影响软件的发展,开源社区开发出了各种的开源许可协议。

二、开源许可协议的定义


一个开源许可是一种类型的许可证为计算机软件和其它产品,其允许源代码,蓝图或设计使用,修改和/或在确定的条款和条件共享。允许最终用户和商业公司审查和修改源代码,蓝图或设计,以满足他们自己的定制,好奇心或故障排除需求。开源许可软件大多是免费提供的,但并非必须如此。只允许非商业性的许可证仅为个人使用而重新分发或修改源代码通常不被视为开源许可。但是,开源许可证可能有一些限制,特别是关于软件来源的表达,例如要求保留作者姓名和代码中的版权声明,或者要求重新分发许可软件仅在相同的许可下(如在Copyleft许可中)。一组流行的开源软件许可证是开源计划(OSI)基于其开源定义(OSD)批准的许可证。

三、常用开源许可协议


  • GPL许可协议
  • LGPL许可协议
  • MPL许可协议
  • Apache许可协议
  • BSD许可协议
  • MIT许可协议

1、GPL许可协议


GPL,是GNU General Public License的缩写,是GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。

GPL的出发点是代码的开源、免费使用和引用、修改以及衍生代码的开源和免费使用,但不允许修改后和衍生的代码作为闭源的商业软件发布和销售,因此这个协议并不适合商用软件。

特点:

  • 复制自由

允许把软件复制到任何人的电脑中,并且不限制复制的数量

  • 传播自由

允许软件以各种形式传播

  • 修改自由

允许对软件进行增删改功能,甚至是在其他项目中使用该软件部分代码也是没问题的,唯一要求就是使用了该协议中的部分代码的项目也必须使用GPL协议

  • 盈利自由

可以在传播该软件的时候进行收费,但收费前必须向您的客户提供该软件的GPL许可协议,以便他们知道可以从其他渠道免费获取到该软件以及说明您收费的理由

2、LGPL许可协议


LGPL,是Lesser General Public Licence的缩写,LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

3、MPL许可协议


MPL,是Mozilla Public License的缩写,该协议出现的原因是为了

平衡开发者对源代码的需求和他们利用源代码获得的利益。该协议允许开发者免费重新发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,它要求基于这种软件的修改无偿贡献版权给该软件。

4、Apache许可协议


Apache Licence是著名的非盈利开源组织Apache采用的协议。在为开发人员提供版权及专利许可的同时,允许用户修改代码及再发布为开源软件或者商业软件,程序开发人员在开发遵循该协议的软件时,必须要满足以下的四个条件:

  • 该软件及其衍生品必须继续使用Apache许可协议
  • 若修改了程序源代码,必须在文档中进行声明
  • 若软件是基于别人代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容
  • 若再发布的软件中有声明文件,则需要在文件中标注Apache许可协议以及其他许可协议

5、BSD许可协议


BSD,是Berkeley Software Distribution的缩写,允许使用者修改和重新发布代码,也允许在其基础上开发商业软件进行发布和销售,但必须要满足三个条件:

  • 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议
  • 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来 代码中的BSD协议
  • 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广

6、MIT许可协议


MIT,是Massachusetts Institute of Technology的缩写,该协议是几大开源协议中最宽松的一个,其软件及相关文档对所有人免费,允许使用者修改、复制、合并、发表、授权甚至是销售等,唯一限制就是软件中必须包含上述版权和许可声明。

四、全文总结


相信手机屏幕前的你,在看了上述介绍之后,都对几大开源协议有了基本的了解,上面几大协议按照严格程度排序可分为:

GPL > LGPL > MPL > Apache > BSD > MIT

下面来做个简单的回顾:

一、GPL协议

此协议是应用最为广泛的开源协议,拥有较强的版权自由( copyleft )要求。衍生代码的分发需开源并且也要遵守此协议。此协议有许多变种,不同变种的要求略有不同。

要求:

1.常见的分2.0和3.0版本。2.0如果自用不发布,允许改源码后不开源;3.0如果改了源码,就算自用也必须开源

2.协议和版权信息

3.声明变更

允许:

1.商用

2.私用

3.修改

4.分发

5.专利授权

二、LGPL协议

此协议主要用于一些代码库。衍生代码可以以此协议发布(言下之意你可以用其他协议),但与此协议相关的代码必需遵循此协议。

要求:

1.公开源代码

2.库引用

3.协议和版权信息

允许:

1.商用

2.私用

3.修改

4.分发

5.专利授权

6.附加协议

三、MPL协议

Mozilla Public License(MPL 2.0)是由Mozilla基金创建维护的。此协议旨在较为宽松的BSD协议和更加互惠的GPL协议中寻找一个折衷点。

要求:

1.公开源代码

2.协议和版权信息

允许:

1.商用

2.私用

3.修改

4.分发

5.专利授权

6.附加协议

四、Apache协议

该协议是一个较宽松且简明地指出了专利授权的协议。

要求:

1.协议和版权信息

2.声明变更

允许:

1.商用

2.私用

3.修改

4.分发

5.专利授权

6.附加协议

五、BSD协议

该协议是一个较为宽松的协议,包含两个变种BSD 2-Clause 和BSD 3-Clause,两者都与MIT协议只存在细微差异。

要求:

1.协议和版权信息

允许:

1.商用

2.私用

3.修改

4.分发

5.附加协议

六、MIT协议

该协议是宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形式的使用。

要求:

1.协议和版权信息

允许:

1.商用

2.私用

3.修改

4.分发

5.附加协议

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
开源界的5 大开源许可协议
开源协议是什么?开源不等于免费
一文看懂各种开源许可协议
开源软件许可协议简介
Google:将来还会有人遵守开源许可协议吗
开源许可协议GPL、APL、BSD、LGPL、MIT等的区别
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服