许可证

Affero 通用公共许可证(AGPL)
GNU Affero 通用公共许可证 版本 3

版权所有 (C) 2007 自由软件基金会 http://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 日通过的《世界知识产权组织版权条约》第 11 条义务的适用法律,或禁止或限制规避此类措施的类似法律,任何涵盖作品均不得被视为有效技术措施的一部分。

当您传播涵盖作品时,即表示您放弃禁止规避技术措施的任何法定权力,前提是此类规避是通过行使本许可证下关于涵盖作品的权利而实现的;您也声明无意限制作品的操作或修改,以此作为对作品用户行使您或第三方禁止规避技术措施的合法权利的手段。

4. 传播逐字副本。

您可以通过任何媒介传播您收到的程序源代码的逐字副本,前提是您在每个副本上以显著且适当的方式发布适当的版权声明;保留所有声明,声明本许可证以及根据第 7 条添加的任何非许可性条款适用于代码;保留所有关于缺乏任何担保的声明;并向所有接收者提供本许可证的副本以及程序。

您可以对您传送的每份副本收取任何费用或免费,并且您可以收费提供支持或担保保护。

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

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

  • a) 作品必须带有醒目的声明,说明您对其进行了修改,并注明相关日期。
  • b) 作品必须带有醒目的声明,说明其根据本许可证及任何条件发布。第 7 条下新增的条款。此要求修改了第 4 条中“保留所有声明”的要求。
  • c) 您必须根据本许可证将整个作品作为一个整体许可给任何拥有副本的人。因此,本许可证以及任何适用的第 7 条附加条款将适用于整个作品及其所有部分,无论它们如何打包。本许可证不允许以任何其他方式许可作品,但如果您单独收到该许可,则不会使该许可失效。
  • d) 如果作品具有交互式用户界面,则每个界面都必须显示适当的法律声明;但是,如果程序的交互式界面未显示适当的法律声明,则您的作品无需强制其显示。

将涵盖作品与其他独立且独立的、本质上并非涵盖作品的扩展,且未与其组合以构成更大程序的作品汇编于存储或分发介质的卷中或之上,如果汇编及其产生的版权未用于限制汇编用户的访问或合法权利,且超出单个作品的许可范围,则该汇编被称为“集合体”。将涵盖作品纳入集合体并不会导致本许可证适用于集合体的其他部分。

6. 非源码形式的传输。

您可以根据第 4 条和第 5 条的条款以目标代码形式传输涵盖作品,前提是您也根据本许可证的条款传输机器可读的对应源码,方式如下:

  • a) 将目标代码包含在或嵌入到物理产品(包括物理分发介质)中,并将对应源码固定在通常用于软件交换的耐用物理介质上。
  • b) 以书面形式将目标代码以实物产品(包括物理分发介质)的形式交付或嵌入其中,并附上有效期至少为三年且与您为该产品型号提供备件或客户支持期间相同的有效期。任何拥有目标代码的人均可获得以下两种方式之一:(1) 一份本许可证涵盖的产品中所有软件的对应源代码副本,该副本以通常用于软件交换的耐用物理介质的形式提供,价格不超过您以物理方式交付源代码的合理成本;或 (2) 免费从网络服务器复制对应源代码。
  • c) 交付目标代码的单独副本,并附上提供对应源代码的书面要约副本。此替代方案仅在您根据第 6b 款的规定收到目标代码并附上此类要约的情况下,才允许偶尔且非商业性地使用。
  • d) 通过指定地点(免费或收费)提供访问方式来传播目标代码,并以相同方式通过相同地点提供对相应源代码的等效访问,且不收取任何额外费用。您无需要求接收者复制相应源代码和目标代码。如果复制目标代码的地点是网络服务器,则相应源代码可以位于支持等效复制功能的其他服务器(由您或第三方运营),前提是您在目标代码旁边提供清晰的指示,说明相应源代码的访问位置。无论哪个服务器托管相应源代码,您仍有义务确保其在满足这些要求所需的时间内可用。
  • e) 使用点对点传输来传播目标代码,前提是您将告知其他同行,作品的目标代码和相应源代码将根据第 6d 款免费向公众提供。

目标代码中可分离的部分,如果其源代码作为系统库从对应源代码中排除,则无需包含在目标代码作品的交付中。

“用户产品”是指 (1) “消费品”,指通常用于个人、家庭或家居用途的任何有形个人财产,或 (2) 任何设计或出售用于纳入住宅的物品。在确定产品是否为消费品时,如有疑问,应优先考虑涵盖范围。对于特定用户收到的特定产品,“正常使用”是指该类产品的典型或常见用途,无论特定用户的身份或特定用户实际使用、预期或被预期使用该产品的方式如何。无论产品是否具有实质性的商业、工业或非消费用途,该产品均为消费品,除非此类用途是该产品唯一重要的使用方式。

用户产品的“安装信息”是指安装和执行该用户产品中涵盖作品的修改版本所需的任何方法、程序、授权密钥或其他信息ct 源自其对应源代码的修改版本。该信息必须足以确保修改后的目标代码的持续运行不会仅因修改而受到阻止或干扰。

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

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

根据本节规定,所传达的相应源代码和提供的安装信息必须采用公开记录的格式(并以源代码形式向公众提供实现),并且解压、阅读或复制时无需特殊密码或密钥。

7. 附加条款。

“附加许可”是指通过对本许可证的一项或多项条件作出例外规定来补充本许可证条款的条款。适用于整个程序的附加许可应被视为包含在本许可证中,只要其在适用法律下有效。如果附加许可仅适用于程序的一部分,则该部分可以根据这些许可单独使用,但整个程序仍受本许可证的约束,不受附加许可的影响。

当您传达涵盖作品的副本时,您可以自行选择从该副本或其任何部分中删除任何附加许可。 (在某些情况下,您可以编写附加许可,要求在您修改作品时自行删除这些许可。)您可以对您添加到涵盖作品中的材料添加附加许可,前提是您拥有或可以授予适当的版权许可。

无论本许可证的任何其他规定如何,对于您添加到涵盖作品中的材料,您可以(在获得该材料的版权持有人的授权后)在本许可证的条款中补充以下条款:

  • a) 以不同于本许可证第 15 和 16 条的条款的方式免除担保或限制责任;或
  • b) 要求在该材料或包含该材料的作品中显示的适当法律声明中保留指定的合理法律声明或作者归属;或
  • c) 禁止对该材料的来源进行虚假陈述,或要求以合理的方式将该材料的修改版本标记为与原始版本不同;或
  • d) 限制出于宣传目的使用该材料的许可人或作者的姓名;或
  • e) 拒绝授予商标法规定的某些商品名称、商标或服务标记的使用权;或
  • f) 要求任何以合同方式承担责任的方式传播该材料(或其修改版本)的人,对许可人和作者进行赔偿,并承担接收者因该合同假设而直接对许可人和作者造成的任何责任。

所有其他非许可性附加条款均视为第 10 条所定义的“进一步限制”。如果您收到的程序或其任何部分包含声明,声明其受本许可证管辖,同时包含进一步限制的条款,则您可以删除该条款。如果许可证文件包含进一步限制,但允许根据本许可证进行重新授权或传播,则您可以将受该许可证文件条款管辖的涵盖作品材料添加到涵盖作品中,前提是该进一步限制在重新授权或传播后不再有效。

如果您根据本节规定向涵盖作品添加条款,则必须在相关源文件中声明适用于这些文件的附加条款,或添加说明适用条款所在位置的通知。

附加条款,无论是许可性的还是非许可性的,都可以以单独书面许可的形式声明,也可以作为例外情况声明;上述要求无论哪种方式均适用。

8. 终止。

除非本许可明确规定,否则您不得传播或修改涵盖作品。任何以其他方式传播或修改涵盖作品的尝试均属非法。id,并将自动终止您在本许可证下的权利(包括根据第 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 条的解释。

如果上述免责声明和责任限制条款根据其条款无法在当地产生法律效力,则审查法院应适用当地法律,该法律最接近于完全放弃与本程序相关的所有民事责任,除非本程序副本附带有保证或责任承担,且需支付费用。

条款和条件结束

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

如果您开发了一个新程序,并且希望它尽可能地为公众所用,那么实现这一目标的最佳方式是使其成为自由软件,任何人都可以根据这些条款对其进行重新分发和修改。

为此,请将以下声明附加到程序中。最安全的做法是将它们附加到每个源文件的开头,以最有效地说明免责条款;并且每个文件应至少包含“版权”行以及指向完整声明所在位置的指针。

<一行代码,介绍程序名称及其功能。>

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

本程序为自由软件:您可以根据自由软件基金会发布的 GNU Affero 通用公共许可证(许可证第 3 版或(根据您的选择)任何更高版本)对其进行重新分发和/或修改。

本程序分发时,希望它能够发挥作用,
但不提供任何担保;甚至不提供关于适销性或特定用途适用性的默示担保。有关更多详细信息,请参阅
GNU Affero 通用公共许可证。

您应该已随本程序收到 GNU Affero 通用公共许可证的副本。如果没有,请参阅 <http://www.gnu.org/licenses/>。

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

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

如有必要,您还应让您的雇主(如果您是程序员)或学校(如果有)为该程序签署“版权免责声明”。有关更多信息以及如何申请和遵守 GNU AGPL,请参阅 http://www.gnu.org/licenses/