GPL 与 LGPL 开源许可协议的主要区别
GPL 与 LGPL 开源许可协议的主要区别GPL/LGPL 都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。
GPL
GPL 是 General Public License 的缩写,是 GNU 通用公共许可协议。并非由自由软件基金会所发表,亦非使用 GNU 通用公共授权的软件的法定发布条款;只有 GNU 通用公共授权英文原文版本才具有此等效力。
GPL 由理查德·斯托曼 (Richard Stallman) 撰写,用于 GNU 计划。它以 GNU Emacs、GDB、GCC 许可协议的早期版本为蓝本。这些许可协议都包含有一些 GPL 的版权思想,但仅只针对特定程序。理查德·斯托曼 (Richard Stallman) 的目标就是创造出一种四海之内皆可使用的许可协议,这样就能为许多源代码共享计划带来福音。GPL V1.0 就这样,在 1989 年 1 月诞生。
到 1990 年时,因为一些共享库而出现了相比 GPL 更宽松的许可协议需求。所以当 GPL V2.0 在 1991 年 6 月发布时,另一许可协议 —— 库通用许可协议(Library General Public License,简称LGPL)也随之发布,并记作 “V2.0” 以表示对 GPL 的补充。版本号在 LGPL 版本 2.1 发布时不再相同,而 LGPL 也被重命名为 GNU 宽通用公共许可协议(Lesser General Public License)以体现 GNU 哲学观。
10 倍以上效率提升 极速智能编辑 重构 "数字化 Python IDE" 开发工具http://idepy.digitser.cn/http://forum.digitser.cn/thread-2266-1-1.html
百度网盘
https://pan.baidu.com/s/1cKxajG
软件仓库
https://github.com/digitser
https://digitser.sourceforge.io/https://pan.baidu.com/s/1TV70__Be1ta0ney1-tudFQ
我们很熟悉的 Linux 就采用 GPL。GPL 协议和 BSD、Apache Licence、等鼓励代码重用的许可很不一样。GPL 的出发点是代码的 “开源/免费” 使用和 “引用/修改/衍生” 代码的 “开源/免费” 使用,但不允许修改后和衍生的代码作为闭源的商业软件发布和销售。这也就是为什么我们能使用各种免费 Linux,包括商业公司的 Linux 和 Linux 上各种各样的由个人、组织、以及商业软件公司开发的免费软件了。
GPL 协议的主要内容是只要在一个软件中使用 (“使用” 指类库引用,修改后的代码或者衍生代码) GPL 协议的软件产品,则该软件产品也必须采用 GPL 协议,既必须是开源、免费的。这就是所谓的 ”传染性”。GPL 协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。
由于 GPL 严格要求使用了 GPL 类库的软件产品必须使用 GPL 协议,对于使用 GPL 协议的开源代码、商业软件或对代码有保密要求的部门就不适合 集成/采用 作为类库和二次开发的基础。
其它细节,如再发布的时候需要伴随发布 GPL 协议等和 BSD/Apache 等类似。 LPGL
LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可) 的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可),后改称 Lesser GPL,即更宽松 GPL,在宽松程度上与 BSD、Apache、XFree86 许可相似。
大多数软件许可决意剥夺您共享和修改软件的自由。相反,GNU 通用公共许可力图保证您共享和修改自由软体的自由 —— 保证自由软体对所有使用者都是自由的。
GPL (General Public License) 和 LGPL 是 GNU 的 2 种 License。越来越多的自由软件 (Free Software) 使用 GPL 作为其授权声明,如果对 GPL 一点都不了解,有可能在使用自由软件时违反 GPL 的授权,恐怕会有被起诉的风险。所以任何公司在使用自由软件之前应该保证在 LGPL 或其它 GPL 变种的授权下。
Log4cpp 最初版本使用 GPL 作为授权声明,在 0.2.1 版后改用更宽松 LGPL。当一个自由软件使用 GPL 声明时,该软件的使用者有权重新发布、修改该软件,并得到该软件的源代码;但只要使用者在其程序中使用了该自由软件,或者是使用修改后的软件,那么使用者的程序也必须公布其源代码,同时允许别人发布、修改。也就是说,使用 GPL 声明的自由软件开发出来的新软件也一定是自由软件。
LGPL 是 GPL 的变种,也是 GNU 为得到更多甚至是商用软件开发商的支持而提出的。与 GPL 的最大不同是,可以私有使用 LGPL 授权的自由软件,开发出来的新软件可以是私有的,而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在 LGPL 或其它 GPL 变种的授权下。
LGPL 是 GPL 的一个主要为类库使用设计的开源协议。和 GPL 要求任何使用/修改/衍生之 GPL 类库的的软件必须采用 GPL 协议不同。LGPL 允许商业软件通过类库引用 (link) 方式使用 LGPL 类库而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售。
但是若修改 LGPL 协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用 LGPL 协议。因此 LGPL 协议的开源代码很适合作为第 3 方类库被商业软件引用,但不适合希望以 LGPL 协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
http://forum.digitser.cn/data/attachment/forum/201605/19/132155fevczeyds5e5y1wy.jpg"长按二维码" 或 "扫一扫" 关注 "德云社区" 微信公众号
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
页:
[1]