十分钟理清常见的开源协议

作者: 技术特工队 | 来源:发表于2017-09-19 00:53 被阅读84次

作者: 技术特工队
微信 : http://mp.weixin.qq.com/s/TymsrBxEvY-kY9ikLvSRvA
公众号: 技术特工队

从上次和大家聊了下 00后CEO的那些趣事,谈到了开源协议相关的内容,那么本篇文章,就主要介绍下大家在工作生活中常用到的开原协议。常见的协议如下:ApacheLicense 2.0 、GPLv3 、LGPL、、MIT License、BSD 和 Mozilla 2.0 。那么我们下面就分别介绍下这些协议的说明、允许项及禁止项。

Apache License 2.0

这是一个著名的非盈利开源组织Apache采用的协议,它励代码共享和尊重原作者的著作权,同时也允许代码修改,再发布(作为开源或商业软件)。

  • 要求
  1. 在代码中保留作者提供的协议和版权信息
  2. 如果修改了代码,则必须在被修改的文件中进行说明。
  • 允许的权利
    商用、分发、修改、专利授权、私用
    、附加协议

  • 禁止项

  1. 禁止因使用等造成影响责任承担、也就是说免责申明
  2. 不能使用相应的商标。

提示:商业软件可以使用,也可以修改使用Apache协议的代码。

GPLv3

此协议是应用最为广泛的开源协议,拥有较强的版权自由要求,也赋予和保证了开源项目开发者广泛的权利。基本上,它允许用户合法复制,分发和修改软件,但衍生代码的分发需开源并且也要遵守此协议。此协议有许多变种,不同变种的要求略有不同。

  • 要求
  1. 修改后的源码也需要公开
  2. 版权及协议也要于此协议一致
  3. 修改后,需要在相应的文件做说明,
  • 允许
    商用,分发,修改,专利授权,私用

  • 禁止

  1. 禁止因使用等造成影响责任承担、也就是说免责申明
  2. 静止在软件分发传播过程中附加上原来没有的协议条款等

提示:商业软件不能使用GPL协议的代码。

LGPL

其主要用于一些代码库,LGPL比起GPL它授予的权限较少,LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。因此使用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。注意是以类库的形式使用,也就是说如果修改了源代码的话则也必须使用LGPL协议贡献源码出来。

  • 要求
  1. 公开使用了LGPL部分的代码,其余部分不需要公开。
  2. 可以库引用的方式用于商业软件。
  3. 在代码中保留作者提供的协议和版权信息
  • 允许
    商用、分发、修改、专利授权、私用、附加协议

  • 禁止
    禁止承担责任,(免责申明)、

提示:商业软件可以使用,但不能修改LGPL协议的代码。

GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

MIT

宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形式的使用,也就是原作者只想保留版权,而无任何其他了限制,而你必须在发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。

  • 要求
    在代码中保留作者提供的协议和版权信息

  • 允许
    商用、分发、修改、私用、附加协议

  • 禁止
    禁止承担责任,(免责申明)

提示:商业软件可以使用,也可以修改MIT协议的代码,甚至可以出售MIT协议的代码。

BSD

BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。与MIT协议只存在细微差异。差别为MIT可以使用原名称进行宣传,而BSD不可以。

  • 要求
    在代码中保留作者提供的协议和版权信息

  • 允许
    商用、分发、修改、私用、附加协议

  • 禁止
    禁止承担责任,(免责申明)

提示:商业软件可以使用,也可以修改使用BSD协议的代码。

Mozilla 2.0

是由Mozilla基金创建维护的。此协议旨在较为宽松的BSD协议和更加互惠的GPL协议中寻找一个折衷点,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,它要求基于这种软件得修改无偿贡献版权给该软件。

  • 要求
  1. 公开源代码
  2. 在代码中保留作者提供的协议和版权信息
  • 允许
    商用、分发、修改、专利授权、私用、附加协议

  • 禁止

  1. 禁止承担责任,(免责申明)
  2. 禁止使用商标

提示:商业软件可以使用,也可以修改MPL协议的代码,但修改后的代码版权归软件的发起者。

总结

以上就是我们常见的开源协议的一些区别,后面三种协议的区别较小,需要特别注意。如果觉得上面不好记,那么久收藏本文吧,在需要的时候进行查看复习,或者提供下面网址供大家进行查看。

http://choosealicense.online/appendix/

相关文章

  • 十分钟理清常见的开源协议

    作者: 技术特工队微信 : http://mp.weixin.qq.com/s/TymsrBxEvY-kY9ik...

  • 常见的开源协议

    刚接触到开源项目时大家都会看到各种软件开源协议,但由于开源协议的数量很多,我们很少对它们有深入的了解。下面这张图就...

  • 常见的开源协议

    Apache License 由Apache软件基金会发布的自由软件许可证,最初为Apache http服务器而撰...

  • 谈谈开源协议

    目录 引言 常见的五种开源协议BSDAPLMITGPLLGPL iOS常用第三方库的开源协议 Android常用第...

  • 常见开源协议介绍

    一、常用开源协议汇总图 首先从一张图开始,介绍几种主流的开源协议,以及决定选用哪种框架的思路。使用哪种开源协议,决...

  • 常见开源协议图解

    经常关注开源社区的朋友们一定知道,很多开源项目采用了不同的来源协议,一般人看了也很是懵圈,下面这张图让大家可以清晰...

  • 常见开源协议详解

    自12年到北京做程序员,貌似从未关心过项目中使用的“轮子”涉及到了哪些开源协议。版权保护方面,虽然相关法规尚有待完...

  • 最常见的开源协议

    对最常见的开源协议做下总结分享 Mozilla Public License MPLLicense,允许免费重发布...

  • 常见开源协议随谈

    今天被红芯浏览器刷屏了,明明是站在巨人的肩膀上,非得说是自主创新。也是,现在国产的项目,如果不用到开源软件,估计很...

  • 经典面试题32 - 主流开源协议的异同

    问题 开源项目的开源协议对开发者和使用者都提供保护,常见的Apache License, GPL,MPL.等开源协...

网友评论

    本文标题:十分钟理清常见的开源协议

    本文链接:https://www.haomeiwen.com/subject/bluzjxtx.html