尽管我在开发中经常使用开源代码,但是我对开源协议确实不是很了解,于是我整理了一下资料,记录一下。
文章图片
LGPL(GNU Lesser General Public License):是由自由软件基金会公布的自由软件许可证。LGPL 协议主要是面向使用C语言以及类C语言。它允许企业与软件开发者使用,或将LGPL授权的软件集成至他们自己的软件内(即使该软件是私有软件也被允许),同时不会受到Copyleft特性的许可证强制对软件开源的限制。
GPL(GNU General Public License):是由自由软件基金会公布的自由软件许可证。GPL是一个Copyleft许可证,这意味着派生作品只能以相同的许可条款分发,这也意味着商业软件不能使用GPL协议的代码。这与宽松自由软件许可证有所区别 ,GPL是第一个普遍使用的Copyleft许可证。GPL授予程序接受人以下权利,或称“自由”,或称“copyleft”:
- 基于任何目的,按你的意愿运行软件的自由(自由之零)。
- 学习软件如何工作的自由,按你的意愿修改软件以符合你的计算的自由(自由之一)。可访问源代码是此项自由的先决条件。
- 分发软件副本的自由,因此你可以帮助你的好友(自由之二)。
- 将你修改过的软件版本再分发给其他人的自由(自由之三)。这样可以让整个社区有机会共享你对软件的改动。可访问源代码是此项自由的先决条件。
MIT:名字源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称“X许可协议”(X License)或“X11许可协议”(X11 License)。MIT协议声明原文如下:被许可人有权利使用、复制、修改、合并、出版发行、散布、再许可和/或贩售软件及软件的副本,及授予被供应人同等权利,惟服从以下义务。在软件和软件的所有副本中都必须包含以上著作权声明和本许可声明。因此商业软件可以使用,也可以修改MIT协议的代码,甚至可以出售MIT协议的代码。
Apache:是由Apache软件基金会发布的,Apache许可证是宽容的,因为它不会强制派生和修改产物使用相同的许可证进行发布。但它仍然要求对所有未修改的部分应用相同的许可证,并且在每个许可文件中,必须保留再分发代码中的任何原始著作权,专利,商标和归属通知(不需要包括任何部分的派生作品); 并且在每个更改的许可文件中,都必须添加一条通知,说明对该文件进行了更改。如果声明文本文件作为原始作品发布的一部分包含在内,则派生作品必须在包含该通知文本文件的可读副本,可以是文档或显示在软件中。声明文件的内容不会修改许可证,因为它们仅用于提供信息,并且可以在许可证文本中添加更多属性声明,前提是这些声明不能被理解为修改许可证。修改可能有适当的著作权声明,并可能为修改提供不同的许可条款。除非另有明确规定,否则许可证持有者向授权者提交的任何文稿将根据许可证的条款进行,没有任何条款和条件,但这并不排除与授权者有关的这些贡献有单独的协议。主要协议有Apache-2.0
MPL(Mozilla Public License): 商业软件可以使用,也可以修改MPL协议的代码,但修改后的代码版权归软件的发起者。主要协议有Mozilla Public License 1.1
CDDL (Common Development and Distribution License ):商业软件可以使用,也可以修改CDDL协议的代码
【杂|各类开源协议】如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间