GNU 通用公共许可证,版本 2
- GPL 的最新版本,版本 3
- 如果您发现可能的 GPL 违规行为该怎么办
- GPLv2 的翻译
- GPLv2 常见问题
- GNU 通用公共许可证版本 2 (GPLv2) 的其他格式:纯文本, Texinfo, LaTeX, 独立 HTML, Docbook, Markdown, ODF, RTF
目录
GNU 通用公共许可证
版本 2,1991 年 6 月
Copyright (C) 1989, 1991 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.
序言
大多数软件的许可证旨在剥夺您共享和更改它的自由。相比之下,GNU 通用公共许可证旨在保证您共享和更改自由软件的自由——以确保该软件对所有用户都是自由的。本通用公共许可证适用于自由软件基金会的大部分软件以及任何其他作者承诺使用它的程序。(自由软件基金会的一些其他软件由 GNU 宽通用公共许可证覆盖。)您也可以将其应用于您的程序。
当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有权自由分发自由软件的副本(如果您愿意,可以为此服务收费),您会收到源代码或者在您需要时可以获得源代码,您可以更改软件或在新自由程序中使用它的片段;并且您知道您可以做这些事情。
为了保护您的权利,我们需要设置限制,禁止任何人剥夺您的这些权利或要求您放弃这些权利。如果您分发软件副本或修改它,这些限制会转化为您的一些责任。
例如,如果您分发此类程序的副本,无论是免费的还是收费的,您都必须将您拥有的所有权利授予接收者。您必须确保他们也收到或可以获得源代码。并且您必须向他们展示这些条款,以便他们了解自己的权利。
我们通过两个步骤保护您的权利:(1) 版权保护该软件,以及 (2) 向您提供本许可证,该许可证授予您复制、分发和/或修改该软件的合法许可。
此外,为了保护每个作者和我们自己,我们希望确保每个人都明白,这个自由软件没有任何保证。如果软件被其他人修改并传递下去,我们希望它的接收者知道他们所拥有的不是原始软件,这样其他人引入的任何问题都不会影响原始作者的声誉。
最后,任何自由程序都不断受到软件专利的威胁。我们希望避免自由程序的再分发者单独获得专利许可的危险,实际上使该程序成为专有程序。为了防止这种情况,我们已经明确表示,任何专利都必须获得许可,供所有人免费使用,或者根本不获得许可。
下面是复制、分发和修改的精确条款和条件。
复制、分发和修改的条款和条件
0. 本许可证适用于任何包含版权持有者发布的声明的程序或其他作品,该声明表示该程序或作品可以根据本通用公共许可证的条款进行分发。下面的“程序”指的是任何此类程序或作品,并且“基于该程序的作品”指的是该程序或版权法下的任何衍生作品:也就是说,包含该程序或其一部分的作品,无论是逐字逐句还是经过修改和/或翻译成另一种语言。(在此之后,“修改”一词包括但不限于翻译。)每个被许可人被称为“您”。
复制、分发和修改以外的活动不受本许可证的约束;它们超出其范围。运行程序的行为不受限制,并且程序的输出仅在其内容构成基于该程序的作品时才被覆盖(独立于通过运行该程序生成)。这是否属实取决于程序的作用。
1. 您可以按原样复制和分发程序源代码的逐字副本,以任何媒介形式,前提是您在每个副本上显眼且适当地发布适当的版权声明和免责声明;保持所有引用本许可证和不存在任何保证的声明完好无损;并且向程序的任何其他接收者提供本许可证的副本以及该程序。
您可以为传输副本的物理行为收费,并且您可以选择为收费提供保修保护。
2. 您可以修改程序的一个或多个副本或其任何部分,从而形成基于该程序的作品,并根据以上第 1 节的条款复制和分发此类修改或作品,前提是您还满足以下所有条件
- a) 您必须使修改后的文件带有明显的声明,说明您更改了这些文件以及任何更改的日期。
- b) 您必须使您分发或发布的任何全部或部分包含或衍生自该程序或其任何部分的作品,以本许可证的条款免费许可给所有第三方。
- c) 如果修改后的程序在运行时通常以交互方式读取命令,您必须使其在以最普通的方式启动以进行此类交互使用时,打印或显示包含适当的版权声明和不存在保证的声明(或者说您提供保证)以及用户可以在这些条件下重新分发该程序,并告诉用户如何查看本许可证的副本。(例外情况:如果程序本身是交互式的,但通常不打印此类声明,则不需要基于该程序的作品打印声明。)
这些要求适用于整个修改后的作品。如果该作品的可识别部分不是衍生自该程序,并且可以合理地被视为其本身的独立作品,则当您将它们作为单独的作品分发时,本许可证及其条款不适用于这些部分。但是,当您将相同的各部分作为基于该程序的作品的整体一部分分发时,整个作品的分发必须遵守本许可证的条款,该许可证对其他被许可人的许可扩展到整个整体,因此扩展到每个部分,无论谁编写的。
因此,本节的目的不是要求权利或质疑您对完全由您编写的作品的权利;相反,目的是行使控制基于该程序的衍生作品或集体作品分发的权利。
此外,将另一个不基于该程序的作品与该程序(或与基于该程序的作品)简单地聚合在存储或分发介质的卷上并不会使另一个作品进入本许可证的范围。
3. 您可以根据以上第 1 节和第 2 节的条款,以目标代码或可执行形式复制和分发该程序(或根据第 2 节基于该程序的作品),前提是您还执行以下操作之一
- a) 随附其完整的、对应的、机器可读的源代码,必须根据以上第 1 节和第 2 节的条款,在通常用于软件交换的介质上分发;或者,
- b) 随附一份书面报价,有效期至少三年,以不超过您实际执行源代码分发成本的费用,向任何第三方提供一份完整的、机器可读的、对应的源代码副本,该源代码将根据以上第 1 节和第 2 节的条款,在通常用于软件交换的介质上分发;或者,
- c) 随附您收到的有关分发相应源代码的报价的信息。(此选项仅允许用于非商业分发,并且仅当您收到带有此类报价的目标代码或可执行形式的程序时,才符合上述 b 小节。)
作品的源代码是指用于对其进行修改的作品的首选形式。对于可执行作品,完整的源代码是指它包含的所有模块的所有源代码,加上任何相关的接口定义文件,加上用于控制可执行文件的编译和安装的脚本。但是,作为一项特殊例外,分发的源代码不需要包括通常与可执行文件运行所在的操作系统(编译器、内核等)的主要组件一起分发的任何内容(以源代码或二进制形式),除非该组件本身与可执行文件一起分发。
如果通过提供从指定地点复制的方式来分发可执行代码或目标代码,那么提供从同一地点复制源代码的同等访问权限,也算作源代码的分发,即使第三方没有被强制要求将源代码与目标代码一起复制。
4. 除非本许可证明确规定,否则您不得复制、修改、再许可或分发本程序。任何以其他方式复制、修改、再许可或分发本程序的行为均属无效,并将自动终止您在本许可证下的权利。但是,从您处根据本许可证收到副本或权利的各方,只要其完全遵守本许可证,其许可证就不会被终止。
5. 您没有义务接受本许可证,因为您没有签署它。但是,如果没有本许可证,您就无权修改或分发本程序或其衍生作品。如果您不接受本许可证,这些行为将被法律禁止。因此,通过修改或分发本程序(或任何基于本程序的作品),您表示接受本许可证,以便进行复制、分发或修改本程序或基于本程序的作品,以及接受所有条款和条件。
6. 每次您再分发本程序(或任何基于本程序的作品)时,接收者都会自动从原始许可方获得一份许可,以根据这些条款和条件复制、分发或修改本程序。您不得对接收者行使此处授予的权利施加任何进一步的限制。您不负责执行第三方对本许可证的遵守情况。
7. 如果由于法院判决或专利侵权指控,或出于任何其他原因(不限于专利问题),对您施加了与本许可证条件相矛盾的条件(无论是通过法院命令、协议或其他方式),这些条件并不能免除您遵守本许可证的条件。如果您无法在同时满足您在本许可证下的义务和任何其他相关义务的情况下进行分发,那么作为后果,您可能根本无法分发本程序。例如,如果一项专利许可不允许所有通过您直接或间接收到副本的人免版税地再分发本程序,那么您唯一能同时满足该专利许可和本许可证的方式就是完全避免分发本程序。
如果本节的任何部分在任何特定情况下被认定为无效或不可执行,则本节的其余部分应在其他情况下适用,并且本节作为一个整体应在其他情况下适用。
本节的目的不是诱使您侵犯任何专利或其他产权主张,也不是挑战任何此类主张的有效性;本节的唯一目的是保护自由软件分发系统的完整性,该系统是通过公共许可实践实现的。许多人依赖于该系统的一致应用,为通过该系统分发的各种软件做出了慷慨的贡献;是否愿意通过任何其他系统分发软件由作者/捐赠者决定,许可证持有者不能强加这种选择。
本节旨在彻底明确本许可证其余部分所认为的后果。
8. 如果本程序的分发和/或使用在某些国家/地区因专利或受版权保护的界面而受到限制,则将本程序置于本许可证下的原始版权持有者可以添加明确的地理分发限制,排除这些国家/地区,以便仅在未被排除的国家/地区之间或内部允许分发。在这种情况下,本许可证将该限制纳入,如同写入本许可证正文一样。
9. 自由软件基金会可能会不时发布修订和/或新版本的通用公共许可证。这些新版本在精神上将与当前版本相似,但在细节上可能会有所不同,以解决新的问题或担忧。
每个版本都有一个区分性的版本号。如果本程序指定了适用于它的本许可证的版本号和“任何后续版本”,您可以选择遵循该版本或自由软件基金会发布的任何后续版本的条款和条件。如果本程序没有指定本许可证的版本号,您可以选择自由软件基金会发布的任何版本。
10. 如果您希望将本程序的某些部分合并到其他分发条件不同的自由程序中,请致信作者请求许可。对于自由软件基金会拥有版权的软件,请致信自由软件基金会;我们有时会对此类情况做出例外处理。我们的决定将以保持我们自由软件的所有衍生作品的自由状态以及促进软件的共享和重用这两个目标为指导。
无担保
11. 因为本程序是免费许可的,所以在适用法律允许的范围内,本程序不提供任何担保。除非另有书面说明,否则版权持有者和/或其他方“按原样”提供本程序,不提供任何明示或暗示的担保,包括但不限于对适销性和特定用途适用性的暗示担保。关于本程序的质量和性能的全部风险由您承担。如果本程序被证明有缺陷,您将承担所有必要的维护、维修或更正的费用。
12. 在任何情况下,除非适用法律要求或另有书面约定,否则任何版权持有者或任何其他可能修改和/或再分发本程序(如上所述)的一方均不对您承担任何损害赔偿责任,包括因使用或无法使用本程序而引起的任何一般性、特殊性、偶然性或后果性损害赔偿(包括但不限于数据丢失或数据被呈现为不准确或您或第三方遭受的损失或本程序未能与其他任何程序一起运行),即使该持有者或其他方已被告知可能发生此类损害赔偿。
条款和条件结束
如何将这些条款应用于您的新程序
如果您开发了一个新程序,并且您希望它对公众发挥最大的作用,那么实现这一目标的最佳方法是将其制作成自由软件,每个人都可以根据这些条款重新分发和更改它。
为此,请将以下声明附加到程序中。为了最有效地传达免除担保的意图,最好将它们附加到每个源文件的开头;并且每个文件应至少包含“版权”行和指向完整声明所在位置的指针。
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <https://gnu.ac.cn/licenses/>.
还要添加有关如何通过电子邮件和纸质邮件与您联系的信息。
如果程序是交互式的,请使其在交互模式启动时输出类似这样的简短通知
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
假设的命令`show w'和`show c'应显示通用公共许可证的相应部分。当然,您使用的命令可能会被调用为`show w'和`show c'以外的其他名称;它们甚至可以是鼠标点击或菜单项 - 任何适合您程序的方式。
如果需要,您还应让您的雇主(如果您是程序员)或您的学校签署该程序的“版权免责声明”。这是一个示例;请更改名称
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Moe Ghoul, 1 April 1989 Moe Ghoul, President of Vice
此通用公共许可证不允许将您的程序合并到专有程序中。如果您的程序是一个子程序库,您可能会认为允许将专有应用程序与该库链接更有用。如果您想这样做,请使用GNU 较宽松通用公共许可证而不是本许可证。