GNU宽通用公共许可证
GNU宽通用公共许可证(英语:GNU Lesser General Public License,简称:LGPL)是由自由软件基金会公布的自由软件许可证。它允许企业与软件开发者使用,或将LGPL授权的软件集成至他们自己的软件内(即使该软件是私有软件也被允许),同时不会受到Copyleft特性的许可证强制对软件开源的限制。该许可证常被用于一些(但不是全部)GNU程序库。
作者 | 理查德·斯托曼 |
---|---|
版本 | 3 |
发布者 | 自由软件基金会 |
DFSG兼容 | 是 |
自由软件 | 是 |
OSI认证 | 是 |
GPL兼容 | 是 |
Copyleft | 是 |
与不同许可证代码链接 | 可以 |
网站 | www |
这个许可证以前被称为GNU程序库通用公共许可证(GNU Library General Public License)。此许可证最新版本为“第3版”,2007年6月29日发布,较早的版本有2.0和2.1版。此种许可之出现,是为了在GPL与许可式许可(如MIT许可证及柏克莱大学的BSD许可证)间获取折衷。
采用LGPL之项目本身虽然仍有“Copyleft”之限制条件,但这些限制不感染仅仅只链接到本项目的软件。不过此等软件仍会受到其他限制。
LGPL主要为软件函数库(Software Libraries)所使用,但是其亦可使用于独立存在的应用程序。比较有名的例子有Mozilla与OpenOffice.Org。
历史
LGPL原本被称为GNU Library General Public License,最初于1991年发布,为与GPLv2保持一致而采用2.0版的编号。许可证的2.1版与1999年在修订后发布。与此同时,它被重命名为GNU Lesser General Public License,以显示FSF认为并不是所有程序库都应当采用该许可证的态度。LGPL的第3版于2007年发布,它以在GPL第3版之上附加应用一系列许可的方式表现。
LGPL与GPL差异之处
LGPL有一特点是LGPL软件可以被转换成GPL(参见Section 3)。这种特性对于在GPL函数库或应用程序中直接使用LGPL程序有一定程度之帮助。
编程语言要求
LGPL 协议主要是面向使用 C语言 以及类C语言。Franz Inc. 发布了 LLGPL 协议,增加了序言部分以澄清 LISP 语言中的上下文问题。[1]
另外 Ada 语言还有一个特殊的特性——泛型,所以需要使用 LGPL 的另一个变种 GNAT Modified General Public License:允许代码链接一些特殊情况,以避免被 GPL 所覆盖。
C++ 模板和只有头文件的库也会遇到类似于 Ada 的泛型问题。LGPL 的第三版在第三小节中专门处理了这方面的特殊情况。[2]
可闭源特性
由于许多程序员都弄不清各种许可证之间的差别,导致一些开源项目成为了小部分别有用心人士所利用的对象,较著名的例子有DivX,早期DivX雏形是一个使用LGPL许可证的自由软件,由大部分优秀的软件高手义务地开发,但当软件渐渐成形时,DivX的公司DXN利用LGPL的漏洞对DivX进行了闭源,大部分软件爱好者都感到被出卖,所以着手开发了XviD。虽然XviD在软件方面明显比DivX优秀,但市场占有率却不如DivX。
参见
参考资料
- ^ Preamble to the Gnu Lesser General Public License. [2009-08-28]. (原始内容存档于2015-10-26).
- ^ LGPLv3 for a C++ Pure Template Library ?. [2018-04-13]. (原始内容存档于2020-08-01).