开源软件许可证系列译文——GNU Affero通用公共许可证(GNU APGL)

发布日期:2022-06-29  浏览次数:1330

翻译:戎宸  审校:李维朝


GNU Affero通用公共许可证

第3版,2007年11月19日

版权所有© 2007自由软件基金会

每个人都被允许复制和分发本许可证文档的完整副本,但不允许更改它。


序言

GNU Affero通用公共许可证是针对软件和其他类型的作品的自由的、著佐权(copyleft)的许可证,特别设计用于确保在网络服务器软件的情况下与社区合作。

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

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

使用 GNU GPL 的开发人员通过两个步骤保护你的权利:(1)声明软件的版权,以及(2)向你提供本许可证,授予你复制、分发和/或修改软件的法律许可。

保护所有用户自由的第二个好处是,在程序的替代版本中所做的改进,如果它们得到广泛的使用,就可以被其他开发者所采用。许多自由软件的开发者被由此产生的合作所鼓舞和鼓励。然而,在网络服务器上使用软件的情况下,这一结果可能不会发生。GNU通用公共许可证允许制作一个修改过的版本,并允许公众在服务器上访问它,而从不需向公众发布它的源代码。

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

由Affero发布的名为Affero通用公共许可证的旧版许可证,旨在实现类似目标。本许可证为不同的许可证,并非Affero通用公共许可证(“Affero GPL”)的一个版本,但Affero已发布新版的Affero通用公共许可证,允许在本许可证下重新许可。

关于复制、分发和修改的准确条款和条件应遵循下文规定。


条款和条件

0. 定义

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

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

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

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

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

“传播”作品意味着在未经许可的情况下对作品进行任何可能使你根据适用的版权法承担直接或次要侵权责任的事情,除非在计算机上执行或修改私人副本。传播包括复制、分发(无论是否修改)、向公众提供,以及在某些国家的其他活动。

“传送”作品是指任何使他人能够制作或接受副本的传播方式。仅仅通过计算机网络与用户进行交互,而没有副本的传送,不属于传送。

交互式用户界面显示“适当的法律声明”时,其包括一个方便和显著可见的特征,该特征(1)显示一个适当的版权声明,并且(2)告诉用户对该作品没有任何担保(除非担保被提供),被许可人可以在本许可下传送该作品,以及如何查看本许可证的副本。如果界面呈现用户命令或选项的列表,例如菜单,则列表中的突出选项满足该标准。


1. 源代码

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

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

可执行作品的“系统库”包括除了整个作品之外的任何东西,这些内容(a)以正常形式与主要组件打包在一起,但不是该主要组件的一部分,并且(b)仅用于与主要组件一起使作品可用,或者为了实现某些已向公众公开源代码的标准接口。“主要组件”在这里指的是运行可执行程序的特定操作系统(如果有的话)的主要的关键部件(内核、视窗系统等),或者生成该可执行程序时使用的编译器,或者运行该可执行程序的目标代码解释器。

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

相应的源代码不需要包含用户可以从相应源代码的其他部分中自动生成的内容。

源代码形式的作品的相应源代码是指其本身。


2. 基本许可

根据本许可证授予的所有权利均在本程序的版权期限内授予,并且在满足所述条件的情况下不可撤销。本许可证明确确认你无限制地运行本程序的未经修改版本的许可。运行受保护作品的输出,仅当其内容构成一个受保护的作品时,才受本许可证的约束。本许可证承认你的合理使用的权利或版权法规定的其他同等权利。

只要你的许可证仍然有效,你就可以无条件地制作、运行和传播你没有传送的受保护的作品。你可以将受保护的作品传送给其他人,其唯一目的是让他们专门为你进行修改,或为你提供运行这些作品的工具,前提是你在传送你不控制版权的所有材料时遵守本许可证的条款。那些为你制作或运行受保护的作品的人必须在你的指示和控制下完全代表你行事,并且禁止其在双方关系之外制作你享有版权的资料的副本。

在任何其他情况下,仅在下述条件下允许传送。不允许再许可,而第10条的存在使再许可变得没有必要。


3. 从反规避法中保护用户的合法权利

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

当你传送受保护的作品时,你放弃禁止规避技术措施的任何法律权力(legal power。注:本条的本意包括不寻求公权力的救济),只要这种规避是通过对受保护的作品行使本许可证下的权利而实现的。你即已表明没有意图通过限制用户操作或修改受保护的作品来确保你或第三方关于禁止规避技术手段的法定权利。


4. 传送完整副本

你可以在收到本程序的源代码后,以任何媒介传送其完整副本,但你必须在每份副本上醒目地、适当地发布适当的版权声明;完整地保留本许可证和任何按照第7条加入的非许可性条款;完整地保留所有的不担保声明;并随本程序给所有的接收者一份本许可证的副本。

你可以免费或收费传送副本,你也可以提供技术支持或者责任担保来收取费用。


5. 传送修改过的源代码版本

你可以以源代码的形式传送基于本程序的作品,或根据本程序进行的修改,除满足第4条外还必须满足以下所有条件:

a) 作品必须有醒目的声明,说明你对其进行了修改,并给出相关的日期。

b) 作品必须有醒目的声明,说明它是根据本许可证和根据第7条增加的任何条件发布的。这一要求修改了第4条中“保持所有声明完整”的要求。

c) 你必须将整个作品作为一个整体,根据本许可证授权给任何拥有副本的人。因此,本许可证将与任何适用的第7条附加条款一起,适用于整个作品及其所有部分,无论是以什么形式打包的。本许可证不允许以任何其他方式许可该作品,但如果你已经单独收到了这种许可,本许可证不会使这种许可失效。

d) 如果作品有交互式用户界面,每个界面都必须显示适当的法律声明;但是,如果本程序有交互式界面,但没有显示适当的法律声明,你的作品不需要使其显示。

在一个存储或分发媒介的某一卷中或附加在该卷上的由受保护的作品和其他单独且独立的作品汇编而成的作品,在性质上不是受保护的作品的自然延伸,也没有与受保护的作品组合成更大的程序,如果汇编作品及其所产生的版权没有用来限制使用者使用该汇编作品或其合法权利超出该单个作品所允许的范围,则该汇编作品被称为“聚合物”。将一个受保护的作品包含在一个聚合物中并不导致本许可证适用于聚合物的其他部分。


6. 传送非源代码形式

你可以根据第4条和第5条的规定,以目标代码的形式传送受保护的作品,但你也必须根据本许可证的规定,以下列方式之一传送机器可读的相应源代码:

a) 在实体产品(包括物理分发介质)中或体现在实体产品中传送目标代码,并伴随着将相应的源代码固定在通常用于软件交换的耐用物理介质上。

b) 在实体产品(包括物理分发介质)中或体现在实体产品中传送目标代码,并附有一份至少三年有效的书面承诺,并且只要你为该产品提供备件或客户支持服务,就一直有效。向任何拥有目标代码的人提供(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款所授予的任何专利授权)。

然而,如果你停止了所有违反本许可证的行为,你从特定版权所有人处获得的许可恢复:(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条的解释

如果上述规定的不提供担保和责任限制的声明根据其条款不能被赋予本地法律效力,审查法院应适用最接近绝对放弃与本程序相关的所有民事责任的本地法律,除非本程序副本附带的担保或责任承担是有偿的。

条款和条件结束


如何将这些条款应用到你的新程序中

如果你要开发一个新的程序,并且你希望它能最大限度地为公众所用,那么最好的办法就是让它成为人人都可以在这些条款下重新发布和修改的自由软件。

要做到这一点,请在程序中附加以下声明。最安全的做法是将它们附加在每个源文件的开头,以最有效地声明排除担保;每个文件至少应有“版权”行和指向找到完整声明位置的提示。

<一行给出程序的名称和其用途简介。>

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

这个程序是自由软件:你可以根据自由软件基金会发布的 GNU Affero通用公共许可证第3版,或者(由你选择)任何后续版本的条款下重新发布和/或修改它。

本程序发布的目的是希望它将会有用,但没有任何担保;甚至没有关于适销性或适用于特定用途的默示担保。更多细节见GNU Affero通用公共许可证。

你应该与本程序一起收到一份GNU Affero通用公共许可证的副本。如果没有,请参阅< http://www.gnu.org/license/>。

同时附上如何通过电子邮件和纸质邮件与你联系的信息。

如果你的软件可以通过计算机网络与用户进行远程交互,你还应该确保它为用户提供获取源代码的方式。例如,如果你的程序是一个web应用程序,它的界面可以显示一个“源代码”链接,将用户引导到代码的归档文件。你提供源代码的方式可以有很多种,不同的解决方案对于不同的程序会更好;具体的要求见第13条。

如有必要,你还应让你的雇主(如果你是程序员)或学校(如有)签署程序的“版权放弃承诺书”。关于这方面的更多信息,以及如何申请并遵守GNU AGPL,请参见< http://www.gnu.org/licenses >。