Skip to main content

GNU Affero 通用公共许可证

第3版, 2017年11月19日

版权所有 (C) 2007年 自由软件基金会 https://fsf.org/。

任何人都可以复制和发布本许可证的完整副本,但不允许修改。

译者声明

This is an unofficial translation of the GNU Affero General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU GPL does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better.

本译文是GNU Affero 通用公共许可证的非官方中文翻译,并非自由软件基金会发布,不适合作为使用GNU通用公共许可证发布的软件的法律声明——只有GNU通用公共许可证英文原版才具有法律效力。不过我们希望本翻译能够帮助中文读者更好地理解GNU通用公共许可证。

仅在遵循 https://www.gnu.org/licenses/translations.html 中的条款时,你才可以经过修改地或者不经过修改地发布本译文。

引言

GNU Affero通用公共许可证是一个面向软件和其他类型作品自由的、著佐权许可证,专门针对网络服务软件,确保社区合作而设计。

就多数软件而言,许可证被设计用于剥夺你分享和修改软件的自由。相反,通用公共许可证力图保障你分享和修改某程序全部版本的权利——确保自由软件对其用户来说是自由的。我们——自由软件基金会——将GNU通用公共许可证用于我们的大多数软件,并为一些其他作品的作者效仿。你也可以将本许可证用于你的程序。

所谓自由软件,强调自由,而非免费。设计通用公共许可证的目的在于确保你享有分发自由软件的自由(你可以为此服务收费),确保你可以在需要的时候获得这些软件的源代码,确保你可以修改这些软件或者在新的自由软件中复用其中某些片段,并且确保你在这方面享有知情权。

采用我们通用公共许可证的开发者通过两步保障你的权利:(1)声明软件的版权;(2)通过本许可证授予你合法地复制、分发和修改该软件的权利。

捍卫所有用户自由的次要好处是如果在软件替代版本在的改进被广泛实用,其他开发者也可以采用它们。很多自由软件的开发者对产生的合作感到振奋和受到鼓舞。然而,对于网络服务器上使用的软件,这种结果可能不会出现。GNU通用公共许可证允许在服务器上提供一个公众可以访问的修改版,而不需要向公众提供修改版的源代码。

GNU Affero通用公共许可证针对这种情况设计,让修改后的代码仍然能被社区使用。这要求网络服务器的运营商提供在服务器上为用户运行的修改版的源代码。 因此,公众使用的修补版,在一个公众可以访问的服务器上,公众可以获得修改版的源代码。

Affero发布的一个称为Affero通用公共许可证的旧许可证,也为实现类似的目的。那个许可证不是GNU Affero通用公共许可证的版本,但是Affero已经发布了新版本,允许在该许可证下重新许可。

下文是关于复制、分发和修改的详细条款和条件。

条款和条件

0. 定义

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

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

“本程序”指任何受本许可证保护的任何有版权的作品。每位被授权人称作“你”。“被授权人”和“接收者”可以是个人或组织。

“修改”一个作品指需要版权授权才能复制该作品以及对作品全部或部分的改编行为,不同于制作完全相同的副本。所产生的作品称作上一作品的“修改版”,或“基于”上一作品衍生作品。

“涵盖的作品”指未修改的程序或其衍生作品。

“传播”作品指那些未经授权就会在适用版权法律下构成直接或间接侵权的任何行为,但在计算机上运行和修改私有副本除外。传播包括复制、分发(无论修改与否)、向公众公开,以及在某些国家的其他行为。

“传递”作品指让他方能够制作或者接收副本的行为。仅仅通过计算机网络与用户交互,但没有传输副本,则不算传递。

显示“适当的法律声明”的交互式用户界面应包括一个方便和醒目的可视化方式显示:(1)适当的版权声明;(2)告知用户没有品质担保(提供了品质担保的情况除外),被授权人可以在本许可证约束下传递该作品,及查看本许可证副本的途径。如果该界面是以命令列表或者选项方式显示,如菜单,在列表项显示上述法律声明,也是符合本要求。

1. 源代码

作品的“源代码”指其可修改的首选形式,目标代码指所有其他形式。

“标准接口”指标准化组织定义的官方标准中的接口,或针为某种编程语言设定的为开发者广泛使用的接口。

可执行作品中的“系统库”不是指整个程序,而是包含任何这类内容的部分:(a)以通常形式和主要组件打包到一起却并非后者的一部分,且(b)仅为和主要组件一起使该作品可用或实现某些已有公开实现源代码的接口。“主要组件”在这里指可执行该作品运行依赖的操作系统(如果存在)的必要组件(内核、窗口系统等),或者生成该作品的编译器,或运行所需的目标代码解释器。

目标代码作品的“相应源代码”指所有修改该作品及生成、安装、运行(对可执行作品而言)目标代码所需的所有源代码,或者修改作品的所有源代码,包括控制上述行为的脚本。可是,其中不包括系统库、通用工具、不需要修改就可以直接用于支持上述行为但不是该作品一部分的、通常可得的自由软件。例如,相应的源代码包含与作品源文件相关的接口定义,以及共享库和该作品专门依赖的动态链接子程序的源代码。这里的依赖体现为密切的数据交换或者该子程序和作品其他部分的控制流切换。

相应的源代码不必包含那些用户可以通过源代码其他部分自动生成的内容。

源代码形式作品的相应源代码即该作品本身。

2. 基本授权

本许可证的所有授权都是对本程序的版权而言的,并且当所述条件都满足时不可撤销。本许可证明确授权你不受限制地运行本程序的未修改版本。运行涵盖的作品的输出结果,仅当其内容构成一个涵盖的作品时,才受本许可证约束。如版权法授权一样,本许可证承认你合理使用权或其他同等权利。

只要你获得的许可仍有效,你就可以制作、运行和传播不是你传递的涵盖的作品。在你遵守本许可证中关于转发你拥有版权的材料的条款时,你可以向他人传递涵盖的的作品,以让对方单独为你定制修改,或者向你提供运行这些作品的工具。那些为你制作或运行这些涵盖的作品的人,必须在你的指引和控制下,仅代表你工作,即禁止他们在双方关系之外制作任何你提供的受版权保护材料的副本。

仅当满足后文所述条件时,其他各种情况下的传递才是被允许的。不允许再授权,而第10条的存在也使再授权变得没有必要。

3. 保护用户的合法权益免受反破解法限制

为了履行1996年12月20日通过的WIPO版权条约第11章规定的义务,法律规定了禁止或规避措施的条款,所有涵盖的作品不应该被视为规避这些法律条款的技术手段的一部分。

如果你传递一个涵盖的作品,即表明你放弃禁止技术规避措施的法律权利,行使本许可证所授予权利可以实现规避,同时,你也放弃禁止技术规避措施相关的法律赋予你或者第三方限制运行或者修改本作品的权利。

4. 传递原始副本

你可以通过任何媒介传递你接收到的本程序的完整源代码副本,但必须做到:为每一个副本明显而恰当地发布版权声明;完整地保留关于本许可及按第7条加入的非许可性条款;完整地保留所有免责声明;给接收者附上一份本许可证的副本。

你可以免费或收任何费用传递,也可以选择提供技术支持或品质担保以收取费用。

5. 传递经过修改的源代码

你可以以第4条规定的源代码形式传递基于本程序的作品或修改的内容,但必须满足以下要求:

  • a) 该作品必须带有明显的修改声明及相应的日期。

  • b) 该作品必须带有明显的声明,指明其在本许可证及任何符合第7条的附加条款下发布。这个要求修正了第4条关于“完整保留所有声明”的内容。

  • c) 你必须按照本许可证将该作品整体许可给任何得到副本的人。本许可证与符合第7条的附加条款共同适用于整个作品,以及作品的任何一部分,不管它们是如何组建的。本许可证不允许以其他形式许可本作品,但不会使你已经单独收到的其他授权无效。

  • d) 如果该作品有交互式用户界面,则其必须显示适当的法律声明。然而,当该程序有交互式用户界面却不显示适当的法律声明时,你的作品也无需使其显示。

一个涵盖的作品与其他单独且独立的作品组成一个组合,其中的单独作品既不是涵盖的作品的自然延伸,也不是为了与涵盖的作品组成更大程序而与被保护作品存储或者分发介质上,并且这种组合和组合后的版权不会限制单独作品的授权,则这种组合称为“组合体”。

6. 以非源代码形式传递

你可以以第4条和第5条所述那样以目标代码形式传递涵盖的作品,同时在本许证可规范下以如下方式之一传递机器可读的对应源代码:

  • a) 通过物理产品(包括物理分发媒介)传递或者嵌入目标代码时,通过常用于软件交换的耐用型物理媒介传递相应的源代码。

  • b) 通过物理产品(包括物理分发媒介)时,附随具有至少3年有效期的书面承诺,并且有效期涵盖提供的备件或客户支持,以授予任何目标代码的持有者:(1)获得产品中全部涵盖的软件的相应源代码的副本,副本通过常用于软件交换的耐用型物理媒介提供,且收费不超过其合理的传递成本;或者(2)通过网络免费获得相应源代码的途径。

  • c) 单独传递目标代码的副本时,伴以提供源代码的书面承诺。本选项仅在偶尔并且非商业情况下,同时你收到也是第6条b项所述的目标代码的情况下可用。

  • d) 通过在指定地址获取目标代码(无论是否收费)的形式传递目标代码时,对同一地址以同样的方式提供相应源代码同等访问权限,并不得额外收费。你不必要求接收者在复制目标代码的同时复制源代码。如果提供获取目标代码的地址为网络服务器,相应的源代码可以提供在另一个支持相同复制功能的服务器上(由你或者第三方运营),不过你要在目标代码处指出相应源代码的确切路径。不管你用什么源代码服务器,你有义务要确保持续可用以满足这些要求。

  • e) 通过点对点传输传递目标代码时,告知其他节点目标代码和源代码在何处,并以第6条d项形式向大众免费提供。

如果目标代码的可分离部分,其源代码作为系统库在相应的源代码之外,则不需要被包括在传送目标代码作品中。

“用户产品”指(1)“消费品”,即个人、家庭或日常用途的个人的有形财产;或者(2)面向家庭设计或销售的物品。在判断一款产品是否消费品时,对于有争议的案例,应尽量扩大覆盖范围。就特定用户接收到特定产品而言,“正常使用”指对此类产品的典型的或一般使用,与该用户的身份,该用户对该产品的实际用法,以及该产品的预期用法无关。无论产品是否实质上具有商业上的,工业上的,及非面向消费者的用法,它都视为消费品,除非以上用法代表了它唯一的重要使用模式。

用户产品的“安装信息”,指基于修改过的源代码来安装运行该产品中的涵盖的作品的修改版所需的方法、流程、授权秘钥及其他信息。这些信息必须足以保证修改过的目标代码不会仅仅因为被修改过而不能继续工作。

如果你根据本条规定,传递一个目标代码作品到用户产品中或与用户产品一起,或专门用于特定用户产品,并且传送行为成为交易的一部分,使得用户产品永久或在特定期限内暂时转移给接收者(无论交易的特征如何),必须通过安装信息附上根据本条传递的相应来源。但如果你和第三方都没有在用户产品中保留安装修改目标代码的能力时,可以不遵守该要求(例如,作品有已安装在 ROM 中)。

提供安装信息的要求不包括对接受者修改或者安装、或者已经被修改或者安装的用户产品继续提供支持服务、品质担保或者升级。当修改本身对网络运行有重大负面影响,或违反网络通信规则和协议时,可能会被拒绝访问网络。

根据本条规定,所专递相应源代码和所提供的安装信息必须以公开的文档格式(并且以源代码形式实现对公众可用)存在,同时不得对解包、阅读和复制设置任何密码或秘钥。

7. 附加条款

“附加许可”用于补充本许可证的条款,以允许一或者多个例外情况。如果附加许可适用于整个程序且在适用的法律范围内有效,就应该视为本许可证的一部分。如果附加许可只适用于程序的某部分,则该部分受此附加许可约束,而其他部分受不适用附加许可之外的条款约束。

当你传递本程序的副本时,你可以选择性从副本中删除任何附加许可。(在某些情况下,当你修改作品时,附加许可可能已经写明要求你删除该附加许可。)对于你传递的作品,如果你拥有或者可以适当地授权,你也可以在作品的材料中添加附加许可。

尽管本许可证还有的其他条款,对于你添加到涵盖的作品中的材料,你可以对本许可证(如果你获得该材料版权持有人的授权)添加如下补充条款:

  • a) 以第15条、第16条之外的方式,拒绝提供品质担保或缩小责任范围。或者

  • b) 要求在此材料中或在法律声明中包含特定的合理法律声明或作者信息。或者

  • c) 禁止对该原始材料不当描述,或要求用不同与原始版本的方式对该材料修改版本合理标示。或者

  • d) 限制公开使用授权人或者该材料作者姓名。或者

  • e) 拒绝使用在商标法下使用商号、商标及服务标识。

  • f) 任何传递该材料(或其修改版)者,如果对接收者提供契约性责任许诺,需要为授权人或者该材料作者承担赔偿责任,因为任何契约假设责任都造成授权人或者作者承担。

此外的非授权附加条款都被视作第10条所说的“进一步的限制”。如果你接收到的程序或程序的任何部分,包含受本许可约束的声明,却补充了这种进一步的限制条款,你可以删除它们。如果某许可文件包含进一步的限制条款,但允许通过本许可证再授权或传递,你可以添加受该许可文件保护的材料,同时提供其他的再许可或者传递的进一步限制条款。

如果你根据本条规定向涵盖的作品添加了新的条款,你必须在相关的源文件中加入附加条款的对应的声明,或者指明在哪里可以找到适用的条款。

附加条款,不管是授权的还是非授权的,可以以独立的书面许可出现,也可以声明为例外情况,两种做法都可以实现上述要求。

8. 终止

除非在本许可证明确授权下,你不得传播或修改涵盖的作品。其他任何传播或修改涵盖的作品的做法都是无效的,你通过本许可证获得的权利(包括第11条第3段中授予的专利权限)也自动终止。

然而,当你不再违反本许可证时,你从特定版权持有人处获得的许可可以:(1)暂时恢复,直到版权持有人明确终止;(2)永久恢复,如果版权持有人没能在60天内以合理的方式指出你的侵权行为。

再者,如果你第一次收到了特定版权持有人关于你违反本许可证(对任意作品)的通知,且在收到通知后30天内改正,那你可以继续享此有许可。

当你享有的权利如本条所述被中止时,根据本许可证从你这里获得许可的第三方的权利不会因此中止。在你的权利恢复之前,你没有资格凭第10条获得同一材料的许可。

9. 持有副本不需要接受

你不必为接收或运行本程序而接受本许可。类似地,仅仅因点对点传输接收到副本引发的对涵盖的作品的辅助性传播,并不要求接受本许可证。但是,除本许可证外没有什么可以授权你传播或修改任何涵盖的作品。如果你不接受本许可证,这些行为就侵犯了著作权。因此,一旦修改和传播一个涵盖的作品,就表明你接受了本许可证。

10. 对下游接收者的自动授权

每当你传递一个涵盖的作品,其接收者自动获得来自原始授权人的许可,依照本许可证可以运行、修改和传播此作品。你没有要求第三方遵守本许可证的责任。

“实体交易”指转移一个组织的控制权或全部资产、或拆分或合并组织的交易。如果实体交易导致一个涵盖的作品的传播,则交易中各收到作品副本方,都有获得前利益相关者享有或可以如前段所述提供的对该作品的任何授权,以及从前利益相关者处获得并拥有相应的源代码的权利,如果前利益相关者享有或可以通过合理的努力获得此源代码。

你不可以对本许可证所授权利的行使施以进一步的限制。例如,你不可以索要许可费或版税,或就行使本许可证所授予的权利征收其他费用;你也不能发起诉讼(包括交互诉讼和反诉),宣称制作、使用、零售、批发、引进本程序或其部分的行为侵犯了任何专利声明。

11. 专利

“贡献者”指通过本许可证对本程序或其衍生作品进行许可的版权持有人。贡献者许可的作品称为“贡献者版本”。

贡献者的“必要专利声明”是由贡献者拥有或控制所有专利声明,无论是已经获得还是将要获得的,通过本许可证授权本来侵犯行为,例如制作、使用或销售其贡献者版本,但不包括仅对贡献者版本进一步修改的行为。根据本定义,“控制”包括符合本许可证要求的专利再许可的权利。

每位贡献者皆其就拥有的实际专利权限,授予你一份全球有效的免版费的非独占专利许可,以制作、使用、零售、批发、引进,及运行、修改、传播其贡献者版的内容。

在以下3段中,“专利授权”指通过任何方式明确表达的不行使专利权(如对使用专利的明确许可和不起诉专利侵权的契约)的协议或承诺。对某方“授予”专利权限,指这种不对其强制行使专利权的协议或承诺。

如果你传递的涵盖的作品时,明知需要某专利授权,而其相应的源代码并不是任何人都能根据本许可从网上或其他地方免费获得,那你必须(1)提供相应的源代码;或者(2)放弃从该程序的专利授权中的权益;或者(3)以某种和本许可相一致的方式将专利许可扩展到下游接收者。“明知需要”指你实际上知道若没有专利授权,你在某国家传递涵盖的作品的行为,或者接收者在某国家使用涵盖的作品的行为,会侵犯一项或多项该国认定的专利,而这些专利你有理由相信它们的有效性。

如果根据单一交易或安排,抑或与之相关,你传递某涵盖的作品,或通过促成其转手以实现传播,并且该作品的接收方被授予专利权限,以使其可以使用、传播、修改或转发该作品的特定副本,则此等专利授权将自动延伸及每一个收到该作品或其衍生作品的接受者。

如果某专利在其涵盖范围内,不包含本许可证专门授予的一项或多项权利,禁止行使它们或以不行使它们为前提,则该专利是“歧视性”的。如果你和软件发布行业的第三方有合作,合作要求你就转发涵盖的作品的情况向其付费,并授予作品接收方歧视性专利,而且该专利(a)与你转发的副本(或在此基础上制作的副本)有关,或针对包含该涵盖的作品的产品或联合作品,你不得转发本程序,除非参加此项合作或取得该专利授权早于2007年3月28日。

本许可证的任何部分不应被解释成在排斥或限制任何暗含的许可,或者其他在适用专利法下对抗侵权的措施。

12. 不得牺牲他人的自由

即便你面临与本许可证条款冲突的条件(来自于法庭要求、协议或其他),也不能成为你违反本许可证的理由。倘若你不能在传递涵盖的作品时同时满足本许可证和其他相关文件的要求,那么你就不要传递本程序。例如,你为了遵循某些要求,你必须向传递对象的接收者收取版税,唯一能同时满足它和本许可证要求的做法便是不传递本程序。

13. Remote Network Interaction; Use with the GNU General Public License.

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

尽管本许可证中已存在其他条款,如果你修改了本程序,你的修改版必须在明显位置向所有通过计算机网络(如果你的版本支持此类交互)交互的用户在网络服务器上提供标准的或者符合用户习惯的、免费地获取你的版本的相应的源代码的方式。

尽管本许可证有其他规定,你有权将任何涵盖的作品与根据 GNU 通用公共许可证第 3 版许可的作品链接或组合成一个单一的组合作品,并传递由此产生的作品。 本许可证的条款将继续适用于包含作品的部分,但与之结合的作品将继续受 GNU 通用公共许可证第 3 版的约束。

14. 本许可证的修订版

自由软件基金会可能会不定时发布GNU通用公共许可证的修订版或新版。新版将秉承当前版本的精神,但在细节上描述不尽相同,以解决新的问题或事项。

每一版都会有不同的版本号,如果本程序指定其使用的是某个GNU通用公共许可证的版本“或后续版本”,你可以选择遵守该版本或者任何后续版本的条款。如果本程序没有指定许可证的版本,你可以选用自由软件基金会发布的GNU通用公共许可证任何版本。

如果本程序指明代理可以决定使用GNU通用公共许可证哪个版本,则该代理的公开声明的版本为授权你永久使用的版本。

后续版本可能会给予你额外或不同的许可。但是,任何作者或版权持有人的义务,不会因为你选择新后续版本而增加。

15. 免责声明

本程序在适用法律范围内不提供品质担保。除非另作书面声明,版权持有人及其他程序提供者“概”不提供任何显式或隐式的品质担保,品质担保所指包括而不仅限于有经济价值和适合特定用途的保证。全部风险,如程序的质量和性能问题,皆由你承担。若程序出现缺陷,你将承担所有必要的修复和更正服务的费用。

16. 责任限制

除非适用法律或书面协议要求,任何版权持有人或本程序按本许可证可能存在的第三方修改和再发布者,都不对你的损失负有责任,包括由于使用或者不能使用本程序造成的任何一般的、特殊的、偶发的或重大的损失(包括而不限于数据丢失、数据失真、你或第三方的后续损失、其他程序无法与本程序协同运作),即使有人声称会对此负责。

17. 第15条和第16条的解释

如果上述免责声明和责任限制不为地方法律所支持,上诉法庭应采用与之最接近的关于放弃本程序相关民事责任的地方法律,除非本程序附带收费的品质担保或责任许诺。

条款和适用条件结束

如何将上述条款应用到你的程序

如果你开发了一个新程序,并且希望它最大限度地被公众所使用,最好的办法就是将其作为自由软件,使得每个人都可以按照本许可证分发和修改。

为此,最安全、最有效的办法是将如下的声明附在每个文件开头,以明确传达免责声明。每个文件应当最少包含一个“版权声明”和一个本许可证的完整声明。 <用一行标明程序的名称和作用。 >

版权所有 (C) <年份> <作者姓名>

本程序是自由软件,你可以根据自由软件基金会发布的GNU通用许可证自由地再分发或者修改。本程序适用第3版或者后续版本(具体随你)。

我们希望本程序有用,但是不提供任何保证,甚至不保证它的经济价值或者适合特定目的。具体细节参加GNU通过公共许可证。

你应当随本程序收到了GNU通用公共许可证的副本,如果没有,请参阅https://www.gnu.org/licenses/

同时提供你的电子邮件或者纸质邮件地址。

如果你的软件可以通过计算机网络远程与用户交互,你应该确保它提供了让用户获得源代码的方式。例如,你的程序是一个Web应用程序,它应该显示“源代码”链接,以让用户访问代码存档。提供源代码的方式有多种,不同的程序适合不同的方式;具体参考第13条。

如果需要,你还应该得到你的雇主(如果你是一名程序员)或者学校(如果有的话)签署该本程序的放弃版权声明。关于如何应用及遵循GNU通用公共授权许可证的详细信息,请查看 https://www.gnu.org/licenses/


翻译: 赵振华 zhao.zhenhua@gmail.com

发布日期:2023年1月19日

地址: https://github.com/zRich/gpl/blob/main/agplv3/agplv3.pdf

如有修改建议欢迎发邮件或者到 https://github.com/zRich/gpl 讨论。