各协议授权详情

先来了解一些下相关用词的解释:

  • 协议和版权信息(License and copyright notice):在代码中保留作者提供的协议和版权信息
  • 声明变更(State Changes):在代码中声明对原来代码的重大修改及变更
  • 公开源码(Disclose Source):代码必需公开。如果是基于LGPL协议 下,则只需使用的开源代码公开,不必将整个软件源码公开
  • 库引用(Library usage):该库可以用于商业软件中
  • 责任承担(Hold Liable):代码的作者承担代码使用后的风险及产生的后果
  • 商标使用(Use Trademark):可以使用作者的姓名,作品的Logo,或商标
  • 附加协议(Sublicensing):允许在软件分发传播过程中附加上原来没有的协议条款等
协议 描述 要求 允许 禁止
Apache 一个较宽松且简明地指出了专利授权的协议。
  • 协议和版权信息
  • 声明变更
  • 商用
  • 分发
  • 修改
  • 专利授权
  • 私用
  • 附加协议
  • 责任承担(禁止让作者承担责任,可以理解为免责)
  • 商标使用
GPL 此协议是应用最为广泛的开源协议,拥有较强的版权自由( copyleft )要求。衍生代码的分发需开源并且也要遵守此协议。 此协议有许多变种,不同变种的要求略有不同。
  • 公开源码
  • 协议和版权信息
  • 声明变更
  • 商用
  • 分发
  • 修改
  • 专利授权
  • 私用
  • 责任承担
  • 附加协议
MIT 宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形式的使用。
  • 协议和版权信息
  • 商用
  • 分发
  • 修改
  • 私用
  • 附加协议
  • 责任承担
Artistic Perl社区尤为钟爱此协议。要求更改后的软件不能影响原软件的使用。
  • 协议和版权信息
  • 声明变更
  • 商用
  • 分发
  • 修改
  • 私用
  • 附加协议
  • 责任承担
  • 商标使用
BSD 较为宽松的协议,包含两个变种BSD 2-Clause 和BSD 3-Clause,两者都与MIT协议只存在细微差异。
  • 协议和版权信息
  • 商用
  • 分发
  • 修改
  • 私用
  • 附加协议
  • 责任承担
Eclipse 对商用非常友好的一种协议,可以用于软件的商业授权。包含对专利的优雅授权,并且也可以对相关代码应用商业协议。
  • 公开源码
  • 协议和版权信息
  • 商用
  • 分发
  • 修改
  • 专利授权
  • 私用
  • 附加协议
  • 责任承担
LGPL 主要用于一些代码库。衍生代码可以以此协议发布(言下之意你可以用其他协议),但与此协议相关的代码必需遵循此协议。
  • 公开源码
  • 库引用
  • 协议和版权信息
  • 商用
  • 分发
  • 修改
  • 专利授权
  • 私用
  • 附加协议
  • 责任承担
Mozilla Mozilla Public License(MPL 2.0)是由Mozilla基金创建维护的。此协议旨在较为宽松的BSD协议和更加互惠的GPL协议中寻找一个折衷点。
  • 公开源码
  • 协议和版权信息
  • 商用
  • 分发
  • 修改
  • 专利授权
  • 私用
  • 附加协议
  • 责任承担
  • 商标使用
No license 你保留所有权利,不允许他人分发,复制或者创造衍生物。当你将代码发表在一些网站上时需要遵守该网站的协议, 此协议可能包含了一些对你劳动成果的授权许可。比如你将代码发布到GitHub,那么你就必需同意别人可以查看和Fork你的代码。
  • 协议和版权信息
  • 商用
  • 私用
  • 分发
  • 修改
  • 附加协议
Public domain dedication 在许多国家,默认版权归作者自动拥有,所以Unlicense协议提供了一种通用的模板,此协议表明你放弃版权, 将劳动成果无私贡献出来。你将丧失对作品的全部权利,包括在MIT/X11中定义的无担保权利。
  • N/A
  • 商用
  • 分发
  • 修改
  • 私用
  • 责任承担

协议图解

如下的如表更容易清晰的讲解常用协议区别:

常用协议

下面还有个恶搞版本的协议说明:

恶搞版

协议选择

代码

进行开源,别人可以用来做任何想要做的事,可以修改之后进行闭源,但是需要保持版本说明。

我选择的是:MIT

文章

署名、非商业使用、进制演绎,

选择的是:创意共享3.0

参考资料