版本 3,2007 年 6 月 29 日
版权所有 © 2007 自由软件基金会,公司 <https://fsf.org/>
允许任何人复制和分发本许可证文件的完整副本,但不允许对其进行更改。
GNU 通用公共许可证是一个自由的、具有反版权概念的软件和其他类型作品的许可证。
大多数软件和其他实用作品的许可证旨在剥夺您共享和更改作品的自由。相比之下,GNU 通用公共许可证旨在保证您共享和更改程序所有版本的自由——以确保它对所有用户保持为自由软件。我们,自由软件基金会,将 GNU 通用公共许可证用于我们的大部分软件;它也适用于作者以这种方式发布的任何其他作品。您也可以将其应用于您的程序。
当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有自由分发自由软件的副本(如果您愿意,可以收费),您收到源代码或可以在需要时获得它,您可以更改软件或在新自由程序中使用其中的一部分,并且您知道您可以做这些事情。
为了保护您的权利,我们需要防止其他人剥夺您的这些权利或要求您放弃这些权利。因此,如果您分发软件的副本,或者如果您修改它,您有某些责任:尊重他人自由的责任。
例如,如果您分发此类程序的副本,无论是免费的还是收费的,您都必须将您收到的相同自由传递给接收者。您必须确保他们也收到或可以获得源代码。并且您必须向他们展示这些条款,以便他们知道自己的权利。
使用 GNU GPL 的开发人员通过两个步骤保护您的权利:(1) 对软件主张版权,以及 (2) 提供此许可证,赋予您复制、分发和/或修改它的法律许可。
为了保护开发人员和作者,GPL 明确解释说此自由软件不提供任何保证。为了用户和作者的利益,GPL 要求将修改后的版本标记为已更改,以便他们的问题不会被错误地归咎于先前版本的作者。
某些设备的设计目的是拒绝用户访问以安装或运行其中的软件的修改版本,尽管制造商可以这样做。这与保护用户更改软件的自由的目标从根本上是不兼容的。这种滥用的系统模式发生在个人使用的产品领域,而这正是最不可接受的地方。因此,我们设计了这个 GPL 版本来禁止这些产品的这种做法。如果此类问题在其他领域大量出现,我们准备在未来版本的 GPL 中将此条款扩展到这些领域,以保护用户的自由。
最后,每个程序都不断受到软件专利的威胁。各国不应允许专利限制通用计算机上软件的开发和使用,但在允许的国家,我们希望避免应用于自由程序的专利可能使其实际上成为专有的特殊危险。为了防止这种情况,GPL 确保专利不能用于使程序不自由。
以下是复制、分发和修改的精确条款和条件。
“本许可证”是指 GNU 通用公共许可证的第 3 版。
“版权”也指适用于其他类型作品(如半导体掩模)的类似版权的法律。
“程序”是指根据本许可证许可的任何可版权作品。每个被许可人被称为“您”。“被许可人”和“接收者”可以是个人或组织。
“修改”作品是指以需要版权许可的方式复制或改编作品的全部或部分,而不是制作完全相同的副本。结果作品被称为早期作品的“修改版本”或“基于”早期作品的作品。
“受保护作品”是指未修改的程序或基于该程序的作品。
“传播”作品是指对作品执行任何操作,如果没有许可,您将根据适用的版权法直接或间接承担侵权责任,除非在计算机上执行它或修改私人副本。传播包括复制、分发(无论是否修改)、向公众提供,以及在某些国家/地区还包括其他活动。
“传送”作品是指任何类型的传播,使其他方能够制作或接收副本。仅通过计算机网络与用户进行交互,而不传输副本,则不属于传送。
交互式用户界面会显示“适当的法律声明”,因为它包含一个方便且显眼的特征,该特征 (1) 显示适当的版权声明,以及 (2) 告知用户该作品不提供任何保证(除非提供保证),被许可人可以根据本许可证传送该作品,以及如何查看本许可证的副本。如果界面显示用户命令或选项列表(例如菜单),则列表中的一个显眼项目满足此标准。
作品的“源代码”是指用于对其进行修改的首选形式。“目标代码”是指作品的任何非源代码形式。
“标准接口”是指要么是由公认的标准机构定义的官方标准,要么是针对特定编程语言指定的接口,是在该语言中工作的开发人员广泛使用的接口。
可执行作品的“系统库”包括除整个作品之外的任何内容,这些内容 (a) 包含在主要组件的正常包装形式中,但不是该主要组件的一部分,并且 (b) 仅用于使该作品与该主要组件一起使用,或实现一种标准接口,该接口的实现以源代码形式向公众提供。在这种情况下,“主要组件”是指可执行作品运行的特定操作系统(如果有)的主要基本组件(内核、窗口系统等),或用于生成该作品的编译器,或用于运行它的目标代码解释器。
目标代码形式的作品的“相应源代码”是指生成、安装和(对于可执行作品)运行目标代码以及修改该作品所需的所有源代码,包括控制这些活动的脚本。但是,它不包括作品的系统库,或在执行这些活动中未修改使用但不是作品一部分的通用工具或通常可用的自由程序。例如,相应源代码包括与作品的源文件关联的接口定义文件,以及作品专门设计为需要的共享库和动态链接子程序的源代码,例如这些子程序与作品的其他部分之间的密切数据通信或控制流。
相应源代码不需要包含用户可以从相应源代码的其他部分自动重新生成的任何内容。
源代码形式的作品的相应源代码是同一个作品。
根据本许可证授予的所有权利均在程序的版权期限内授予,并且在满足规定条件的情况下不可撤销。本许可证明确确认您运行未修改程序的无限许可。仅当输出内容构成受保护作品时,运行受保护作品的输出才受本许可证的约束。本许可证承认您由版权法提供的合理使用或其他同等权利。
只要您的许可证仍然有效,您就可以制作、运行和传播您不传送的受保护作品,而无需任何条件。您可以将受保护作品传送给他人,其唯一目的是让他们专门为您进行修改,或为您提供运行这些作品的设施,前提是您在传送您不控制版权的所有材料时遵守本许可证的条款。因此,为您制作或运行受保护作品的人员必须完全代表您,在您的指导和控制下进行,并且在条款中禁止他们在与您关系之外复制您的受版权材料。
仅在以下规定的条件下才允许在任何其他情况下传送。不允许再许可;第 10 节使其不必要。
根据 1996 年 12 月 20 日通过的 WIPO 版权条约第 11 条或禁止或限制规避此类措施的类似法律,任何受保护作品均不得被视为任何适用法律下的有效技术措施的一部分。
当您传送受保护作品时,您将放弃任何禁止规避技术措施的法律权力,只要通过行使本许可证下关于受保护作品的权利来实施此类规避,并且您声明您无意限制作品的操作或修改,作为针对作品用户的强制执行手段,您或第三方的合法权利禁止规避技术措施。
您可以以您收到的任何介质传送程序的源代码的完整副本,前提是您在每个副本上显着且适当地发布适当的版权声明;完整保留所有声明本许可证和根据第 7 节添加的任何非许可条款适用于代码的通知;完整保留所有没有保证的通知;并向所有接收者提供本许可证以及程序。
您可以为每个您传送的副本收取任何价格或不收取任何价格,并且您可以付费提供支持或保修保护。
您可以根据第 4 节的条款,以源代码的形式传送基于程序的作品,或用于从程序生成它的修改,前提是您也满足所有以下条件
将受保护作品与其他单独且独立的作品(本质上不是受保护作品的扩展,并且未与其组合形成更大的程序)组合在存储或分发介质的卷中或之上,如果该组合及其产生的版权不用于限制该组合用户的访问权限或合法权利,超出各个作品允许的范围,则称为“聚合”。将受保护的作品包含在聚合中不会导致本许可证适用于聚合的其他部分。
您可以按照第4节和第5节的条款,以目标代码形式传播受保护的作品,前提是您还必须按照本许可证的条款,以以下方式之一传播机器可读的相应源代码:
目标代码中可分离的部分,其源代码作为系统库被排除在相应源代码之外,不必包含在传播目标代码作品中。
“用户产品”是指(1)“消费品”,这意味着通常用于个人、家庭或家庭用途的任何有形个人财产;或(2)为并入住宅而设计或销售的任何物品。在确定产品是否为消费品时,有疑问的情况应有利于覆盖范围。对于特定用户收到的特定产品,“通常使用”是指该类产品的典型或常见用途,而与特定用户的身份或特定用户实际使用或预期或被期望使用该产品的方式无关。无论产品是否具有实质性的商业、工业或非消费用途,只要此类用途不代表该产品的唯一重要使用模式,该产品都是消费品。
“用户产品的安装信息”是指安装和执行该用户产品中受保护作品的修改版本,以及来自其相应源代码的修改版本所需的任何方法、程序、授权密钥或其他信息。这些信息必须足以确保修改后的目标代码的持续功能在任何情况下都不会仅仅因为进行了修改而被阻止或干扰。
如果您在本节下在用户产品中或与用户产品一起传播,或专门为了在用户产品中使用而传播目标代码作品,并且该传播发生在将用户产品的占有权和使用权永久或定期(无论如何定义交易)转移给接收者的交易中,则本节下传播的相应源代码必须附带安装信息。但是,如果无论是您还是任何第三方都无法在用户产品上安装修改后的目标代码(例如,该作品已安装在ROM中),则此要求不适用。
提供安装信息的要求不包括为接收者修改或安装的作品或为已修改或安装该作品的用户产品继续提供支持服务、保修或更新的要求。当修改本身对网络的运行产生重大不利影响或违反网络通信的规则和协议时,可以拒绝访问网络。
根据本节传播的相应源代码和提供的安装信息必须采用公开记录的格式(并且以源代码形式向公众提供实施),并且在解压缩、读取或复制时无需特殊的密码或密钥。
“附加许可”是指通过对本许可证的一个或多个条件进行例外处理来补充本许可证条款的条款。适用于整个程序的附加许可应视为已包含在本许可证中,前提是它们在适用法律下有效。如果附加许可仅适用于程序的一部分,则该部分可以在这些许可下单独使用,但整个程序仍然受本许可证管辖,而无需考虑附加许可。
当您传播受保护作品的副本时,您可以选择从该副本或其任何部分删除任何附加许可。(附加许可可以编写为在您修改作品的某些情况下要求自行删除。)您可以对您添加到受保护作品的材料添加附加许可,对于这些材料,您拥有或可以提供适当的版权许可。
尽管本许可证有任何其他规定,对于您添加到受保护作品中的材料,您可以(如果该材料的版权持有人授权)使用以下条款补充本许可证的条款:
所有其他非允许的附加条款都被视为第10节含义内的“进一步限制”。如果程序在您收到时或其任何部分包含声明它受本许可证管辖以及进一步限制的条款,您可以删除该条款。如果许可文档包含进一步限制,但允许根据本许可证重新许可或传播,您可以将受该许可文档条款管辖的材料添加到受保护的作品中,前提是进一步限制不会在重新许可或传播后继续存在。
如果您根据本节向受保护的作品添加条款,则必须在相关的源文件中放置一份声明,说明适用于这些文件的附加条款,或说明在哪里可以找到适用的条款的通知。
附加条款(允许或不允许)可以以单独书面许可的形式说明,也可以以例外形式说明;上述要求以任何一种方式均适用。
除非本许可证明确规定,否则您不得传播或修改受保护的作品。任何其他尝试传播或修改它的行为均无效,并将自动终止您在本许可证下的权利(包括根据第11节第三段授予的任何专利许可)。
但是,如果您停止所有违反本许可证的行为,则您从特定版权持有人获得的许可将恢复:(a)临时恢复,除非且直到版权持有人明确且最终终止您的许可;以及(b)永久恢复,如果版权持有人未在您停止违规行为后 60 天之前通过某种合理方式通知您违规行为。
此外,如果版权持有人通过某种合理方式通知您违规行为,这是您第一次收到该版权持有人关于违反本许可证(对于任何作品)的通知,并且您在收到通知后 30 天内纠正违规行为,则您从特定版权持有人获得的许可将永久恢复。
根据本节终止您的权利不会终止根据本许可证从您那里收到副本或权利的各方的许可。如果您的权利已终止且未永久恢复,则您没有资格根据第10节获得相同材料的新许可。
您无需接受本许可证即可接收或运行该程序的副本。仅因使用点对点传输来接收副本而发生的受保护作品的辅助传播也不需要接受。但是,除了本许可证之外,没有任何东西授予您传播或修改任何受保护作品的权限。如果您不接受本许可证,这些行为将侵犯版权。因此,通过修改或传播受保护的作品,您表示您接受本许可证这样做。
每次您传播受保护的作品时,接收者都会自动从原始许可人那里获得许可,以运行、修改和传播该作品,但需遵守本许可证。您不负责强制第三方遵守本许可证。
“实体交易”是指转移组织控制权或一个组织的大部分资产,或拆分组织或合并组织的交易。如果受保护作品的传播是由实体交易引起的,则该交易的每一方接收到该作品的副本,也将获得该方的前任所有人在先前段落下拥有或可以给予的对该作品的任何许可,以及从前任所有人处获得该作品相应源代码的占有权,如果前任所有人拥有该源代码或可以通过合理的努力获得该源代码。
您不得对根据本许可证授予或确认的权利的行使施加任何进一步的限制。例如,您不得对根据本许可证授予的权利的行使施加许可费、版税或其他费用,并且您不得提起诉讼(包括诉讼中的反诉或交叉诉讼),指控任何专利权要求因制造、使用、销售、要约出售或进口该程序或其任何部分而受到侵犯。
“贡献者”是指授权根据本许可证使用该程序或以该程序为基础的作品的版权持有人。因此许可的作品称为贡献者的“贡献者版本”。
贡献者的“基本专利权要求”是指贡献者拥有或控制的所有专利权要求(无论是否已经获得或此后获得),这些专利权要求会因本许可证允许的某种方式制造、使用或销售其贡献者版本而受到侵犯,但不包括仅因进一步修改贡献者版本而受到侵犯的权要求。就本定义而言,“控制”包括以符合本许可证要求的方式授予专利子许可证的权利。
每位贡献者根据其基本专利权利要求,授予您一项非独占的、全球性的、免版税的专利许可,允许您制作、使用、销售、提供销售、进口以及以其他方式运行、修改和传播其贡献者版本的作品内容。
在以下三个段落中,“专利许可”是指任何明确的协议或承诺,无论其名称如何,均指不执行专利(例如明确许可实施专利或承诺不起诉专利侵权)。“授予”一方专利许可,是指达成此类协议或承诺,不对该方执行专利。
如果您在知情的情况下依赖专利许可传输受保护的作品,并且该作品的相应源代码无法通过公共网络服务器或其他易于访问的方式免费且根据本许可证的条款供任何人复制,那么您必须 (1) 使相应源代码可以如此获取,或 (2) 安排放弃就此特定作品享受专利许可的利益,或 (3) 以符合本许可证要求的方式安排将专利许可扩展到下游接收者。“知情依赖”是指您实际知晓,若非该专利许可,您在某个国家/地区传输受保护的作品,或您的接收者在某个国家/地区使用受保护的作品,将侵犯您有理由认为在该国家/地区有效的一项或多项可识别的专利。
如果您根据或结合单个交易或安排,传输或通过促成传输的方式传播受保护的作品,并向部分接收受保护作品的当事方授予专利许可,授权他们使用、传播、修改或传输受保护作品的特定副本,那么您授予的专利许可将自动扩展到受保护作品及其衍生作品的所有接收者。
如果一项专利许可不包括其覆盖范围内的内容,禁止行使,或以不以行使本许可证明确授予的一项或多项权利为条件,则该专利许可具有“歧视性”。如果您与第三方存在分发软件业务的安排,您根据您传输作品的活动程度向第三方付款,并且第三方根据该安排向任何将从您那里接收受保护作品的当事方授予歧视性的专利许可,(a) 与您传输的受保护作品副本(或从这些副本制作的副本)有关,或 (b) 主要针对包含受保护作品的特定产品或汇编,并且与这些产品或汇编有关,除非您在 2007 年 3 月 28 日之前达成该安排或授予该专利许可,否则您不得传输受保护的作品。
本许可证中的任何内容均不得解释为排除或限制任何隐含的许可或根据适用的专利法可能对您有效的其他侵权辩护。
如果对您施加(无论是通过法院命令、协议或其他方式)与本许可证条件相矛盾的条件,则它们不会免除您遵守本许可证的条件。如果您无法传输受保护的作品,以便同时满足您在本许可证下的义务和任何其他相关义务,那么作为结果,您可能根本无法传输它。例如,如果您同意某些条款,这些条款要求您向从您处接收程序的人员收取进一步传输的版税,那么您唯一可以同时满足这些条款和本许可证的方式就是完全不传输该程序。
尽管本许可证有任何其他规定,您仍有权将任何受保护的作品与根据 GNU Affero 通用公共许可证第 3 版许可的作品链接或组合成一个单独的组合作品,并传输由此产生的作品。本许可证的条款将继续适用于作为受保护作品的部分,但 GNU Affero 通用公共许可证第 13 条关于通过网络进行交互的特殊要求将适用于该组合作品。
自由软件基金会可能会不时发布 GNU 通用公共许可证的修订版和/或新版本。这些新版本在精神上将与当前版本相似,但在细节上可能会有所不同,以解决新的问题或担忧。
每个版本都有一个不同的版本号。如果程序指定 GNU 通用公共许可证的某个编号版本“或任何更高版本”适用于它,您可以选择遵循该编号版本或自由软件基金会发布的任何更高版本的条款和条件。如果程序未指定 GNU 通用公共许可证的版本号,您可以选择自由软件基金会发布的任何版本。
如果程序指定代理可以决定可以使用 GNU 通用公共许可证的哪些未来版本,则该代理公开声明接受某个版本将永久授权您为该程序选择该版本。
更高版本的许可证可能会给您额外的或不同的权限。但是,您选择遵循更高版本不会对任何作者或版权持有人施加额外的义务。
在适用法律允许的范围内,本程序不提供任何担保。除非另有书面说明,版权持有人和/或其他当事方“按原样”提供本程序,不提供任何形式的明示或暗示担保,包括但不限于对适销性和特定用途适用性的暗示担保。关于本程序的质量和性能的全部风险由您承担。如果本程序被证明存在缺陷,您将承担所有必要的维修、修理或更正的费用。
在任何情况下,除非适用法律要求或另有书面约定,否则任何版权持有人或任何其他根据上述允许修改和/或传输本程序的当事方均不对您承担任何损害赔偿责任,包括因使用或无法使用本程序而引起的任何一般性、特殊性、偶然性或继发性损害赔偿(包括但不限于数据丢失或数据被呈现不准确或您或第三方遭受的损失或本程序无法与其他程序一起运行),即使该持有人或其他当事方已被告知可能发生此类损害赔偿。
如果上述担保免责声明和责任限制无法根据其条款在当地产生法律效力,则审查法院应适用与最接近绝对放弃与本程序相关的全部民事责任的当地法律,除非担保或责任承担伴随有偿的本程序副本。
条款和条件结束
如果您开发一个新的程序,并且希望它能为公众提供最大的便利,那么实现这一目标的最佳方法是将其制作为自由软件,以便每个人都可以根据这些条款重新分发和更改。
为此,请将以下声明附加到程序中。最安全的方法是将它们附加到每个源文件的开头,以最有效地声明排除担保;每个文件应至少包含“版权”行和指向完整声明所在位置的指针。
<one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <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 3 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/>.
另请添加有关如何通过电子邮件和纸质邮件与您联系的信息。
如果该程序具有终端交互功能,请使其在以交互模式启动时输出如下简短的通知
<program> Copyright (C) <year> <name of author> This program 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` 应显示通用公共许可证的相应部分。当然,您程序的命令可能不同;对于 GUI 界面,您可以使用“关于框”。
如果需要,您还应让您的雇主(如果您是程序员)或学校(如果有)签署该程序的“版权免责声明”。有关此主题以及如何应用和遵循 GNU GPL 的更多信息,请参阅 <https://gnu.ac.cn/licenses/>。
GNU 通用公共许可证不允许将您的程序并入专有程序。如果您的程序是一个子例程库,您可能会认为允许专有应用程序与该库链接更有用。如果您想这样做,请使用 GNU 宽通用公共许可证而不是本许可证。但首先,请阅读 <https://gnu.ac.cn/licenses/why-not-lgpl.html>。