许可·条件·限制一览
条件
- 版权与许可声明分发时必须附上许可证副本和版权声明。
- 公开源代码分发时必须提供源代码。
- 标明修改如果修改了原作品,必须标明这一事实。
- 相同许可证(库级)库的修改部分必须使用相同许可证,但可能不适用于使用该库的程序。
限制
- 责任限制明确声明不对损害承担责任。
- 无担保明确声明不提供任何担保。
许可·条件·限制分类来源:choosealicense.com(GitHub,MIT 许可证)数据。
这是什么样的许可证
LGPL-2.1 由 FSF 于 1999 年 2 月发布。之前的名称是「GNU Library General Public License」(2.0),在 2.1 中改为「Lesser」。与 LGPL-3.0 不同,它是一份独立的完整文件。GNU C 库(glibc)使用 LGPL-2.1-or-later,FFmpeg 的默认配置为 LGPL-2.1-or-later(部分可选组件为 GPL)。
使用该库的程序(第 5、6 条)
为与该库链接运行而编写的程序(「使用该库的作品」)可以不被视为该库的衍生作品,结合后的可执行文件只要遵守第 6 条的条件,就可以按自己想要的条件分发。
- 附上使用了该库并适用 LGPL 的声明,以及许可证副本。
- 提供源代码或目标文件,使用户能够修改该库并重新链接,或者采用共享库方式。
- 必须允许为调试修改而进行的逆向工程。
转换为 GPL 的条款(第 3 条)
LGPL-2.1 允许对库的副本适用 GPL 第 2 版(或者如愿意,适用其以后任何版本)的条件,以代替 LGPL。因此,LGPL-2.1 代码既可以放进 GPL-2.0 项目,也可以放进 GPL-3.0 项目。一旦转换为 GPL 的副本就不能再改回 LGPL。
常见误解
- 「LGPL-2.1 太旧了,不能用」 — 它依然有效且被广泛使用。只是没有专利条款和安装信息条款。
- 「LGPL-2.1 代码可以直接放进 LGPL-3.0 项目」 — 如果是 LGPL-2.1-only 而非「or later」代码,组合作品无法升级为 LGPL-3.0。但可以利用第 3 条以 GPL-3.0 组合作品的形式分发。
- 「只要使用了库中的头文件,整个程序就是 LGPL」 — 原文第 5 条将使用头文件中的小型宏和内联函数(10 行以内)等列为例外。其边界是需要解释的领域。
如何应用
将原文原样放在 COPYING.LIB 或 LICENSE 中,并在每个文件中加上官方声明。SPDX 标识符为 LGPL-2.1-only 或 LGPL-2.1-or-later。
适用场景
适合也需要与 GPL-2.0 生态兼容的现有 C 库,以及已经以 LGPL-2.1 发布的项目的衍生作品。如果是新的库,很多情况下会先考虑带有专利许可的 LGPL-3.0 或 MPL-2.0。
LGPL-2.1 代码能放进其他项目吗?
以下是将以此许可证发布的代码合并到下列许可证的项目中一起发布时的一般判定。 在兼容性检查器中查看其他组合 →
| 目标项目 | 判定 | 备注 |
|---|---|---|
| 专有(商业)软件 | 有条件可以 | 可以作为库链接使用,但必须让用户能够替换、重新链接 LGPL 部分,并提供 LGPL 部分的源代码。如果复制代码混合在一起,整个组合作品都必须遵守 (L)GPL 条件。 |
| MIT | 有条件可以 | 可以作为库链接使用,但必须让用户能够替换、重新链接 LGPL 部分,并提供 LGPL 部分的源代码。如果复制代码混合在一起,整个组合作品都必须遵守 (L)GPL 条件。 |
| Apache-2.0 | 有条件可以 | 可以作为库链接使用,但必须让用户能够替换、重新链接 LGPL 部分,并提供 LGPL 部分的源代码。如果复制代码混合在一起,整个组合作品都必须遵守 (L)GPL 条件。 |
| MPL-2.0 | 有条件可以 | 可以作为库链接使用,但必须让用户能够替换、重新链接 LGPL 部分,并提供 LGPL 部分的源代码。如果复制代码混合在一起,整个组合作品都必须遵守 (L)GPL 条件。 |
| LGPL-3.0 | 有条件可以 | LGPL-2.1 允许将该代码转换为 GPL-2.0 及以后任意 GPL 版本进行发布(第 3 条)。 |
| GPL-2.0 | 有条件可以 | LGPL-2.1 允许将该代码转换为 GPL-2.0 及以后任意 GPL 版本进行发布(第 3 条)。 |
| GPL-3.0 | 有条件可以 | LGPL-2.1 允许将该代码转换为 GPL-2.0 及以后任意 GPL 版本进行发布(第 3 条)。 |
| AGPL-3.0 | 有条件可以 | LGPL-2.1 允许将该代码转换为 GPL-2.0 及以后任意 GPL 版本进行发布(第 3 条)。 GPL-3.0 与 AGPL-3.0 各自通过第 13 条允许相互结合。在组合作品中,AGPL 部分的网络源代码提供义务依然保留。 |
本网站内容仅为一般信息,不构成法律意见。实际发布、合同或纠纷的判断,请咨询律师等专业人士。