现在的开源软件是越来越多了,面对各种各样的开源协议,又了解多少呢?

工欲善其事必先利其器,搞清楚协议才好拿来使用。

对于各个开源协议的定义就不展开了,反正飞尘是没有仔细去研究。擒贼先擒王,抓住重点才是,下面就是常见的开源许可证之间的异同简单对比了,供参考。

相同点

1、承认版权;

2、发布的义务——将获得的源代码再发布;

3、对发布的源代码的要求——须保证源代码的完整和可以被获得;

4、允许修改——可以根据获得的源代码产生演绎作品;

5、没有担保

不同点

是否允许同其他非开放源代码软件代码混合

是否可以不公开对源代码的修改

是否明确了专利许可授权

是否明确了专利侵权诉讼导致许可证协议终止

是否明 确禁止与函数库连接

是否只能按本许可证发布源代码

GPL 许可证

LGPL 许可证

BSD 许可证

NPL 许可证

?

MPL 许可证

QPL 许可证

QNCL 许可证

APACHE 许可证

SISSL 许可证

Jabber 许可证

IBM 许可证

CPL许可证

 

说明:

 “#”指对于原始获得的源代码及修改的源代码,必须按本许可证及本许可证的后续版本发布,但是可以将源代码及修改过的源代码与其他类型的不受本许可证约束的代码结合,以新产品的形式发布。

  “不担保”(即No Warranty)条款: 由于源代码程序准予免费使用,在一般情况下,对程序没有担保。除非另有书面说明,版权所有者或其他提供程序的人们“一样”不提供任何类型的担保。如果程序出现缺陷,被许可人承担所有必要的服务,修复和改正的费用。