GNU宽通用公共许可证

自由軟件許可證通用公共許可協議的變體,允許在專有軟件中使用一個軟件

GNU宽通用公共许可证(英语:GNU Lesser General Public License,简称:LGPL)是由自由软件基金会公布的自由软件许可证。它允许企业与软件开发者使用,或将LGPL授权的软件集成至他们自己的软件内(即使该软件是私有软件也被允许),同时不会受到Copyleft特性的许可证强制对软件开源的限制。该许可证常被用于一些(但不是全部)GNU程序库。

GNU宽通用公共许可证
GNU LGPL v3标志
作者理查德·斯托曼
版本3
发布者自由软件基金会
DFSG兼容
自由软件
OSI认证
GPL兼容
Copyleft
与不同许可证代码链接可以
网站gnu.org/licenses/lgpl.html 编辑维基数据链接

这个许可证以前被称为GNU程序库通用公共许可证GNU Library General Public License)。此许可证最新版本为“第3版”,2007年6月29日发布,较早的版本有2.0和2.1版。此种许可之出现,是为了在GPL与许可式许可(如MIT许可证柏克莱大学BSD许可证)间获取折衷。

采用LGPL之项目本身虽然仍有“Copyleft”之限制条件,但这些限制不感染仅仅只链接到本项目的软件。不过此等软件仍会受到其他限制。

LGPL主要使用之标的为软件函式库(Software Libraries),但是其亦可使用于独立存在的应用程序。比较有名的例子为MozillaOpenOffice.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。

参见 编辑

参考资料 编辑

  1. ^ Preamble to the Gnu Lesser General Public License. [2009-08-28]. (原始内容存档于2015-10-26). 
  2. ^ LGPLv3 for a C++ Pure Template Library ?. [2018-04-13]. (原始内容存档于2020-08-01). 

外部链接 编辑