常见的各开源协议及其授权解释一览

文章目录[隐藏]

先来了解一些下方表格中出现的用词的解释:

  • 协议和版权信息(License and copyright notice):在代码中保留作者提供的协议和版权信息
  • 声明变更(State Changes):在代码中声明对原来代码的重大修改及变更
  • 公开源码(Disclose Source):代码必需公开。如果是基于LGPL协议 下,则只需使用的开源代码公开,不必将整个软件源码公开
  • 库引用(Library usage):该库可以用于商业软件中
  • 责任承担(Hold Liable):代码的作者承担代码使用后的风险及产生的后果
  • 商标使用(Use Trademark):可以使用作者的姓名,作品的Logo,或商标
  • 附加协议(Sublicensing):允许在软件分发传播过程中附加上原来没有的协议条款等
协议 描述 要求 允许 禁止
Apache 一个较宽松且简明地指出了专利授权的协议。
  1. 协议和版权信息
  2. 声明变更
商用

分发

修改

专利授权

私用

附加协议

责任承担(禁止让作者承担责任,可以理解为免责

商标使用

GPL 此协议是应用最为广泛的开源协议,拥有较强的版权自由( copyleft )要求。衍生代码的分发需开源并且也要遵守此协议。此协议有许多变种,不同变种的要求略有不同。
  • 公开源码
  • 协议和版权信息
  • 声明变更
  • 商用
  • 分发
  • 修改
  • 专利授权
  • 私用
  • 责任承担
  • 附加协议
MIT 宽松简单且精要的一个协议。在适当标明来源及免责的情况下,它允许你对代码进行任何形式的使用。
  • 协议和版权信息
  • 商用
  • 分发
  • 修改
  • 私用
  • 附加协议
  • 责任承担
Artistic Perl社区尤为钟爱此协议。要求更改后的软件不能影响原软件的使用。
  • 协议和版权信息
  • 声明变更
  • 商用
  • 分发
  • 修改
  • 私用
  • 附加协议
  • 责任承担
  • 商标使用
BSD 较为宽松的协议,包含两个变种BSD 2-ClauseBSD 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
  • 商用
  • 分发
  • 修改
  • 私用
  • 责任承担

非代码类作品的协议

上面各协议只是针对软件或代码作品,如果你的作品不是代码,比如视频,音乐,图片,文章等,共享于公众之前,也最好声明一下协议以保证自己的权益不被侵犯。针对非代码的数字作品的协议,最通用的莫过于Creative Commons(也是你经常在别人博客下面可以看到的CC协议)协议。

无协议

你没有义务也没人非要你必需在自己的代码作品里面加上一个开源协议。但如果你想把代码分享出来,最好还是选择一个适合的开源协议,这样别人用着放心你也放心。

相关推荐:
在Window10中引入了一种叫备份我的配置功能,在同步功能页面的最底下,这个功能是做啥用的呢? 简单地说就是将你的当前环境下的配置打个包存储在微软提供的某块空间里,等你下次重装系统或在新电脑上装系统 …
搜狗输入法智慧版是基于搜索引擎技术的新一代拼音输入法。由搜狗公司推出,具有手写输入、云计算、智能标点等出色功能,在文字输入速度、词库的广度、词语的准确度上表现突出。 该款输入法在输入方面主要采 …
CMD运行指令 开始→运行→CMD→键入以下命令即可: gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 logoff---------注销命令 tsshutdn-------60秒 …
TablePlus是一款现代化和友好的数据库GUI工具,适用于MySQL、PostgreSQL、SQLite等的管理。 查询,编辑和管理您的数据库容易与本机应用程序,可以运行速度快,像兰博基尼。只需要半秒钟就能站起来跑步。 通 …
webview组件的接口函数searchBoxJavaBridge_存在远程代码执行漏洞,远程攻击者利用此漏洞能实现本地java和js的交互,可以对Android移动终端进行网页挂马从而控制受影响设备。 调用removeJavascriptInterfac …
拿起手机扫一扫即可带走我!