GNU AFFERO 通用公共许可证

版本 3, 2007 年 11 月 19 日

版权所有 © 2007 自由软件基金会, Inc. <https://fsf.org/>
允许任何人复制和分发本许可证文件的逐字副本,但不允许修改它。

序言

GNU Affero 通用公共许可证是一个自由的、具有著作权保留的软件和其他类型作品的许可证,专门设计用于在网络服务器软件的情况下确保与社区的合作。

大多数软件和其他实用作品的许可证旨在剥夺您分享和更改作品的自由。相比之下,我们的通用公共许可证旨在保证您分享和更改程序所有版本的自由——以确保它对所有用户保持自由软件。

当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有自由分发自由软件的副本(如果您愿意,也可以收费),您收到源代码或可以在您需要时获得它,您可以更改软件或在新自由程序中使用它的片段,并且您知道您可以做这些事情。

使用我们通用公共许可证的开发者通过两个步骤保护您的权利:(1) 声明软件的版权,以及 (2) 向您提供本许可证,授予您复制、分发和/或修改软件的合法许可。

捍卫所有用户自由的第二个好处是,如果程序替代版本中所做的改进得到广泛使用,它们将可供其他开发者采用。许多自由软件开发者因此而受到鼓舞。然而,在网络服务器上使用的软件的情况下,可能无法实现此结果。GNU 通用公共许可证允许制作修改后的版本,并让公众在服务器上访问它,而无需向公众发布其源代码。

GNU Affero 通用公共许可证专门设计用于确保在这种情况发生时,修改后的源代码可以提供给社区。它要求网络服务器的运营商向该服务器的用户提供在那里运行的修改版本的源代码。因此,在可公开访问的服务器上公开使用修改后的版本,可以让公众访问修改版本的源代码。

一个较旧的许可证,名为 Affero 通用公共许可证,由 Affero 发布,旨在实现类似的目标。这是一个不同的许可证,而不是 Affero GPL 的一个版本,但 Affero 已经发布了新版本的 Affero GPL,允许在本许可证下重新许可。

以下是复制、分发和修改的精确条款和条件。

条款和条件

0. 定义。

“本许可证”指的是 GNU Affero 通用公共许可证的版本 3。

“版权”也指适用于其他类型作品(例如半导体掩模)的类似版权的法律。

“程序”指的是在本许可证下许可的任何可版权作品。每个被许可人都被称为“您”。“被许可人”和“接收者”可以是个人或组织。

“修改”作品是指以需要版权许可的方式复制或改编作品的全部或部分,而不是制作精确的副本。由此产生的作品称为早期作品的“修改版本”或“基于”早期作品的作品。

“受保护作品”指的是未修改的程序或基于该程序的作品。

“传播”作品是指对其执行任何操作,在未经许可的情况下,这会让您直接或间接地承担适用版权法下的侵权责任,但计算机上的执行或修改私人副本除外。传播包括复制、分发(无论是否修改)、向公众提供,以及在一些国家/地区也包括其他活动。

“传递”作品是指任何类型的传播,使其他方能够制作或接收副本。仅仅通过计算机网络与用户交互,而没有传输副本,不属于传递。

交互式用户界面显示“适当的法律声明”,前提是它包含一个方便且显眼的可见功能,该功能(1)显示适当的版权声明,以及(2)告知用户该作品没有保证(除非提供了保证),被许可人可以在本许可证下传递该作品,以及如何查看本许可证的副本。如果界面显示用户命令或选项列表(例如菜单),则列表中的一个突出项目满足此标准。

1. 源代码。

作品的“源代码”是指修改作品的首选形式。“目标代码”是指作品的任何非源代码形式。

“标准接口”是指由公认的标准机构定义的官方标准接口,或者,在为特定编程语言指定的接口的情况下,是指在该语言的开发者中广泛使用的接口。

可执行作品的“系统库”包括除了整个作品之外的任何内容,这些内容:(a)包含在主要组件的正常打包形式中,但不是该主要组件的一部分;以及(b)仅用于启用作品与该主要组件的使用,或实现可公开获得源代码形式的实现的标准接口。“主要组件”在此上下文中,是指运行可执行作品的特定操作系统(如果有)的主要基本组件(内核、窗口系统等等),或用于生成该作品的编译器,或用于运行它的目标代码解释器。

目标代码形式的作品的“相应源代码”是指生成、安装和(对于可执行作品)运行目标代码以及修改作品所需的所有源代码,包括控制这些活动的脚本。但是,它不包括作品的系统库,或在执行这些活动时未修改使用的通用工具或一般可用的自由程序,但这些工具或程序不是作品的一部分。例如,相应源代码包括与作品源代码文件关联的接口定义文件,以及作品专门设计要求的共享库和动态链接子程序的源代码,例如这些子程序和作品的其他部分之间的密切数据通信或控制流。

相应源代码不需要包括用户可以从相应源代码的其他部分自动重新生成的任何内容。

源代码形式的作品的相应源代码就是同一作品。

2. 基本许可。

本许可证下授予的所有权利均在程序的版权期限内授予,并且在满足既定条件的情况下是不可撤销的。本许可证明确肯定您运行未修改程序的无限许可。运行受保护作品的输出仅在该输出(考虑到其内容)构成受保护作品时才受本许可证的约束。本许可证承认您根据版权法提供的合理使用或其他等效权利。

只要您的许可证仍然有效,您可以制作、运行和传播您不传递的受保护作品,而无需任何条件。您可以将受保护作品传递给他人,仅用于让他们专门为您进行修改,或为您提供运行这些作品的设施,前提是您在传递所有您不控制版权的材料时遵守本许可证的条款。因此,为您制作或运行受保护作品的人员必须完全代表您,在您的指导和控制下进行,其条款禁止他们在其与您的关系之外复制您受版权保护的任何材料。

仅在以下规定的条件下允许在任何其他情况下进行传递。不允许再许可;第 10 节使其不必要。

3. 保护用户免受反规避法的法律权利。

根据 1996 年 12 月 20 日通过的 WIPO 版权条约第 11 条或类似禁止或限制规避此类措施的法律履行义务的任何适用法律,不得将任何受保护的作品视为有效技术措施的一部分。

当您传递受保护的作品时,您放弃任何禁止规避技术措施的法律权力,只要这种规避是通过行使本许可证下有关受保护作品的权利来实现的,并且您声明不打算限制作品的操作或修改,以此作为对作品用户强制执行您或第三方的禁止规避技术措施的法律权利的手段。

4. 传递逐字副本。

您可以按您接收的任何介质传递程序的源代码逐字副本,前提是您在每个副本上显着且适当地发布适当的版权声明;保持所有声明本许可证和根据第 7 节添加的任何非许可条款适用于该代码的声明完好无损;保持所有关于不存在任何保证的声明完好无损;并向所有接收者提供本许可证的副本以及程序。

您可以为传递的每个副本收取任何价格或不收取任何价格,并且您可以收费提供支持或保修保护。

5. 传递修改后的源代码版本。

您可以根据第 4 节的条款传递基于程序的作品,或从程序生成它的修改,以源代码的形式,前提是您也满足所有这些条件

受保护作品与其他单独且独立的作品的汇编,这些作品本质上不是受保护作品的扩展,并且没有与它组合以形成更大的程序,在存储或分发介质的卷中或之上,如果汇编及其产生的版权不用于限制汇编用户的访问权限或合法权利,则称为“聚合”,超出单个作品允许的范围。将受保护的作品包含在聚合中不会导致本许可证适用于聚合的其他部分。

6. 传递非源代码形式。

您可以根据第 4 节和第 5 节的条款以目标代码形式传递受保护的作品,前提是您还以本许可证的条款传递机器可读的相应源代码,以下列方式之一

目标代码的可分离部分(其源代码作为系统库被排除在相应源代码之外)无需包含在传送目标代码工作时。

“用户产品”是指 (1) “消费产品”,即通常用于个人、家庭或家庭用途的任何有形个人财产,或 (2) 任何设计或销售用于合并到住宅中的物品。 在确定产品是否为消费产品时,应将有疑问的情况解决为有利于涵盖。 对于特定用户收到的特定产品,“通常使用”是指该类产品的典型或常见用途,而与特定用户的身份或特定用户实际使用或预期或期望使用该产品的方式无关。 产品是否为消费产品,与其是否具有大量的商业、工业或非消费用途无关,除非这些用途代表了该产品唯一重要的使用方式。

用户产品的“安装信息”是指从相应源代码的修改版本在用户产品中安装和执行受保护作品的修改版本所需的任何方法、程序、授权密钥或其他信息。 这些信息必须足以确保修改后的目标代码的持续运行在任何情况下都不会仅仅因为进行了修改而受到阻止或干扰。

如果您根据本节以用户产品的形式、或随附用户产品、或专门用于用户产品的方式传送目标代码作品,并且该传送是作为一项交易的一部分发生的,在该交易中,用户产品的占有权和使用权永久或在固定期限内转移给接收者(无论该交易如何定性),则根据本节传送的相应源代码必须附带安装信息。 但是,如果由您或任何第三方都无法在用户产品上安装修改后的目标代码(例如,该工作已安装在ROM中),则此要求不适用。

提供安装信息的要求不包括为接收者修改或安装的作品或修改或安装该作品的用户产品继续提供支持服务、保修或更新的要求。当修改本身对网络运行产生重大不利影响或违反跨网络通信的规则和协议时,可以拒绝访问网络。

根据本节传送的相应源代码和提供的安装信息必须采用公开记录的格式(并且必须以源代码形式向公众提供实现方式),并且不得要求特殊的密码或密钥进行解压缩、读取或复制。

7. 附加条款。

“附加权限”是通过对本许可证的一个或多个条件进行例外,来补充本许可证条款的条款。适用于整个程序的附加权限应被视为已包含在本许可证中,只要它们在适用法律下有效即可。如果附加权限仅适用于程序的一部分,则该部分可以在这些权限下单独使用,但整个程序仍受本许可证管辖,而无需考虑附加权限。

当您传送受保护作品的副本时,您可以选择从该副本或其任何部分删除任何附加权限。(附加权限可以编写为在您修改作品时在某些情况下要求删除它们自身。)您可以将附加权限添加到您添加到受保护作品中的材料中,您对其拥有或可以给予适当的版权许可。

尽管本许可证的任何其他规定,对于您添加到受保护作品中的材料,您可以(如果该材料的版权持有人授权)使用条款来补充本许可证的条款

所有其他非许可性附加条款都被视为第 10 条含义范围内的“进一步限制”。如果您收到的程序或其任何部分包含声明它受本许可证管辖以及进一步限制的条款的通知,则可以删除该条款。如果许可文件包含进一步限制,但允许根据本许可证重新许可或许可转让,您可以将受该许可文件条款管辖的材料添加到受保护作品中,前提是进一步限制不会在此类重新许可或转让后继续有效。

如果您根据本节向受保护作品添加条款,则必须在相关源文件中添加声明,声明适用于这些文件的附加条款,或添加指示在哪里可以找到适用条款的通知。

许可性或非许可性附加条款可以单独书面许可的形式声明,也可以作为例外声明;上述要求以任何一种方式都适用。

8. 终止。

除非本许可证明确规定,否则您不得传播或修改受保护作品。任何其他传播或修改它的尝试均属无效,并且将自动终止您在本许可证下的权利(包括根据第 11 条第三段授予的任何专利许可)。

但是,如果您停止所有违反本许可证的行为,那么您从特定版权持有人那里获得的许可证将被恢复:(a) 临时地,除非且直到版权持有人明确且最终终止您的许可证,并且 (b) 如果版权持有人在您停止违规行为后的 60 天内未能通过某种合理方式通知您违规行为,则永久地恢复。

此外,如果版权持有人通过某种合理的方式通知您违规行为,这是您第一次收到该版权持有人发出的关于违反本许可证(针对任何作品)的通知,并且您在收到通知后的 30 天内纠正了违规行为,那么您从该版权持有人那里获得的许可证将永久恢复。

根据本节终止您的权利不会终止已根据本许可证从您那里获得副本或权利的各方的许可证。如果您的权利已被终止且未永久恢复,则您不符合根据第 10 条获得相同材料的新许可证的资格。

9. 无需接受即可拥有副本。

您无需接受本许可证即可接收或运行程序的副本。 仅仅由于使用点对点传输来接收副本而发生的受保护作品的附带传播同样不需要接受。但是,除了本许可证之外,没有任何其他东西授予您传播或修改任何受保护作品的许可。如果您不接受本许可证,这些行为会侵犯版权。因此,通过修改或传播受保护作品,您表明您接受本许可证来这样做。

10. 对下游接收者的自动许可。

每次您传送受保护的作品时,接收者都会自动从原始许可人那里获得许可,以运行、修改和传播该作品,但需遵守本许可证。您不负责强制第三方遵守本许可证。

“实体交易”是指转移组织控制权或其中一个组织的几乎所有资产、或细分组织、或合并组织的交易。如果受保护作品的传播是由实体交易引起的,则该交易的每一方(收到该作品副本)也会收到该方的前任利益人根据上一段拥有或可以给予的对该作品的任何许可,外加从前任利益人那里获得该作品相应源代码占有权的权利(如果前任利益人拥有或可以在合理的努力下获得该源代码)。

您不得对根据本许可证授予或确认的权利的行使施加任何进一步的限制。 例如,您不得对行使本许可证授予的权利施加许可费、特许权使用费或其他费用,并且您不得提起诉讼(包括在诉讼中的反诉或反诉),声称任何专利权要求因制造、使用、销售、要约销售或进口本程序或其任何部分而受到侵犯。

11. 专利。

“贡献者”是授权在本许可证下使用本程序或本程序所基于作品的版权持有人。这样许可的作品被称为贡献者的“贡献者版本”。

贡献者的“必要专利权要求”是指贡献者拥有或控制的所有专利权要求,无论是已获得的还是此后获得的,这些要求都会因根据本许可证允许的某些方式制造、使用或销售其贡献者版本而受到侵犯,但不包括仅因进一步修改贡献者版本而受到侵犯的要求。 就本定义而言,“控制”包括以符合本许可证要求的方式授予专利再许可的权利。

每位贡献者根据贡献者所拥有的必要专利权利要求,授予您一项非独占的、全球性的、免版税的专利许可,以制造、使用、销售、要约销售、进口以及以其他方式运行、修改和传播其贡献者版本的内容。

在接下来的三个段落中,“专利许可”是指任何明确的协议或承诺,无论如何命名,不执行专利(例如,明确允许实施专利或约定不就专利侵权提起诉讼)。“授予”一方此类专利许可,是指达成此类协议或承诺,不对该方执行专利。

如果您在知情的情况下依赖专利许可来传播受保护的作品,并且该作品的相应源代码不能通过公共可用的网络服务器或其他容易访问的方式免费地、且按照本许可证的条款供任何人复制,那么您必须 (1) 使相应源代码可以如此获取,或者 (2) 安排剥夺您自己在此特定作品的专利许可的利益,或者 (3) 按照本许可证的要求,安排将专利许可扩展到下游接收者。“知情地依赖”是指您实际知道,如果不是因为专利许可,您在某个国家/地区传播受保护的作品,或您的接收者在某个国家/地区使用受保护的作品,将会侵犯您有理由相信是有效的在该国家/地区的一项或多项可识别的专利。

如果根据或与单笔交易或安排相关,您传播,或通过促使传播来传播受保护的作品,并向一些接收受保护作品的当事方授予专利许可,授权他们使用、传播、修改或传播受保护作品的特定副本,那么您授予的专利许可将自动扩展到所有受保护作品的接收者以及基于该作品的作品。

如果专利许可不包括其覆盖范围内的内容,禁止行使或以不行使本许可证明确授予的一项或多项权利为条件,则该专利许可具有“歧视性”。如果您与第三方达成协议,该第三方从事分发软件的业务,而您根据您传播该作品的活动程度向第三方付款,并且根据该协议,第三方授予任何从您那里接收受保护作品的当事方歧视性的专利许可(a)与您传播的受保护作品的副本(或从这些副本制作的副本)相关,或者(b)主要为了并与包含受保护作品的特定产品或汇编相关,除非您在2007年3月28日之前达成该协议,或授予该专利许可,否则您不得传播受保护的作品。

本许可证中的任何内容均不得解释为排除或限制任何在适用的专利法下可能对您可用的默示许可或其他侵权抗辩。

12. 不放弃他人的自由。

如果对您施加的条件(无论是通过法院命令、协议或其他方式)与本许可证的条件相矛盾,它们并不能免除您遵守本许可证的条件。如果您无法传播受保护的作品,以同时满足您在本许可证下的义务和任何其他相关义务,那么因此您不得传播它。例如,如果您同意的条款要求您向您传播该程序的人收取进一步传播的版税,那么您唯一可以满足这些条款和本许可证的方法就是完全停止传播该程序。

13. 远程网络交互;与GNU通用公共许可证一起使用。

尽管本许可证有任何其他规定,如果您修改该程序,您的修改版本必须显著地为所有通过计算机网络远程与其交互的用户(如果您的版本支持此类交互)提供机会,通过从网络服务器免费提供对相应源代码的访问,并通过某种标准或惯用的软件复制方式,接收您版本的相应源代码。此相应源代码应包括根据以下段落纳入的GNU通用公共许可证第3版涵盖的任何作品的相应源代码。

尽管本许可证有任何其他规定,您有权将任何受保护的作品与根据GNU通用公共许可证第3版许可的作品链接或组合成一个单独的组合作品,并传播由此产生的作品。本许可证的条款将继续适用于作为受保护作品的部分,但与之组合的作品仍将受GNU通用公共许可证第3版的管辖。

14. 本许可证的修订版本。

自由软件基金会可能会不时发布GNU Affero通用公共许可证的修订版本和/或新版本。这些新版本在精神上将与当前版本相似,但在细节上可能会有所不同,以解决新的问题或疑虑。

每个版本都有一个独特的版本号。如果该程序指定GNU Affero通用公共许可证的某个编号版本“或任何更高版本”适用于它,您可以选择遵循该编号版本或自由软件基金会发布的任何更高版本的条款和条件。如果该程序未指定GNU Affero通用公共许可证的版本号,您可以选择自由软件基金会发布的任何版本。

如果该程序指定一个代理可以决定可以使用GNU Affero通用公共许可证的哪些未来版本,该代理公开声明接受某个版本将永久授权您为该程序选择该版本。

后续的许可证版本可能会给您额外的或不同的权限。但是,由于您选择遵循后续版本,不会对任何作者或版权所有者施加额外的义务。

15. 免责声明。

在适用法律允许的范围内,本程序不提供任何保证。除非另有书面说明,否则版权所有者和/或其他方“按原样”提供本程序,不提供任何形式的明示或暗示保证,包括但不限于适销性和针对特定用途的适用性的暗示保证。关于本程序的质量和性能的全部风险由您承担。如果本程序被证明有缺陷,您将承担所有必要的维修、修复或更正的费用。

16. 责任限制。

在任何情况下,除非适用法律要求或另有书面约定,任何版权所有者或任何其他按照上述允许修改和/或传播本程序的一方,均不对您因使用或无法使用本程序而引起的损害承担责任,包括任何一般性、特殊性、偶然性或后果性损害(包括但不限于数据丢失或数据被呈现为不准确或您或第三方遭受的损失,或本程序未能与任何其他程序一起运行),即使该所有者或其他方已被告知可能发生此类损害。

17. 第15节和第16节的解释。

如果上述保证免责声明和责任限制无法根据其条款产生当地法律效力,则审查法院应适用最接近绝对放弃与本程序相关的所有民事责任的当地法律,除非有偿提供程序的副本时附带保证或承担责任。

条款和条件结束

如何将这些条款应用于您的新程序

如果您开发一个新程序,并且希望它对公众具有最大的可用性,那么实现这一目标的最佳方法是使其成为自由软件,任何人都可以根据这些条款重新分发和更改它。

为此,请将以下通知附加到程序中。最安全的方法是将它们附加到每个源文件的开头,以最有效地声明免除保证;并且每个文件都应至少具有“版权”行和一个指向完整通知所在位置的指针。

    <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 Affero 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 Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <https://gnu.ac.cn/licenses/>.

另请添加有关如何通过电子邮件和纸质邮件与您联系的信息。

如果您的软件可以通过计算机网络与用户远程交互,您还应确保它提供一种让用户获取其源代码的方法。例如,如果您的程序是Web应用程序,其界面可以显示一个“源代码”链接,该链接将用户引导到代码存档。您可以通过多种方式提供源代码,不同的解决方案对于不同的程序会更好;请参阅第13节了解具体要求。

如果需要,您还应该让您的雇主(如果您是程序员)或学校签署该程序的“版权免责声明”。有关此问题的更多信息,以及如何应用和遵循GNU AGPL,请参阅<https://gnu.ac.cn/licenses/>。