开源软件许可证 严格性比较
宽松:MIT > BSD > Apache > LGPL > GPL > AGPL
1、MIT:MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT)
只有一点限制:所有应用必须包含版权声明和许可声明(自己修改后的声明)
2、BSD
可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
强调重代码作者的著作权
只有两点限制:1、只需要把原来的BSD协议(不可以改)包含进来 2、不可以用开源代码的作者/机构名字和原来产品的名字做市场推广
任意控制,商用首选
3、Apache
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)
需要给代码的用户一份Apache Licence 如果你修改了代码,需要在被修改的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
4、LGPL:宽松公共许可证(Lesser General Public License)或库通用公共许可证(Library General Public License)
始终开放源代码
GPL宽松版:如果您的程序对遵循 LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。
5、GPL:通用性公开许可证(General Public License,简称GPL)
规定:始终开放源代码,使用GPL协议程序的程序必须遵循GPL协议,即A包含或调用B,如果B为GPL协议,则A发布时也必须为GPL协议(强调A发布)
适用:GPL是针对传统的软件分发模式的商业模式(以微软为代表)
缺点:互联网公司(网络服务)则不受到影响(因为不发布软件就不用受到GPL限制,所以AGPL来了)
6、AGPL:Affero 通用公共许可协议
始终开放源代码,向社区提交修改
GPL加强版:最典型的例子就是一个Web应用程序如果使用了AGPL许可证,那么运行这个Web应用程序或其派生作品供他人访问时就需要以AGPL发布其源代码,除非购买商业许可。