GNU Affero通用公共许可证

GNU Affero通用公共许可证- GNU工程-自由软件基金会(FSF)

Gnu affero通用公共许可证

第三版,2007年11月19日

版权所有©2007 Free Software Foundation, Inc. <http://fsf.org/>
每个人都被允许复制和分发本许可文件的逐字副本,但不允许修改它。

序言

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

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

当我们谈到自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您拥有发布自由软件副本的自由(如果您愿意,还可以对其收费),您可以获得源代码,或者如果您想要的话可以获得源代码,您可以更改软件或将其部分用于新的自由程序,并且您知道您可以做这些事情。

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

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

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

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

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

条款和条件

0.定义。

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

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

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

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

“涵盖的作品”是指未经修改的程序或基于程序的作品。

“传播”一个作品意味着在未经许可的情况下对它做任何事情,这会使你在适用的版权法下直接或间接地承担侵权责任,但在计算机上执行或修改私人副本除外。传播包括复制、分发(有或没有修改)、向公众提供,在某些国家还包括其他活动。

“传达”一个作品是指任何形式的传播,使其他各方能够制作或接收副本。仅仅通过计算机网络与用户进行交互,而不传送副本,不属于传递。

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

1.源代码。

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

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

一个可执行作品的“系统库”包括任何东西,除了作为一个整体的作品,它(a)包含在一个主要组件的正常包装形式中,但不是该主要组件的一部分,并且(b)仅用于允许与该主要组件一起使用该作品,或者实现一个标准接口,其实现以源代码形式向公众提供。在此上下文中,“主要组件”是指运行可执行工作的特定操作系统(如果有的话)的主要基本组件(内核、窗口系统等),或者用于生成该工作的编译器,或者用于运行该工作的目标代码解释器。

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

对应源不需要包含用户可以从对应源的其他部分自动生成的任何内容。

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

2.基本权限。

本许可证授予的所有权利都是在程序的版权期限内授予的,并且在满足所述条件的情况下是不可撤销的。本许可证明确确认您可以不受限制地运行未经修改的程序。运行覆盖程序的输出,仅在给定其内容的情况下,构成覆盖程序时,才受本许可证的保护。本许可证承认您享有版权法规定的合理使用或其他同等权利。

只要您的许可证仍然有效,您可以无条件地制作、运行和传播您没有传达的涵盖作品。您可以仅为了让他人为您进行修改,或为您提供运行这些作品的设施而将涵盖的作品传递给他人,前提是您在传递所有您不控制版权的材料时遵守本许可证的条款。因此,那些为您制作或运行涵盖作品的人必须完全代表您,在您的指导和控制下,按照禁止他们在与您的关系之外制作您的版权材料的任何副本的条款这样做。

在任何其他情况下,只有在下述条件下才允许输送。不允许转授权;第10节使它变得不必要。

3.反规避法对用户合法权益的保护

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

当您传送涉及的作品时,您放弃任何禁止规避技术措施的法律权力,这种规避是通过行使本许可证下对涉及的作品的权利而实现的,并且您放弃任何限制对作品的操作或修改的意图,作为对作品用户强制执行的手段,您或第三方禁止规避技术措施的法律权利。

4.传递逐字副本。

您可以在任何媒体上传递您收到的程序源代码的逐字副本,只要您在每个副本上显著且适当地发布适当的版权声明;完整保留所有声明本许可证和根据第7条添加的任何非许可条款适用于代码的通知;保存所有没有任何保证的通知;并向所有接受者提供本许可证和本程序的副本。

您可以对您传送的每一份副本收取任何价格或不收取任何价格,您也可以提供有偿的支持或保证保护。

5.传送修改后的源版本。

您可以根据第4节的条款,以源代码的形式发布基于本程序的作品,或根据本程序修改后的作品,前提是您同时满足以下所有条件:

  • a)作品必须带有显著的通知,说明你修改了它,并给出了相关的日期。
  • b)该作品必须带有显著的通知,说明它是根据本许可证发布的,以及根据第7条添加的任何条件。此要求修改了第4节中的要求,以“保持所有通知完好无损”。
  • c)您必须根据本许可证将整个作品作为一个整体授权给任何拥有副本的人。因此,本许可将与任何适用的第7条附加条款一起,适用于整个作品及其所有部分,无论它们是如何打包的。本授权不允许以任何其他方式授权该作品,但如果您已单独收到该作品,则不会使该许可无效。
  • d)如果作品具有交互式用户界面,则每个作品都必须显示适当的法律声明;但是,如果程序具有不显示适当法律声明的交互界面,则您的工作无需使其显示适当法律声明。

将涉及的作品与其他单独和独立的作品(从本质上讲,这些作品不是涉及的作品的扩展,也不是与之结合,例如形成一个更大的程序)在存储或分发媒介的卷中或卷上的汇编,如果汇编及其产生的版权不用于限制汇编用户的访问或合法权利,则称为“集合”,超出单个作品允许的范围。在集料中包含涵盖的作品并不会导致本授权适用于集料的其他部分。

6.传递非源表单。

您可以根据第4节和第5节的条款,以目标代码的形式发布涵盖的作品,前提是您也根据本许可证的条款,以下列方式之一发布机器可读的相应源代码:

  • a)在物理产品(包括物理分发介质)中传递或体现目标代码,并将相应的源代码固定在通常用于软件交换的耐用物理介质上。
  • b)传达的对象代码,或体现在,一个物理产品(包括物理分布介质),伴随着一份书面报价,有效期为至少3年有效期,只要你提供零部件或客户支持产品模型,给那些拥有对象代码要么(1)的一个副本中的所有软件产品的相应的源由本授权,在一个持久的物理介质通常用于软件交换,以不超过您实际执行此传递源的合理成本的价格,或(2)免费从网络服务器复制相应的源。
  • c)将目标代码的单独副本与提供相应源代码的书面报价副本一起传递。这种替代方案只允许偶尔和非商业地使用,并且只有在您收到带有此类报价的目标代码时才允许,符合第6b小节。
  • d)通过提供从指定地点(免费或收费)访问的方式来传递目标代码,并通过相同地点以相同方式提供对相应源代码的同等访问,而不进一步收费。您不需要要求收件人在复制目标代码的同时复制相应的源代码。如果复制目标代码的地方是网络服务器,那么相应的源代码可能在支持等效复制设施的不同服务器上(由您或第三方操作),只要您在目标代码旁边保持明确的指示,说明在哪里可以找到相应的源代码。无论哪个服务器托管相应的源,您都有义务确保它在满足这些需求所需的时间内可用。
  • e)使用点对点传输传递目标代码,前提是您告知其他对等方,在何处根据第6d款免费向公众提供目标代码和相应的工作源。

目标代码的可分离部分,其源代码作为系统库被排除在相应的源代码之外,不需要包括在传递目标代码工作中。

“用户产品”是指(1)“消费品”,即通常用于个人、家庭或家庭用途的任何有形个人财产,或(2)设计或出售用于住宅的任何物品。在确定产品是否为消费品时,应解决疑案以支持承保范围。对于特定用户收到的特定产品,“通常使用”是指该类产品的典型或常见使用,而不考虑特定用户的状态或特定用户实际使用或期望或预期使用该产品的方式。无论产品是否有大量的商业、工业或非消费者用途,产品都是消费品,除非这些用途代表了产品的唯一重要使用模式。

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

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

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

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

7.附加的条款。

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

当您传送涵盖作品的副本时,您可以自行选择移除该副本或其任何部分的任何附加权限。(在某些情况下,当您修改工作时,可能会编写额外的许可以要求删除它们。)您可以对您已经或可以给予适当版权许可的材料添加额外的许可,这些材料由您添加到涵盖的作品中。

尽管本许可证有任何其他规定,对于您添加到涵盖作品中的材料,您可以(如果该材料的版权所有者授权)使用以下条款补充本许可证的条款:

  • a)根据本许可证第15条和第16条的规定,放弃保证或限制责任;或
  • b)要求在该材料或包含该材料的作品所显示的适当法律声明中保留指定的合理法律声明或作者归属;或
  • c)禁止歪曲该材料的来源,或要求以合理的方式将该材料的修改版本标记为与原始版本不同;或
  • d)限制为宣传目的使用材料的许可人或作者的姓名;或
  • e)拒绝根据商标法授予使用某些商品名称、商标或服务标志的权利;或
  • f)要求任何将材料(或其修改版本)以合同假设向接收方承担责任的方式传递给该材料的许可人和作者的人对这些合同假设直接强加给这些许可人和作者的任何责任进行赔偿。

所有其他非许可的附加条款都被认为是第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通用公共许可证第三版的约束。

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

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

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

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

以后的许可证版本可能会给您额外的或不同的权限。然而,没有额外的义务强加给任何作者或版权所有者,因为您选择遵循较新的版本。

15.免责声明。

在适用法律允许的范围内,本程序不提供任何保证。除非另有书面规定,版权持有人和/或其他各方“按原样”提供程序,不提供任何形式的明示或暗示的保证,包括但不限于对适销性和适合特定目的的暗示保证。程序的质量和性能的全部风险由您承担。如果程序被证明有缺陷,您承担所有必要的服务、修理或纠正费用。

16.责任限制。

在任何情况下,除非适用法律要求或书面同意,否则任何版权持有人或按照上述许可修改和/或传播程序的任何其他方均不应对您承担损害赔偿责任,包括任何一般、特殊、因使用或无法使用程序而引起的附带或间接损害(包括但不限于数据丢失或数据不准确或您或第三方遭受的损失,或程序无法与任何其他程序一起运行),即使该持有人或其他方已被告知此类损害的可能性。

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

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

条款和条件结束

如何将这些术语应用到你的新项目中

如果你开发了一个新程序,你希望它对公众有最大的用处,实现这一目标的最好方法是使它成为自由软件,每个人都可以在这些条款下重新发布和修改。

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

<一行给出程序的名称和它的功能的简要概念。>Copyright (C)   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 .

同时添加如何通过电子邮件和纸质邮件与您联系的信息。

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

如果有必要,你还应该让你的雇主(如果你是一名程序员)或学校(如果有的话)为你的程序签署一份“版权免责声明”。有关这方面的更多信息,以及如何应用和遵循GNU AGPL,请参见<http://www.gnu.org/licenses/>。