我爱编程程序员的自我修养

各种开源协议

2018-04-08  本文已影响48人  siriusing

前阵子做题碰到这个梗,也就查证一番。
大致的分法如下图:

image.png

[TOC]

GPL 许可证( GNU General Public License)

GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。

LGPL许可证(GNU Lesser General Public Licens)

MPL (Mozilla Public License 1.1)

这种授权维护了商业软件的利益,它要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改,无偿使用的。MPL软件对链接没有要求。

BSD 许可证

BSD开源协议是一个:

要求:

  BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

MIT 许可证(Massachusetts Institute of Technology)

  MIT与BSD类似,但是比BSD协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。使用MIT的软件项目有:jquery、Node.js。

Apache 2.0 许可证

Apache Licence是著名的非盈利开源组织Apache采用的协议。

条件:

使用这个协议的好处是:

参考: 几种常见的开源协议介绍

上一篇 下一篇

猜你喜欢

热点阅读