本许可证适用于任何程序或其他作品,其中包含版权持有者放置的声明,表明它可能根据本通用公共许可证的条款进行分发。下文中的“程序”是指任何此类程序或作品,而“基于程序的作品”是指程序或任何根据版权法产生的衍生作品:也就是说,包含程序或其一部分的作品,无论是原样还是经过修改和/或翻译成另一种语言。(此后,翻译无限制地包含在“修改”一词中。)每个被许可方都被称为“您”。
复制、发行和修改以外的活动不在本许可证的范围之内;它们超出其范围。运行程序的行为不受限制,程序的输出仅在其内容构成基于程序的作品(独立于通过运行程序制作)时才受保护。这是否属实取决于程序的功能。
您可以以您收到的任何媒介复制和发行程序的源代码的完整副本,前提是您在每个副本上显着且适当地发布适当的版权声明和免责声明;保留所有提及本许可证和不存在任何保证的声明完整无损;并将本许可证的副本连同程序一起提供给程序的任何其他接收者。
您可以为转移副本的实际行为收取费用,并且您可以选择提供保修保护以换取费用。
您可以修改您的程序副本或程序的任何部分,从而形成基于程序的作品,并根据上述第 1 节的条款复制和发行此类修改或作品,前提是您还满足所有以下条件:
您必须使修改后的文件带有显眼的声明,说明您更改了文件以及任何更改的日期。
您必须使您发行或发布的任何作品,无论全部或部分包含程序或其任何部分或从中衍生而来,都必须根据本许可证的条款免费许可给所有第三方。
如果修改后的程序通常在运行时以交互方式读取命令,您必须使其在以最普通的方式启动以进行此类交互使用时,打印或显示公告,包括适当的版权声明和没有保证的声明(或者声明您提供保证),并告知用户如何查看本许可证的副本。
![]() | 例外 |
---|---|
(如果程序本身是交互式的,但通常不打印此类公告,则不要求您基于程序的作品打印公告。) |
这些要求适用于作为一个整体的修改后的作品。如果该作品的可识别部分并非源自程序,并且可以合理地被视为独立且单独的作品,那么当您将它们作为单独的作品发行时,本许可证及其条款不适用于这些部分。但是,当您将相同的部分作为整体的一部分发行时,该整体是基于程序的作品,则整个作品的发行必须符合本许可证的条款,其对其他被许可人的许可扩展到整个整体,从而扩展到每个部分,无论谁编写的。
因此,本节的目的不是声明权利或质疑您对完全由您编写的作品的权利;相反,目的是行使控制基于程序的衍生作品或集体作品的发行的权利。
此外,仅仅将另一个非基于程序的作品与程序(或基于程序的作品)在存储或发行介质的卷上聚合,并不会使另一个作品受本许可证的范围约束。
您可以根据上述第 1 节和第 2 节的条款,以目标代码或可执行形式复制和发行程序(或基于程序的作品,根据第 2 节),前提是您还执行以下操作之一:
随附完整的相应机器可读源代码,该源代码必须根据上述第 1 节和第 2 节的条款在通常用于软件交换的介质上发行;或者,
随附书面报价,有效期至少三年,向任何第三方提供,费用不超过您实际执行源代码发行的成本,一份完整的相应源代码的机器可读副本,根据上述第 1 节和第 2 节的条款在通常用于软件交换的介质上发行;或者,
随附您收到的关于发行相应源代码的报价的信息。(此替代方案仅适用于非商业发行,并且仅当您以目标代码或可执行形式收到程序以及此类报价,并符合上述 b 子节时才允许。)
作品的源代码是指用于对其进行修改的作品的首选形式。对于可执行作品,完整的源代码是指它包含的所有模块的所有源代码,加上任何关联的接口定义文件,加上用于控制可执行文件的编译和安装的脚本。但是,作为一项特殊例外,发行的源代码无需包括通常与可执行文件运行的操作系统的主要组件(编译器、内核等)一起发行的任何内容(无论是源代码形式还是二进制形式),除非该组件本身随可执行文件一起提供。
如果通过提供从指定地点复制的访问权限来进行可执行代码或目标代码的发行,则提供从同一地点复制源代码的等效访问权限也算作源代码的发行,即使第三方没有被强制要求将源代码与目标代码一起复制。
除非本许可证明确规定,否则您不得复制、修改、再许可或发行程序。任何以其他方式复制、修改、再许可或发行程序的企图均无效,并将自动终止您在本许可证下的权利。但是,根据本许可证从您那里收到副本或权利的各方,只要这些方保持完全合规,其许可证将不会终止。
您无需接受本许可证,因为您尚未签署它。但是,如果没有其他任何内容授予您修改或发行程序或其衍生作品的许可。如果您不接受本许可证,法律禁止这些行为。因此,通过修改或发行程序(或任何基于程序的作品),您表明您接受本许可证这样做,以及复制、发行或修改程序或基于程序的作品的所有条款和条件。
每次您重新发行程序(或任何基于程序的作品)时,接收者都会自动从原始许可人那里获得许可,以根据这些条款和条件复制、发行或修改程序。您不得对接收者行使此处授予的权利施加任何进一步的限制。您不负责强制第三方遵守本许可证。
如果由于法院判决或专利侵权指控或任何其他原因(不限于专利问题),对您施加了与本许可证的条件相矛盾的条件(无论是通过法院命令、协议或其他方式),它们不会免除您遵守本许可证的条件。如果您无法同时满足您在本许可证下的义务和任何其他相关义务进行发行,那么作为结果,您可能根本无法发行程序。例如,如果专利许可证不允许通过所有直接或间接通过您接收副本的人员免版税地重新发行程序,那么您可以同时满足专利许可证和本许可证的唯一方法就是完全避免发行程序。
如果本节的任何部分在任何特定情况下被认定为无效或不可执行,则本节的其余部分旨在适用,并且本节作为一个整体旨在在其他情况下适用。
本节的目的不是诱导您侵犯任何专利或其他产权主张或质疑任何此类主张的有效性;本节的唯一目的是保护自由软件发行系统的完整性,该系统通过公共许可证实践实施。许多人依赖于该系统的一致应用,为通过该系统发行的各种软件做出了慷慨的贡献;作者/捐赠者有权决定他或她是否愿意通过任何其他系统发行软件,而被许可人不能强加该选择。
本节旨在彻底明确人们认为的本许可证其余部分的后果。
如果程序的发行和/或使用在某些国家/地区受到专利或受版权保护的接口的限制,则将程序置于本许可证下的原始版权持有者可以添加明确的地域发行限制,排除这些国家/地区,以便仅在或在未如此排除的国家/地区之间允许发行。在这种情况下,本许可证将该限制纳入其中,如同写入本许可证正文中一样。
自由软件基金会可能会不时发布通用公共许可证的修订版和/或新版本。此类新版本在精神上将与当前版本相似,但在细节上可能有所不同,以解决新的问题或疑虑。
每个版本都给出了一个区分版本的版本号。如果程序指定了适用于它的本许可证的版本号和“任何更高版本”,您可以选择遵循该版本或自由软件基金会发布的任何更高版本的条款和条件。如果程序未指定本许可证的版本号,您可以选择自由软件基金会发布的任何版本。
如果您希望将程序的部分内容并入其他发行条件不同的自由程序中,请写信给作者请求许可。对于自由软件基金会拥有版权的软件,请写信给自由软件基金会;我们有时会为此做出例外。我们的决定将以维护我们自由软件的所有衍生作品的自由状态以及促进软件的共享和重用这两个目标为指导。