千夜同学 看脚下一片黑暗 望头顶星光璀璨

关于开源协议

| 开源

现在开源社区常用的开源协议有 MIT License、GPL、Apache License。 具体的区分可见下图。

开源协议.png

GPL 下,软件修改后的衍生软件仍然需要适用 GPL,这意味着 GPL 具有传染性。如果整个软件中有一段代码适用了 GPL,那么整个软件也都必须适用 GPL,从而需要开放所有的源代码,这不是十分商业友好。如果一个软件链接到 GPL 下的库,由于在法律意义上该软件加上其链接的库都属于衍生软件,因此根据 GPL 的规定,衍生软件需要开源。

LGPL 是 lesser GPL 的简称,也就是限制更少的 GPL 的意思。在 LGPL 下发布一个库时,链接到该库的软件可以不使用 LGPL 或 GPL,即可以不公开源代码。LGPL 的这一特性消除了在 GPL 下软件商用的障碍。但需要注意的是,使用该库的软件不需要开源,但是基于该库的修改而得到的软件仍然需要遵循 GPL 进行开源,因为 LGPL 是一个弱著佐权性质的许可证。

MPL 即 Mozilla Public License,谋智公共许可证。MPL 与 NPL(Netscape Public License)都是网景公司决定将其网景导航者浏览器开源的结果,只是在 NPL 下,网景公司保留了一些权力。MPL 非常类似于标准的公司合同,并且成为众多开源软件许可证的基础。MPL 与 LGPL 类似,是一种介于 GPL 许可证与宽松许可证之间的弱著佐权许可证,二者的差异主要在于 LGPL 针对库,而 MPL 针对单个文件。在 MPL 下,在发行修改后的软件时,需要公开修改后的软件的源代码。在自己独立开发的文件与其他文件混合为一个项目的情况下,独立开发的文件可以不公开源代码。MPL 下的文件可以与闭源文件结合使用,结合后,MPL 下的文件将继续保持其 MPL 状态。

BSDL 即 Berkeley Software Distribution License,伯克利软件发行许可证,是加州大学伯克利分校撰写的许可证。在 BSD 许可证下,保留著作权声明、许可证内容以及记载无瑕疵担保责任即可,只要满足该条件,就可以不公开源代码地发行将 BSD 下的软件进行修改而生成的衍生软件。

MIT License 即麻省理工学院许可证,其类似于 BSD 许可证,二者之间的差异极其细微。

Apache License 即阿帕奇许可证,由阿帕奇软件基金会发布。除了在阿帕奇社区内被广泛使用外,许多基金会外的项目也使用了阿帕奇许可证。1.1 版的阿帕奇许可证类似于 BSD 许可证和 MIT 许可证。2004 年发布的 2.0 版阿帕奇许可证则加入了两项专利条款。

非开源许可证与其他许可证不兼容。

GPL 许可证与绝大多数许可证不兼容。

宽松许可证是互相兼容的。

http://doc.yonyoucloud.com/doc/producingoss/dual-licensing.html

https://github.com/elastic/elasticsearch/blob/master/LICENSE.txt