版本 2.1, 1999 年 2 月
Copyright (C) 1991, 1999 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
大多数软件的许可证旨在剥夺您共享和修改它的自由。相反,GNU 通用公共许可证旨在保证您共享和修改自由软件的自由——确保该软件对其所有用户都是自由的。
本许可证,即较宽松通用公共许可证,适用于一些特别指定的软件包——通常是库——由自由软件基金会和其他决定使用它的作者发布。您也可以使用它,但我们建议您首先仔细考虑,根据以下解释,在任何特定情况下,本许可证还是普通的通用公共许可证是更好的策略。
当我们谈论自由软件时,我们指的是使用自由,而不是价格。我们的通用公共许可证旨在确保您有自由分发自由软件的副本(如果您愿意,也可以为此服务收费);您收到源代码或可以在需要时获得它;您可以更改软件并在新的自由程序中使用它的片段;并且您被告知您可以做这些事情。
为了保护您的权利,我们需要做出限制,禁止分发者剥夺您的这些权利或要求您放弃这些权利。如果您分发库的副本或修改它,这些限制将转化为您的一些责任。
例如,如果您分发库的副本,无论是免费还是收费,您都必须给予接收者我们给予您的所有权利。您必须确保他们也收到或可以获得源代码。如果您将其他代码与库链接,则必须向接收者提供完整的对象文件,以便他们可以在对库进行更改并重新编译后将其与库重新链接。并且您必须向他们展示这些条款,以便他们了解自己的权利。
我们通过两步方法保护您的权利:(1) 我们为库注册版权,(2) 我们向您提供本许可证,该许可证赋予您复制、分发和/或修改库的法律许可。
为了保护每个分发者,我们希望非常清楚地表明,对于自由库没有保证。此外,如果库被其他人修改并传递下去,接收者应该知道他们拥有的不是原始版本,这样原始作者的声誉就不会受到其他人可能引入的问题的影响。
最后,软件专利对任何自由程序的存在都构成持续的威胁。我们希望确保公司不能通过从专利持有人那里获得限制性许可证来有效地限制自由程序的用户。因此,我们坚持为库的某个版本获得的任何专利许可证必须与本许可证中规定的完全使用自由相一致。
大多数 GNU 软件,包括一些库,都受普通的 GNU 通用公共许可证的约束。本许可证,即 GNU 较宽松通用公共许可证,适用于某些指定的库,并且与普通的通用公共许可证截然不同。我们使用本许可证来允许将这些库链接到非自由程序中。
当程序与库链接时,无论是静态链接还是使用共享库,两者结合在法律上来说都是一个组合作品,是原始库的派生作品。因此,普通的通用公共许可证只允许在整个组合符合其自由标准的情况下进行此类链接。较宽松通用公共许可证允许更宽松的标准,以便将其他代码与库链接。
我们称本许可证为“较宽松”通用公共许可证,因为它在保护用户自由方面比普通的通用公共许可证做得更少。它也为其他自由软件开发人员提供了较少的优于竞争的非自由程序的优势。这些劣势是我们对许多库使用普通通用公共许可证的原因。然而,较宽松许可证在某些特殊情况下提供了优势。
例如,在极少数情况下,可能需要特别鼓励尽可能广泛地使用某个库,使其成为事实上的标准。为了实现这一目标,必须允许非自由程序使用该库。更常见的情况是,一个自由库执行与广泛使用的非自由库相同的工作。在这种情况下,将自由库限制为仅限自由软件几乎没有任何意义,因此我们使用较宽松通用公共许可证。
在其他情况下,允许在非自由程序中使用特定库可以使更多的人使用大量的自由软件。例如,允许在非自由程序中使用 GNU C 库可以使更多的人使用整个 GNU 操作系统及其变体 GNU/Linux 操作系统。
尽管较宽松通用公共许可证对用户自由的保护较少,但它确实确保了链接到库的程序的用户有自由和能力使用修改后的库版本运行该程序。
以下是关于复制、分发和修改的精确条款和条件。请密切注意“基于库的作品”和“使用库的作品”之间的区别。前者包含从库派生的代码,而后者必须与库结合才能运行。
0. 本许可协议适用于任何软件库或其他程序,其中包含版权持有人或其他授权方发布的声明,说明可以根据本较宽松通用公共许可证(也称为“本许可证”)的条款进行分发。每个被许可人都被称为“您”。
“库”是指为了方便与应用程序(使用其中一些函数和数据)链接以形成可执行文件而准备的软件函数和/或数据的集合。
下面的“库”是指根据这些条款分发的任何此类软件库或作品。“基于库的作品”是指库或版权法下的任何派生作品:也就是说,包含库或其一部分的作品,无论是逐字逐句的还是经过修改的和/或直接翻译成另一种语言。(在下文中,翻译无限制地包含在“修改”一词中。)
作品的“源代码”是指用于修改该作品的首选形式。对于库,完整的源代码是指它包含的所有模块的所有源代码,加上任何关联的接口定义文件,加上用于控制库的编译和安装的脚本。
复制、分发和修改以外的活动不在本许可证的范围之内,它们超出其范围。运行使用库的程序的行为不受限制,并且仅当输出内容构成基于库的作品时(独立于在编写它的工具中使用库)才受限制。这是否属实取决于库的功能以及使用该库的程序的功能。
1. 您可以以您收到的任何介质复制和分发库的完整源代码的逐字副本,前提是您在每个副本上显眼且适当地发布适当的版权声明和免责声明;保持所有提及本许可证和不存在任何保证的声明完整无缺;并随库一起分发本许可证的副本。
您可以为转移副本的物理行为收费,并且您可以选择提供保修保护以换取费用。
2. 您可以修改您的库副本或其任何部分,从而形成基于库的作品,并根据上述第 1 节的条款复制和分发此类修改或作品,前提是您还满足以下所有条件:
(例如,库中用于计算平方根的函数具有完全明确的目的,该目的独立于应用程序。因此,第 2d 款要求此函数使用的任何应用程序提供的函数或表都必须是可选的:如果应用程序不提供它,则平方根函数仍必须计算平方根。)
这些要求适用于整个修改后的作品。如果该作品中可识别的部分不是从库派生的,并且可以合理地被认为是独立的和单独的作品,那么当您将它们作为单独的作品分发时,本许可证及其条款不适用于这些部分。但是,当您将相同的部分作为基于库的作品的整体的一部分分发时,整个分发必须符合本许可证的条款,本许可证对其他被许可人的许可延伸到整个整体,因此延伸到每个部分,无论谁编写它。
因此,本节的目的不是主张权利或质疑您对完全由您编写的作品的权利;相反,目的是行使控制基于库的派生或集体作品分发的权利。
此外,仅仅将不基于本库的其他作品与本库(或基于本库的作品)在存储或分发介质的卷上进行聚合,并不会使该其他作品受本许可证的约束。
3. 您可以选择对本库的特定副本应用普通的 GNU 通用公共许可证,而不是本许可证。为此,您必须更改所有引用本许可证的通知,使其引用普通的 GNU 通用公共许可证的第 2 版,而不是本许可证。(如果出现了比普通 GNU 通用公共许可证第 2 版更新的版本,您可以根据需要指定该版本。)请不要更改这些通知中的任何其他内容。
一旦在给定副本中进行了此更改,则该更改对于该副本是不可逆的,因此普通的 GNU 通用公共许可证适用于从该副本制作的所有后续副本和衍生作品。
当您希望将库的部分代码复制到非库的程序中时,此选项很有用。
4. 您可以在上述第 1 节和第 2 节的条款下,以目标代码或可执行形式复制和分发本库(或其一部分或衍生作品,如第 2 节所述),前提是您随附完整的相应机器可读源代码,该源代码必须在上述第 1 节和第 2 节的条款下,以通常用于软件交换的介质分发。
如果通过提供从指定位置复制的访问权限来分发目标代码,则提供从同一位置复制源代码的等效访问权限即可满足分发源代码的要求,即使第三方没有义务随目标代码一起复制源代码。
5. 如果程序不包含本库的任何部分的衍生作品,而是被设计为通过编译或链接本库来与本库一起工作,则该程序称为“使用本库的作品”。此类作品,单独而言,不是本库的衍生作品,因此不属于本许可证的范围。
但是,将“使用本库的作品”与本库链接会创建一个可执行文件,该可执行文件是本库的衍生作品(因为它包含本库的部分),而不是“使用本库的作品”。因此,该可执行文件受本许可证的约束。第 6 节规定了此类可执行文件的分发条款。
当“使用本库的作品”使用来自作为本库一部分的头文件的材料时,即使源代码不是,该作品的目标代码也可能是本库的衍生作品。如果该作品可以在不使用本库的情况下链接,或者该作品本身是一个库,则这种情况是否成立尤其重要。法律没有明确定义这种情况成立的阈值。
如果此类目标文件仅使用数值参数、数据结构布局和访问器,以及小型宏和小型的内联函数(十行或更少),则目标文件的使用不受限制,无论它在法律上是否是衍生作品。(包含此目标代码加上本库部分的可执行文件仍将属于第 6 节的范畴。)
否则,如果该作品是本库的衍生作品,则您可以根据第 6 节的条款分发该作品的目标代码。任何包含该作品的可执行文件也属于第 6 节的范畴,无论它们是否直接与本库链接。
6. 作为对上述各节的例外,您还可以将“使用本库的作品”与本库组合或链接以生成包含本库部分的作品,并根据您选择的条款分发该作品,前提是该条款允许修改该作品以供客户自己使用,并允许进行逆向工程以调试此类修改。
您必须在每个作品副本上显眼地注明该作品中使用了本库,并且本库及其使用受本许可证的约束。您必须提供本许可证的副本。如果该作品在执行期间显示版权声明,则您必须在其中包含本库的版权声明,以及指示用户访问本许可证副本的引用。此外,您必须执行以下操作之一
对于可执行文件,所需的“使用本库的作品”形式必须包括从该作品重新生成可执行文件所需的任何数据和实用程序。但是,作为一项特殊的例外,要分发的材料无需包括通常随可执行文件运行的操作系统的主要组件(编译器、内核等)一起分发的任何内容(无论是源代码还是二进制形式),除非该组件本身随附可执行文件。
这种情况可能会与通常不随操作系统一起分发的其他专有库的许可限制相冲突。这种冲突意味着您不能在您分发的可执行文件中同时使用它们和本库。
7. 您可以将基于本库的作品的库设施与本许可证未涵盖的其他库设施并排放置在单个库中,并分发此类组合库,前提是单独分发基于本库的作品和其他库设施是允许的,并且您执行以下两项操作
8. 除非本许可证明确规定,否则您不得复制、修改、再许可、链接或分发本库。任何以其他方式复制、修改、再许可、链接或分发本库的尝试均无效,并将自动终止您在本许可证下的权利。但是,从您那里根据本许可证收到副本或权利的各方,只要此类各方保持完全合规,其许可证就不会终止。
9. 您不需要接受本许可证,因为您没有签署它。但是,如果没有本许可证,您将没有其他许可来修改或分发本库或其衍生作品。如果您不接受本许可证,则法律禁止这些行为。因此,通过修改或分发本库(或任何基于本库的作品),您表示接受本许可证这样做,以及所有关于复制、分发或修改本库或基于本库的作品的条款和条件。
10. 每次您重新分发本库(或任何基于本库的作品)时,接收者都会自动从原始许可人处获得许可,以复制、分发、链接或修改本库,但须遵守这些条款和条件。您不得对接收者行使此处授予的权利施加任何进一步的限制。您不负责强制第三方遵守本许可证。
11. 如果由于法院判决或专利侵权指控或任何其他原因(不仅限于专利问题),对您施加了与本许可证的条件相矛盾的条件(无论是通过法院命令、协议还是其他方式),它们不会免除您本许可证的条件。如果您无法同时满足本许可证下的义务和任何其他相关义务,那么因此您可能根本无法分发本库。例如,如果专利许可证不允许所有直接或间接通过您收到副本的人员免费重新分发本库,那么您满足该许可证和本许可证的唯一方法就是完全停止分发本库。
如果本节的任何部分在任何特定情况下被认定为无效或不可执行,则本节的其余部分应适用,并且本节作为一个整体应适用于其他情况。
本节的目的不是诱导您侵犯任何专利或其他财产权主张,或质疑任何此类主张的有效性;本节的唯一目的是保护通过公共许可实践实施的自由软件分发系统的完整性。许多人依靠该系统的一致应用,对通过该系统分发的各种软件做出了慷慨的贡献;是否愿意通过任何其他系统分发软件由作者/捐赠者决定,并且被许可人不能强加该选择。
本节旨在彻底明确人们认为本许可证其余部分的结果。
12. 如果本库的分发和/或使用在某些国家/地区受到专利或受版权保护的接口的限制,则将本库置于本许可证下的原始版权所有者可以添加明确的地理分发限制,排除这些国家/地区,以便仅在或在未被排除的国家/地区之间允许分发。在这种情况下,本许可证将该限制纳入,如同写入本许可证正文一样。
13. 自由软件基金会可能会不时发布修订版和/或新版本的宽松通用公共许可证。此类新版本在精神上将与当前版本相似,但在细节上可能会有所不同,以解决新问题或疑虑。
每个版本都有一个不同的版本号。如果本库指定适用于它的本许可证的版本号以及“任何后续版本”,则您可以选择遵循该版本或自由软件基金会发布的任何后续版本的条款和条件。如果本库未指定许可证版本号,则您可以选择自由软件基金会发布的任何版本。
14. 如果您希望将本库的部分内容纳入其他自由程序,而这些自由程序的分发条件与这些条件不兼容,请致信作者请求许可。对于自由软件基金会拥有版权的软件,请致信自由软件基金会;我们有时会对此例外处理。我们的决定将以维护我们自由软件的所有衍生作品的自由状态,并促进软件的共享和重用这两个目标为指导。
无担保
15. 由于本库是免费授权的,因此在适用法律允许的范围内,本库不提供任何担保。除非另有书面说明,版权所有者和/或其他方均以“按原样”提供本库,不提供任何明示或暗示的担保,包括但不限于对适销性和特定用途适用性的暗示担保。关于本库的质量和性能的全部风险由您承担。如果本库被证明存在缺陷,您将承担所有必要的维修、修理或纠正的费用。
16. 在任何情况下,除非适用法律要求或书面同意,任何版权所有者,或任何可能按照上述允许修改和/或重新分发本库的其他方,均不对您承担任何损害赔偿责任,包括因使用或无法使用本库而引起的任何一般性、特殊性、偶然性或后果性损害(包括但不限于数据丢失或数据变得不准确,或您或第三方遭受的损失,或本库无法与任何其他软件一起运行),即使该持有者或其他方已被告知发生此类损害的可能性。
如果您开发一个新的库,并且您希望它对公众具有最大的用处,我们建议将其作为自由软件,允许所有人重新分发和更改。您可以通过允许根据这些条款(或者,也可以根据普通通用公共许可证的条款)重新分发来实现此目的。
要应用这些条款,请将以下声明附加到库中。最好将其附加到每个源文件的开头,以最有效地传达免责声明;并且每个文件至少应包含“版权”行,以及指向完整声明所在位置的指针。
one line to give the library's name and an idea of what it does. Copyright (C) year name of author This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see <https://gnu.ac.cn/licenses/>.
还请添加有关如何通过电子邮件和纸质邮件与您联系的信息。
如果需要,您还应该让您的雇主(如果您是程序员)或您的学校(如果适用)签署一份关于该库的“版权免责声明”。这是一个示例;请更改名称
Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. signature of Moe Ghoul, 1 April 1990 Moe Ghoul, President of Vice
就这样了!