深入了解 GNU 宽通用公共许可证(LGPL)
1. 软件许可证概述
在软件领域,许可证至关重要,它规定了软件的使用、分发和修改方式。大多数软件许可证会限制用户共享和修改软件的自由,而 GNU 通用公共许可证(GPL)则致力于保障用户自由共享和修改自由软件的权利,确保软件对所有用户都是自由的。GNU 宽通用公共许可证(LGPL)是 GPL 的一种变体,它主要适用于特定的软件库。
2. GNU 宽通用公共许可证(LGPL)的诞生背景
LGPL 最初于 1991 年发布,当时名为 GNU 库通用公共许可证,1999 年更名为现在的名称。自由软件基金会(FSF)创始人理查德·斯托曼将这个新许可证描述为“战略撤退”。FSF 原本期望与 GPL 相关的所有软件都完全自由,但他们意识到某些专有库可能对自由软件有益。因此,他们决定允许与这些软件进行链接,希望从长远来看,能有足够的自由库出现,使这种做法不再必要。
3. LGPL 与普通 GPL 的区别
- 链接限制:当一个程序与库链接时,无论是静态链接还是使用共享库,从法律上讲,这两者的组合是一个衍生作品。普通 GPL 只允许在整个组合符合其自由标准的情况下进行这种链接,而 LGPL 对与库链接的其他代码的要求更为宽松。
- 用户自由保护程度:LGPL 之所以被称为“宽”通用公共许可证,是因为它在保护用户自由方面不如普通 GPL。它也让其他自由软件开发者在与非自由程序竞争时的优势相对较小。不过,在某些特殊情况下,LGPL 具有优势。
- 促进库