下面印出的是 GNU 通用公共许可证(GPL 或 copyleft),Linux 在此许可证下获得许可。此处重印是为了澄清一些关于 Linux 版权状态的困惑——Linux 不是 共享软件,也不是 公有领域软件。Linux 内核的大部分版权归 1993 年 Linus Torvalds 所有,内核的其他软件和部分版权归其作者所有。因此,Linux 是 有版权的,但是,您可以根据下面印出的 GPL 条款重新分发它。
版权所有 (C) 1989, 1991 自由软件基金会,公司地址:675 Mass Ave, Cambridge, MA 02139, USA。 任何人均被允许复制和分发此许可证文件的完整副本,但不允许更改它。
大多数软件的许可证旨在剥夺您共享和更改软件的自由。 与此相反,GNU 通用公共许可证旨在保证您共享和更改自由软件的自由——确保软件对所有用户都是自由的。 本通用公共许可证适用于自由软件基金会的大部分软件以及作者承诺使用它的任何其他程序。(自由软件基金会的一些其他软件由 GNU 库通用公共许可证涵盖。) 您也可以将其应用于您的程序。
当我们谈论自由软件时,我们指的是自由,而不是价格。 我们的通用公共许可证旨在确保您有自由分发自由软件的副本(如果您愿意,可以为此服务收费),确保您收到源代码或在您需要时可以获得源代码,确保您可以更改软件或在新自由程序中使用它的片段;并确保您知道您可以做这些事情。
为了保护您的权利,我们需要做出一些限制,禁止任何人剥夺您的这些权利或要求您放弃这些权利。 如果您分发软件副本或修改软件,这些限制将转化为您必须承担的某些责任。
例如,如果您分发此类程序的副本,无论是免费的还是收费的,您都必须将您拥有的所有权利给予接收者。 您必须确保他们也收到或可以获得源代码。 并且您必须向他们展示这些条款,以便他们了解自己的权利。
我们通过两个步骤来保护您的权利:(1) 对软件进行版权保护,以及 (2) 向您提供此许可证,该许可证赋予您复制、分发和/或修改软件的法律许可。
此外,为了保护每位作者和我们自己,我们希望确保每个人都明白,此自由软件不提供任何担保。 如果软件被其他人修改并传递下去,我们希望其接收者知道他们拥有的不是原始版本,以便其他人引入的任何问题都不会影响原始作者的声誉。
最后,任何自由程序都不断受到软件专利的威胁。 我们希望避免自由程序的再分发者单独获得专利许可的危险,这实际上会使程序成为专有程序。 为了防止这种情况,我们明确规定,任何专利都必须被许可供所有人免费使用,或者根本不被许可。
以下是关于复制、分发和修改的精确条款和条件。
复制、分发和修改以外的活动不在本许可证的范围之内;它们在其范围之外。 运行程序的行为不受限制,程序的输出仅在其内容构成基于程序的作品时才受限(独立于通过运行程序而生成)。 这是否属实取决于程序的功能。
您可以为转移副本的物理行为收费,并且您可以选择提供担保保护以换取费用。
这些要求适用于整个修改后的作品。 如果该作品中可识别的部分不是从程序派生的,并且可以合理地被认为是独立的和单独的作品,那么当您将这些部分作为单独的作品分发时,本许可证及其条款不适用于这些部分。 但是,当您将相同的部分作为整体的一部分分发时,该整体是基于程序的作品,则整个作品的分发必须符合本许可证的条款,本许可证对其他被许可人的许可扩展到整个作品,从而扩展到每个部分,无论谁编写的。
因此,本节的目的不是主张权利或对抗您对完全由您编写的作品的权利; 相反,目的是行使控制基于程序的衍生作品或集体作品分发的权利。
此外,仅仅将另一个不基于程序的作品与程序(或基于程序的作品)在存储或分发介质的卷上聚合,并不会使另一个作品受本许可证的范围约束。
作品的源代码是指用于对其进行修改的首选形式的作品。 对于可执行作品,完整的源代码是指其包含的所有模块的所有源代码,加上任何相关的接口定义文件,加上用于控制可执行文件编译和安装的脚本。 但是,作为一项特殊例外,分发的源代码不需要包括通常随操作系统主要组件(编译器、内核等)一起分发的任何内容(以源代码或二进制形式),除非该组件本身随可执行文件一起提供。
如果通过提供从指定地点复制的访问权限来分发可执行代码或目标代码,则提供从同一地点复制源代码的等效访问权限也算作源代码的分发,即使第三方没有被强制要求随目标代码一起复制源代码。
如果本节的任何部分在任何特定情况下被认定为无效或不可执行,则本节的其余部分旨在适用,并且本节作为一个整体旨在在其他情况下适用。
本节的目的不是诱导您侵犯任何专利或其他财产权主张,或质疑任何此类主张的有效性; 本节的唯一目的是保护自由软件分发系统的完整性,该系统通过公共许可证实践实施。 许多人依靠该系统的一致应用,为通过该系统分发的各种软件做出了慷慨的贡献; 是否愿意通过任何其他系统分发软件由作者/捐赠者决定,被许可人不能强加这种选择。
本节旨在彻底明确人们认为的本许可证其余部分的结果。
每个版本都给出了一个可区分的版本号。 如果程序指定了适用于它的本许可证的版本号和“任何后续版本”,您可以选择遵循该版本或自由软件基金会发布的任何后续版本的条款和条件。 如果程序未指定本许可证的版本号,您可以选择自由软件基金会发布的任何版本。
如果您开发了一个新程序,并且希望它对公众发挥最大的作用,那么实现这一目标的最佳方法是使其成为自由软件,每个人都可以在这些条款下重新分发和更改它。
要做到这一点,请将以下声明附加到程序中。 最安全的方法是将它们附加到每个源文件的开头,以最有效地传达排除担保; 并且每个文件都应至少包含“版权”行和指向完整声明位置的指针。
版权所有 © 19yy 本程序是自由软件; 您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它; 可以是许可证的版本 2,或(由您选择)任何后续版本。发布本程序是希望它有用,但不提供任何担保; 甚至不提供对适销性或特定用途适用性的暗示担保。 有关更多详细信息,请参阅 GNU 通用公共许可证。
您应该已收到与本程序一起提供的 GNU 通用公共许可证的副本; 如果没有,请写信给 Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA。
另请添加有关如何通过电子和纸质邮件联系您的信息。
如果程序是交互式的,请使其在交互模式下启动时输出如下简短声明
Gnomovision 版本 69,版权所有 (C) 19yy 作者姓名 Gnomovision 绝对不提供任何担保; 有关详细信息,请输入 `show w'。 这是自由软件,欢迎您在某些条件下重新分发它; 有关详细信息,请输入 `show c'。
假设的命令 `show w' 和 `show c' 应显示通用公共许可证的适当部分。 当然,您使用的命令可能称为 `show w' 和 `show c' 以外的其他名称; 它们甚至可以是鼠标单击或菜单项——任何适合您程序的方式。
如果需要,您还应该让您的雇主(如果您是程序员)或您的学校签署程序的“版权免责声明”。 这是一个示例; 更改名称
Yoyodyne, Inc. 特此声明放弃对 James Hacker 编写的程序“Gnomovision”(对编译器进行处理)的所有版权权益。, 1989 年 4 月 1 日 Ty Coon,副总裁
本通用公共许可证不允许将您的程序合并到专有程序中。 如果您的程序是子例程库,您可能会认为允许将专有应用程序与库链接更有用。 如果这是您想做的事情,请使用 GNU 库通用公共许可证而不是本许可证。