常见的开源协议

GPL (GNU General Public License)

关键字 linux,传染性

只要你用了任何该协议的库、甚至是一段代码,那么你的整个程序,不管以何种方式链接,都必须全部使用GPL协议、并遵循该协议开源。商业软件公司一般禁用GPL代码,但可以使用GPL的可执行文件和应用程序。

GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。

LGPL 是GPL针对动态链接库放松要求了的版本。允许使用动态链接库的软件,不使用LGPL协议。

AGPL是GPL的严格版,所有使用的AGPL的软件,甚至应该也必须开源。

商业软件公司可以使用GPL的执行文件和应用程序,允许链接LGPL的动态链接库。

Apache,MIT,BSD

关键字 对商业友好,允许修改,保持原有的版权声明

区别:Apache协议对源码修改需要注明修改的部分。
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制。

MPL

关键字 修改后代码版权属于原始的作者

允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者
这种授权维护了商业软件的利益,它要求基于这种软件的修改无偿贡献

参考:
http://os.51cto.com/art/201409/450453.htm
http://blog.youkuaiyun.com/nightmare/article/details/12405109

1. GPL(GNU通用公共许可证) GPL是一种最具代表性的开源软件协议,其核心是“强制共享”。即:如果使用GPL授权的开源软件,那么在修改和分发时,必须遵守GPL的规定,将其修改后的代码同样以GPL协议发布,使得代码的开放性和共享性得以保持。 2. Apache许可证 Apache许可证是一种面向商业应用的开源软件协议,其核心是“宽松授权”。即:使用Apache许可证授权的开源软件,可以自由修改、分发、销售,无需公开源代码,只要在软件产品中包含了Apache许可证就可以。 3. BSD许可证 BSD许可证是一种面向自由软件开源软件协议,其核心是“自由授权”。即:使用BSD许可证授权的开源软件,可以自由修改、分发、销售,甚至可以将其代码作为商业软件的一部分,只要在软件产品中包含了BSD许可证就可以。 4. MIT许可证 MIT许可证是一种最为宽松的开源软件协议,其核心是“无限制授权”。即:使用MIT许可证授权的开源软件,可以自由修改、分发、销售,甚至可以将其代码作为商业软件的一部分,无需公开源代码,只需在软件产品中包含了MIT许可证就可以。 5. LGPL(GNU Lesser General Public License) LGPL是一种针对开放源码开源软件协议,其核心是“保持开放性”。即:使用LGPL授权的开源软件,如果仅仅是使用开源软件,不需要遵守LGPL的规定;但如果对其进行修改和发布,则必须开放源代码,以保持开放性,但是可以将其代码作为商业软件的一部分。 总结:不同的开源软件协议适用于不同的场景和需求,需要根据具体情况进行选择和判断。如果您希望使用开源软件,可以根据您的实际需求选择适合您的开源软件协议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值