通用公共许可证

 [GPLv3徽标]

跳到许可证文本


GNU通用公共许可证

第3版,2007年6月29日

版权所有©2007 Free Software Foundation,Inc。<网址:https://fsf.org/>

每个人都可以复制和分发原稿但不允许更改它。

序言

GNU通用公共许可证是一个免费的版权许可证,用于软件和其他种类的作品。

大多数软件和其他实用作品的许可证都是设计的剥夺你分享和改变作品的自由。相比之下,GNU通用公共许可证旨在保证您的自由共享和更改程序的所有版本--以确保程序保持免费适用于所有用户的软件。我们,自由软件基金会,使用我们大多数软件的GNU通用公共许可证;它也适用于作者以这种方式发布的任何其他作品。您可以将其应用于你的程序也一样。

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

为了保护你的权利,我们需要防止他人拒绝你或者要求你放弃这些权利。因此,您如果您分发软件副本,或者如果你修改了它:尊重他人自由的责任。

例如,如果您分发这样一个程序的副本无论是免费的还是收费的,你都必须将同样的信息传递给接收者你得到的自由。你必须确保他们也能收到或者可以获取源代码。你必须向他们展示这些条款,以便他们知道他们的权利。

使用GNU GPL的开发人员通过两个步骤保护您的权利:(1) 维护软件的版权,并(2)向您提供此许可证授予您复制、分发和/或修改它的合法权限。

为了保护开发者和作者,GPL明确解释了这个免费软件没有担保。对于用户和为了作者的利益,GPL要求修改后的版本标记为改变了,这样他们的问题就不会被错误地归因于以前版本的作者。

一些设备旨在拒绝用户安装或运行内部软件的修改版本,尽管制造商这与保护用户更改软件的自由。系统的此类滥用的模式发生在个人使用,这正是最不可接受的地方。因此,我们已经设计了这个版本的GPL来禁止那些产品。如果此类问题在其他领域大量出现,我们准备在未来版本中将此规定扩展到这些域保护用户自由所需的GPL。

最后,每个程序都不断受到软件专利的威胁。国家不应允许专利限制开发和使用通用计算机上的软件,但在那些通用计算机上,我们希望避免专利申请自由程序可能带来的特殊危险使其有效地专有。为了防止这种情况发生,GPL保证专利不能用于使程序成为非自由程序。

复制、分发和修改随之而来。

条款和条件

0.定义。

“本许可证”是指GNU通用公共许可证的第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) 在物理产品中传达或体现目标代码(包括物理分发介质),附带书面要约,有效期至少三年,有效期为只要你为该产品提供备件或客户支持模型,给任何拥有目标代码的人(1)一个中所有软件的对应源的副本本许可证涵盖的产品通常用于软件交换的介质,价格为超过你实际执行此操作的合理成本传输源,或(2)访问以复制来自网络服务器的免费对应源。
  • c) 将目标代码的单个副本与提供相应来源的书面要约。这个只有偶尔和非商业性的情况下才允许使用替代方案,并且只有在你收到目标代码的情况下第6b小节。
  • d) 通过从指定的放置(免费或收费),并提供同等的访问权限以相同方式通过同一地点的对应源进一步收费。您无需要求收件人复制对应的源代码以及目标代码。如果地点复制对象代码是一个网络服务器,对应的源可能在不同的服务器上(由您或第三方操作)支持同等复制设施,前提是您保持在目标代码旁边明确指示在哪里可以找到相应来源。无论哪台服务器承载相应来源,您有义务确保满足这些要求所需的时间。
  • e) 使用对等传输传输目标代码,前提是您通知其他对等方目标代码和相应工作来源正在向公众提供第6d小节项下的指控。

目标代码的可分离部分,其源代码被排除在外从相应源作为系统库,无需包含在传达目标代码的工作中。

“用户产品”是指(1)“消费品”,即通常用于个人、家庭、,或家庭用途,或(2)为注册而设计或出售的任何物品住进一个住宅。在确定产品是否是消费产品时,可疑情况应得到解决,以利于保险。对于特定的特定用户收到的产品,“通常使用”是指该类产品的典型或常见用途,无论其状态如何特定用户或特定用户的方式实际使用、期望或预期使用产品。A产品是消费品,无论该产品是否具有实质性商业、工业或非消费用途,除非此类用途代表产品的唯一重要使用方式。

用户产品的“安装信息”是指任何方法,安装所需的过程、授权密钥或其他信息并执行该用户产品中包含的工作的修改版本其对应源的修改版本。信息必须足以确保修改对象的继续运行代码在任何情况下都不会仅仅因为进行了修改。

如果您在、或与、或中传递本节下的目标代码专门用于用户产品,输送过程如下交易的一部分,其中拥有和使用用户产品永久转让给接收人或固定期限(无论交易的特征如何)必须附上根据本节传达的相应来源安装信息。但此要求不适用如果您或任何第三方都没有保留安装能力修改了用户产品上的目标代码(例如已安装在ROM中)。

提供安装信息的要求不包括要求继续提供支持服务、保修或更新收件人修改或安装的作品,或修改或安装了它的用户产品。访问当修改本身实质性且对网络运行产生不利影响或违反规则网络通信协议。

传达的相应来源和提供的安装信息,符合本节的格式必须公开记录在案(并在源代码形式),并且对于拆包、阅读或复制。

7.附加条款。

“附加权限”是对本协议条款的补充通过对一个或多个条件进行例外而获得许可。适用于整个程序的附加权限应在一定程度上被视为包括在本许可证中它们在适用法律下有效。如果有其他权限仅适用于程序的一部分,该部分可以单独使用但整个程序仍由此许可证不考虑其他权限。

当你传送一份覆盖作品的副本时,你可以选择从该副本或的任何部分删除任何其他权限它。(可以写入其他权限以要求其自己的权限在某些情况下,当您修改作品时删除。)您可以放置您添加到覆盖作品的其他材料权限,您拥有或可以授予适当的版权许可。

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

  • a) 免责声明或限制责任与本许可证第15条和第16条的条款;
  • b) 要求保存规定的合理法律通知或材料或相关法律文件中的作者归属包含通知的作品所显示的通知;
  • c) 禁止谎报该材料的来源,或要求在不同于原始版本的合理方式;
  • d) 限制许可方名称用于宣传目的,或材料作者;
  • e) 拒绝根据商标法授予某些产品的使用权商品名称、商标或服务标志;
  • f) 要求许可方和作者赔偿任何传播材料的人提供的材料(或它)与对接收方的责任的合同假设这些合同假设直接施加的任何责任这些许可方和作者。

所有其他非许可附加条款均被视为“进一步”限制”。如果您的计划收到的通知或其任何部分包含一份通知,说明受本许可以及进一步的限制,您可以删除该术语。如果许可证文档包含进一步的限制,但允许根据本协议重新许可或转让许可证,您可以将其添加到受条款管辖的涵盖工作材料中如果进一步的限制无法在这种重新授权或传输中生存。

如果您根据本节为涵盖的工作添加条款,您必须在相关源文件中放置适用于这些文件的附加条款,或指示在哪里可以找到适用的条款。

可在单独书面许可的形式,或作为例外说明;上述要求适用于任何一种情况。

8.终止。

除非另有明确规定,否则您不得传播或修改涵盖的作品根据本许可证提供。以其他方式传播或修改无效,将自动终止您在本许可(包括根据第三条授予的任何专利许可第11节第段)。

但是,如果您停止所有违反本许可证的行为恢复特定版权持有人的许可(a)暂时,除非版权持有人明确和最终终止您的许可,并且(b)如果版权持有人未能以合理方式通知您违规行为停止后60天之前。

此外,您从特定版权持有人处获得的许可是如果版权持有人通知您通过一些合理的方式违反,这是你第一次收到违反本许可证的通知(对于任何作品)版权所有者,并且您在30天内纠正了违规行为你收到通知了。

终止您在本节项下的权利并不终止根据以下规定从您处收到副本或权利的各方的许可本许可证。如果您的权利已被终止且不是永久性的恢复后,您没有资格获得相同的新许可证第10节项下的材料。

9.无需接受副本。

您无需接受本许可证即可接收或运行程序的副本。覆盖工程的辅助传播仅因使用对等传输而发生同样,接收副本也不需要接受。然而,除本许可证外,没有任何其他许可授予您传播或修改任何包含的作品。如果你这样做,这些行为将侵犯版权不接受本许可证。因此,通过修改或传播涵盖的工作,您表示接受本许可证。

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

每次你传达一份涵盖的作品时,收件人会自动收到原始许可方的许可,以运行、修改和根据本许可证传播该作品。你没有责任强制第三方遵守本许可。

“实体交易”是指转移对组织,或一个组织的全部资产,或组织或合并组织。如果覆盖的传播工作成果来自实体交易,交易各方收到作品副本的事务也会收到任何该党前任利益相关者拥有或可能拥有的工作许可证根据上一段给予,加上对相关前任工作的相应来源,如果前任拥有它或通过合理的努力可以获得它。

您不得对行使根据本许可证授予或确认的权利。例如,您可以不征收许可费、特许权使用费或其他费用根据本许可授予的权利,您不得提起诉讼(包括诉讼中的交叉索赔或反诉)声称制造、使用、销售、提供出售或进口程序或其任何部分。

11.专利。

“贡献者”是根据本协议授权使用的版权所有者程序或程序所基于的作品的许可。这个这样授权的作品被称为贡献者的“贡献者版本”。

贡献者的“基本专利权利要求”都是专利权利要求由出资人拥有或控制,无论是已经收购还是以后获得的,以某种方式侵犯的,允许的通过本许可,制造、使用或销售其贡献者版本,但不包括仅作为侵权行为的索赔进一步修改贡献者版本的结果。对于本定义的目的是,“控制”包括授予以符合以下要求的方式进行专利再许可本许可证。

每个供款人都会为您提供非决定性的全球免版税根据出资人的基本专利要求授予的专利许可制造、使用、出售、要约出售、进口和以其他方式运行、修改和传播其贡献者版本的内容。

在以下三段中,“专利许可”是指不执行专利的协议或承诺,无论其名称如何(例如明确允许实施专利或不专利侵权诉讼)。一方意指达成此类协议或承诺,不强制执行向当事人申请专利。

如果你有意依赖专利许可证,并且作品的相应来源对任何人都不可用根据本许可证的条款,通过公共可用网络服务器或其他易于访问的方式,则您必须(1)使相应的源如此可用,或(2)安排剥夺自己的利益该特定作品的专利许可,或(3)以某种方式安排符合本许可证的要求,以延长专利向下游接收人发放许可证。“明知故犯”意味着实际知识,如果没有专利许可在一个国家的受保工作,或您的接收人对受保工作的使用在一个国家,会侵犯一项或多项可识别的专利你有理由相信的国家是有效的。

如果,根据或与单一交易有关,或安排,您通过获取传输来传递或传播覆盖工作,并向部分当事人授予专利许可接收授权他们使用、传播、修改的涵盖工作或传递所涵盖作品的特定副本,然后是专利许可您的授权将自动扩展到覆盖范围的所有接收者工作和基于它的工作。

如果专利许可不包括在其覆盖范围,禁止行使或以下列一项或多项权利的不行使为条件根据本许可特别授予。您不能传递覆盖如果你是与第三方达成协议的一方在分发软件的业务中,您可以根据该业务付款根据您的传达活动范围向第三方第三方授予任何将从您那里获得涵盖工作的各方,这是一种歧视专利许可(a)与涵盖作品的副本有关由您传达(或从这些副本制作的副本),或(b)主要与特定产品或汇编相关的包含涵盖的工作,除非您签订了该协议,或者该专利许可证是在2007年3月28日之前授予的。

本许可证中的任何内容均不得解释为排除或限制任何暗示的许可或其他侵权抗辩否则,您可以根据适用的专利法获得。

12.不得放弃他人的自由。

如果对您施加条件(无论是通过法院命令、协议还是否则)违反本许可证的条件请原谅您违反本许可证的条件。如果你不能传达以同时满足您在本协议项下的义务许可和任何其他相关义务,因此您可以根本没有传达出来。例如,如果你同意对你有义务的条款收取特许权使用费,以便进一步向您所传达的人传达信息只有这样你才能满足这些条件许可证将完全禁止传输程序。

13.与GNU Affero通用公共许可证一起使用。

尽管本许可证有任何其他规定,您允许将任何涵盖的作品与许可作品链接或组合根据GNU Affero通用公共许可证的第3版组合工作,并传达结果工作许可证将继续适用于涵盖工作的部分,但GNU事务通用公共许可证的特殊要求,关于通过网络进行交互的第13节适用于这样的组合。

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

自由软件基金会可能会发布修订版和/或新版本的GNU通用公共许可证。这样的新版本将在精神上与当前版本相似,但在细节上可能与解决新的问题或担忧。

每个版本都有一个不同的版本号。如果程序指定GNU General的特定编号版本公共许可证“或任何更高版本”适用于它,您拥有可选择遵守编号为版本或自由软件发布的任何更高版本基金会。如果程序没有指定GNU通用公共许可证,您可以选择任何已发布的版本自由软件基金会。

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

较新的许可证版本可能会为您提供其他或不同的权限。然而,任何由于您选择遵循更高版本。

15.免责声明。

在许可的范围内,本程序不作任何保证适用法律。除非版权另有书面规定持有者和/或其他方“按原样”提供程序,无需担保任何类型的,无论是明示的还是暗示的,包括但不限于:,适销性和特定适用性的默示保证目的。项目质量和绩效的全部风险与你同在。如果程序被证明有缺陷,您将承担所有必要的维修、修理或纠正。

16.责任限制。

在任何情况下,除非适用法律要求或书面同意任何版权持有人或修改和/或转让的任何其他方上述许可的程序对您的损失负责,包括任何使用或无法使用程序(包括但不限于丢失您或第三方提供的数据或数据不准确或丢失各方或程序未能与任何其他程序一起运行),即使该持有人或其他方已被告知此类损害。

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

如果提供免责声明和责任限制上述条款不能赋予当地法律效力,复审法院应适用最接近的当地法律绝对放弃与计划,除非随附担保或责任承担该计划的副本,以换取费用。

条款和条件结束

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

如果你开发一个新的程序,并且你希望它是最好的可能对公众有用,实现这一点的最佳方法是每个人都可以根据这些条款重新发布和更改的自由软件。

为此,请在程序中附上以下注意事项。这是最安全的以最有效地将它们附加到每个源文件的开头说明保修除外条款;每个文件应至少包含“版权”行和指向完整通知所在位置的指针。

<一行给出程序的名称和它的功能的简要说明。>版权所有(C)<年份><作者姓名>这个程序是自由软件:你可以重新发布它和/或修改它根据由自由软件基金会,许可证版本3,或(由您选择)任何更高版本。分发此程序是为了希望它会有用,但无任何保证;甚至没有适销性或特定用途的适用性。请参阅GNU通用公共许可证了解更多详细信息。您应该已经收到GNU通用公共许可证的副本与此程序一起使用。如果没有,请参阅<https://www.gnu.org/licenses网站/>.

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

如果程序进行终端交互,则使其输出短消息当它以交互模式启动时,请注意如下所示:

<程序>版权所有(C)<年份><作者姓名>此程序绝对不提供任何担保;有关详细信息,请键入“show w”。这是免费软件,欢迎您重新发布在一定条件下;键入“show c”获取详细信息。

假设命令“show w”和“show c”应显示适当的通用公共许可的一部分。当然,您的程序的命令可能有所不同;对于GUI界面,您将使用“about box”。

你还应该找你的雇主(如果你是程序员)或学校,如有必要,签署该程序的“版权免责声明”。有关此以及如何应用和遵循GNU GPL的更多信息,请参阅<https://www.gnu.org/licenses网站/>.

GNU通用公共许可证不允许合并您的程序到专有程序中。如果你的程序是一个子程序库,你可能认为允许将专有应用程序与图书馆。如果这是您想要做的,请使用GNU Lesser General公共许可证而非本许可证。但首先,请阅读<https://www.gnu.org/licenses/why-not-lgpl.html>.