GNU通用公共许可证 版本3,2007年6月29日 版权所有(C)2007 Free Software Foundation,Inc。每个人都可以复制和分发本许可文件的逐字副本,但不允许更改。 序言 GNU通用公共许可证是 软件和其他类型作品的免费、留有版权的许可证。 大多数软件和其他实际作品的许可证旨在剥夺您的分享和改变作品的自由。相比之下,GNU通用公共许可证旨在保证您可以自由地共享和更改程序的所有版本,以确保它对所有用户都是免费软件。我们,自由软件基金会,对我们的大部分软件使用 GNU通用公共许可证;它也适用于由作者以这种方式发布的任何其他作品。当我们谈到自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您可以自由分发免费软件的副本(如果您愿意,还可以收费),您可以接收源代码或在需要时获得源代码,您可以更改软件或在新的免费程序中使用它的一部分,并且您知道您可以做这些事情权利,我们需要防止别人剥夺你的这些权利或要求你放弃这些权利。因此,如果你分发软件的副本,或者修改它,你就有一定的责任:尊重他人自由的责任。例如,如果你分发这样一个程序的副本,无论是免费的还是收费的,你必须将你所获得的相同的自由传递给接收者。你必须确保他们也能收到或能得到源代码。您必须向他们展示这些条款,以便他们知道自己的权利。 使用GNU GPL的开发人员通过两个步骤保护您的权利: (1)声明软件的版权,(2)向您提供此许可 给予您复制、分发和/或修改它的合法许可。 为了保护开发者和作者,GPL清楚地解释了这个自由软件没有担保。为了用户和作者的利益,GPL要求修改后的版本被标记为“已更改”,这样他们的问题就不会被错误地归咎于以前版本的作者。有些设备被设计成拒绝用户安装或运行修改过的软件版本,尽管制造商可以这样做。这与保护用户更改软件的自由的目标根本不符。这种滥用的系统模式发生在供个人使用的产品领域,而这恰恰是最不可接受的地方。因此,我们设计了这个版本的GPL来禁止这些产品的实践。如果这类问题在其他领域大量出现,我们随时准备在将来的GPL版本中将这一规定扩展到这些领域,以保护用户的自由,每一个程序都不断受到软件专利的威胁。国家不应允许专利限制软件在通用计算机上的开发和使用,但在那些允许的情况下,我们希望避免一种特殊的危险,即应用于一个自由程序的专利可能使它实际上成为专利。为了防止这种情况的发生,GPL保证 专利不能被用于使程序成为非免费的。 复制、分发和 修改的准确条款和条件如下 条款和条件 0。定义。 “本许可证”是指GNU通用公共许可证的第3版。 “版权”也指适用于其他类型 作品(如半导体掩模)的类似版权的法律。 “程序”是指根据本 许可证授权的任何可版权作品。每个被许可人的地址都是“你”“被许可人”和“接收人”可以是个人或组织。“修改”一部作品是指以需要版权许可的方式复制或改编全部或部分作品,而不是制作一个精确的副本。由此产生的作品被称为早期作品的“修改版本”或“基于”早期作品的作品。“覆盖作品”指未经修改的程序或基于该程序的作品。 “传播”一部作品意味着未经 许可而对其做任何事,根据适用的版权法,将使您直接或间接承担侵权责任,除非在计算机上执行或修改私人副本。传播包括复制、分发(有无修改)、向公众提供,以及在某些国家还包括其他活动。“传播”一部作品是指使其他各方能够制作或接收副本的任何形式的传播。仅仅通过计算机网络与用户交互,而不传送副本,就不能传达信息。 交互式用户界面显示“适当的法律声明” 只要它包含一个方便且显著可见的功能,即(1)显示适当的版权声明,(2)告知用户不存在任何担保对于作品(除了提供担保的范围外),被许可人可以根据本许可转让作品,以及如何查看本许可的副本。如果 界面显示用户命令或选项的列表,例如 菜单,则列表中突出的项目符合此标准。 1。源代码。 作品的“源代码”是指对作品进行修改时的首选形式“目标代码”是指任何非源代码形式的作品。“标准接口”是指由公认的标准机构定义的官方标准,或者,在为某一特定编程语言指定的接口的情况下,该接口在使用该语言的开发人员中被广泛使用可执行工作包括除整个工作之外的任何东西,即(a)以包装主要组件的正常形式包含,但不是该主要组件的一部分,以及(b)仅用于使该工作与该主要组件一起使用,或实现一个可供公众使用的标准接口源代码形式。“主要组件”在这里指的是运行可执行工作的特定操作系统(如果有)的主要基本组件(内核、窗口系统等),或者是用来生成工作的编译器,或者是用来运行它的目标代码解释器。 目标代码形式的“对应源代码”意味着生成、安装和(对于可执行的 工作)运行目标代码和修改工作所需的所有源代码,包括控制这些活动的脚本。但是,它不包括工作的系统库、通用工具或一般可用的免费程序,这些程序在执行这些活动时未经修改,但不属于工作的一部分。例如,对应的源代码包括与工作源文件相关联的接口定义文件,以及工作专门设计要求的共享库和动态链接子程序的源代码,例如通过这些子程序和其他工作部分之间的密切数据通信或控制流。 相应的源代码不需要包含用户可以从相应源代码的其他部分自动重新生成的任何内容。 对应的源代码形式是 相同的工作。 2。基本许可。 根据本许可证授予的所有权利都是在程序的版权期限内授予的,并且在满足所述条件的前提下是不可撤销的。此许可证明确确认您可以无限制地运行未修改的程序。只有当输出(给定其内容)构成覆盖作品时,本许可证才涵盖运行“覆盖作品”的输出。本许可证承认您享有著作权法规定的合理使用权或其他同等权利,只要您的许可证仍然有效,您可以无条件地制作、运行和传播您未转让的涵盖作品。您可以将涵盖的作品转让给他人,其唯一目的是让他们专门为您修改,或者为您提供运行这些作品的设施,前提是您在传输您不控制版权的所有材料时遵守本许可证的条款。因此,为您制作或运行所涵盖的作品的人必须完全代表您,在您的指导和控制下,按照禁止他们在与您的关系之外复制您的受版权保护的材料的条款。在任何其他情况下,仅允许在以下条件下转让。不允许再许可;第10条使其不必要。保护用户的合法权利不受反规避法的影响。 根据1996年12月20日通过的《世界知识产权组织版权条约》第11条的规定,任何适用的法律均不得视为有效技术措施的一部分,或 禁止或限制规避此类措施的类似法律 当您转让涵盖的作品时,您放弃任何禁止规避技术措施的法律权力,只要此类规避是通过行使本许可证项下关于涵盖作品的权利而实现的,并且您否认任何限制操作或修改作品的意图,以此作为对作品的用户、您或第三方禁止规避技术措施的合法权利的手段。您可以在收到程序源代码时,以任何媒体的形式传送程序源代码的逐字副本,但前提是您要在每个副本上明显且适当地发布适当的版权声明;保存所有声明本许可证和根据第7节添加的任何非许可条款适用于本规范的所有通知; 保留所有没有任何担保的通知;并向所有 接收者提供一份本许可证的副本以及程序。 您可以对您传达的每一份副本收取任何价格或不收取任何价格,并且您可以提供免费的支持或保修保护。传达修改过的源代码版本。 您可以根据第4节的 条款,以源代码的形式,以程序为基础传达作品,或者根据程序进行修改 您还必须满足以下所有条件: a)作品必须附有明显的声明,说明您修改了 它,并给出相关日期。 b)作品必须附有显著的通知,说明其根据本许可证和根据第7节添加的任何条件发布。此要求将第4节中的要求修改为 c)您必须将此 许可证下的整个作品作为一个整体授权给任何拥有副本的人。因此,本许可证以及任何适用的第7条附加条款将适用于整个作品及其所有部分,而不管它们是如何包装的。本许可证不允许 以任何其他方式许可本作品,但如果您单独收到该许可证,则不会使该许可证失效。 d)如果作品具有交互式用户界面,则每个用户都必须显示适当的法律声明;但是,如果该程序有交互界面,不能显示适当的法律声明,你的作品不需要让它们这样做。 一个涵盖作品与其他独立的独立作品的汇编,这些作品本质上不是覆盖作品的延伸,也没有与之相结合以形成一个更大的程序,在存储或分发媒体的卷内或卷上,如果汇编及其产生的版权不用于限制汇编用户的访问或合法权利,超出单个作品允许的范围,则称为“聚合”。将涵盖作品包含在集合中不会导致本许可证适用于该集合的其他部分。传输非源代码形式。 您可以根据第4节和第5节的条款以目标代码形式传达涵盖的作品,前提是您也可以按照本许可证的条款以机器可读的对应源代码的形式进行传输: a)以或包含目标代码的方式传达,一种实物产品(包括物流媒介),并附有固定在耐用物理介质上的对应源,通常用于软件交换。 b)在实物产品(包括物流媒介)中传递目标代码或包含在实物产品中的目标代码,并附有书面要约,有效期至少为三年,有效期为 只要您为该产品型号提供备件或客户支持,为拥有目标代码的任何人提供(1)本许可证涵盖的产品中所有软件的相应源代码副本,在一种通常用于软件交换的耐用的物理介质上,价格不超过您实际执行这种传输源的合理成本,或者(2)免费从网络服务器复制相应的源代码。 c)用提供相应源代码的书面提议的副本传送目标代码的各个副本。只有在偶尔和非商业性的情况下,才允许使用这种替代方案,并且只有当您根据第6b小节的规定收到目标代码时,才允许使用该方案。d)通过提供从指定地点(免费或收费)访问目标代码,并以同样的方式提供对相应源的同等访问权限从同一个地方通过,不用再收费。您不需要要求收件人复制相应的源代码和目标代码。如果复制目标代码的位置是网络服务器,则相应的源代码可能位于另一台服务器上(由您或第三方操作),该服务器支持同等的复制功能,前提是您在目标代码旁边保持明确的指示,说明在何处找到相应的源代码。无论哪个服务器托管相应的源,您都有义务确保它在满足这些要求所需的时间内可用。 e)使用对等传输传递目标代码,前提是你通知其他同行,目标代码和相应的源代码将根据第6d小节免费提供给公众,“用户产品”是指(1)“消费品”,指通常用于个人、家庭或家庭目的的任何有形个人财产,或(2)为并入住宅而设计或出售的任何物品。在确定某一产品是否为消费品时,应以有利于保险范围的方式解决可疑案件。或“用户预期的某一产品的特定用途”或“特定用途”。产品是一种消费品,无论产品是否具有实质性的商业、工业或非消费者用途,除非此类用途代表产品的唯一重要使用方式。 用户产品的“安装信息”是指任何方法、程序、授权密钥,或从相应源代码的修改版本安装和执行该用户产品中包含的工作的修改版本所需的其他信息。这些信息必须足以确保修改后的目标代码的继续运行不会仅仅因为已经进行了修改而受到阻止或干扰用户产品的占有权和使用权永久转让给接收者或在固定期限内转让给接收者(无论交易的特征如何),根据本节规定转让的相应来源必须附有安装信息。但是,如果您或任何第三方都不保留在用户产品上安装修改后的目标代码的能力(例如,作品已安装在ROM中),则此要求不适用。 提供安装信息的要求不包括继续提供支持服务、保修,或更新 收件人已修改或安装的作品,或 已修改或安装的用户产品。当修改本身对网络的运行造成重大不利影响或违反网络通信规则和协议时,可拒绝访问网络,根据本节的规定,必须采用公开记录的格式(并以 源代码形式向公众提供实现),并且不得要求 解包、阅读或复制的特殊密码或密钥。 7。附加条款。 “附加许可”是对本 许可的一个或多个条件作出例外的补充条款。 适用于整个程序的附加许可应被视为包括在本许可证中,只要它们在适用法律下有效。如果附加权限 仅适用于程序的一部分,则该部分可以在这些权限下单独使用,但整个程序仍受 本许可证的管辖,而不考虑附加权限。 当您传送一份涵盖作品的副本时,您可以选择 从该副本中删除任何附加权限,或是任何一部分。(在某些情况下,当您修改作品时,可能会编写附加权限以要求其自行删除。)您可以对您添加到涵盖作品中的材料(您拥有或可以给予适当的版权许可)附加权限。 尽管本许可证有任何其他规定,但对于您添加到受保护作品中的材料,您可以附加 附加权限作品,您可以(如果得到 该材料的版权持有人的授权)用以下条款补充本许可证的条款: a)放弃担保或限制责任,与本许可证第15和16节的条款不同;或 b)要求保存指定的合理法律通知或 作者归属(c)禁止歪曲该材料的来源,或要求该材料的修改版本以不同于原始版本的合理方式标记;或 d)限制用于宣传目的的许可人或材料作者;或 e)拒绝根据商标法授予使用某些 商品名、商标或服务标志的权利;或 f)要求任何人在向接收人提供合同责任假设的情况下,对材料(或其修改版本)的任何,对于 这些合同假设直接强加给 这些许可人和作者的任何责任 所有其他非许可附加条款被视为第10节含义内的“进一步 限制”。如果您收到的程序或其任何部分包含声明受本许可证管辖的通知以及进一步限制的条款,您可以删除该条款。如果许可证文件包含 进一步限制,但允许根据本 许可证重新许可或转让,则您可以添加受该许可证文件条款管辖的涵盖作品材料,前提是该进一步限制在此类重新许可或转让之后无效。 如果您根据本节向涵盖作品添加条款,您必须在相关的源文件中放置一份适用于这些文件的附加条款的声明,或一份说明在哪里可以找到适用条款的通知。附加条款,无论是许可的还是非许可的,都可以单独的书面许可证的形式来陈述,也可以作为例外;上述要求适用于任何一种情况。终止。 除非本许可证明确规定,否则您不得传播或修改涵盖的作品。任何试图以其他方式传播或修改它的行为都是无效的,并将自动终止您在本许可证项下的权利(包括根据第11条第3款授予的任何专利许可证)。但是,如果您停止所有违反本许可证的行为,则您从特定版权持有人处获得的许可证将暂时恢复(a),除非并直到版权持有人明确且最终终止您的许可,以及(b)如果版权持有人未能在终止后的60天内以某种合理的方式通知您违规行为,如果某个版权所有者以某种合理的方式通知您违反了本许可证,您的许可证将永久恢复,这是您第一次从该版权所有者处收到违反本许可证(任何作品)的通知,并且您在收到通知后30天内纠正了违反行为。 根据本节终止您的权利并不终止从您处收到本许可证副本或权利的各方的许可证。如果您的权利已终止且未永久恢复,则您没有资格根据第10条第9款获得相同材料的新许可证。拥有副本不需要接受。 您不需要接受此许可证才能接收或 运行程序的副本。覆盖作品的辅助传播(仅因使用对等传输而发生)同样不需要接受。但是,除了本许可证之外,没有任何东西授予您传播或修改任何涵盖的作品的权限。如果您不接受本许可证,这些行为将侵犯版权。因此,通过修改或传播 涵盖的作品,表示您接受此许可证。下游接收者的自动许可。 每次您传输一个涵盖的作品,接收者都会自动 从原始许可人那里获得许可,根据本许可证运行、修改和 传播该作品。您不负责强制第三方遵守本许可证。 “实体交易”是指转移对一个组织的控制权,或一个组织的几乎所有资产,或对一个组织进行细分,或合并组织的交易。如果覆盖作品的传播源于实体交易,则该交易的每一方收到该作品的副本后,也将获得该方的前任利益相关者根据上一段所拥有或可能给予的任何许可证,另外,如果前任拥有或能够通过合理的努力获得,则有权从前任的利益中获得作品的相应来源。 您不得对本许可授予或确认的权利的行使施加任何进一步的限制。例如,您不得就行使本许可下授予的权利征收许可费、特许权使用费或其他费用,也不得提起诉讼(包括诉讼中的交叉索赔或反诉),声称制造、使用、销售、要约出售侵犯了任何专利权,或者导入程序或其任何部分。专利。“贡献者”是指根据本许可证授权使用程序或程序所基于的作品的版权所有者。这样授权的作品被称为贡献者的“贡献者版本”。贡献者的“基本专利权”是指作者拥有或控制的所有专利权,无论是已经获得的还是以后获得的,在本许可证允许的情况下,制作、使用或出售其贡献者版本会受到侵犯,但不包括仅因进一步修改贡献者版本而被侵权的索赔。就本定义而言,“控制权”包括以符合本许可证要求的方式授予专利分许可证的权利。 每个出资人根据出资人的基本专利主张授予您非排他性的、全球范围的、免版税的专利许可证,以使您能够 制造、使用、销售、要约出售、进口和以其他方式运行,修改并传播其贡献者版本的内容。在以下三段中,“专利许可”是指任何明示的、不执行专利的协议或承诺,无论其名称如何(例如明确许可实施专利或承诺不起诉专利侵权)。向一方“授予”这样的专利许可,意味着达成这样的协议或承诺,不针对该方强制执行某项专利。如果你在知情的情况下,转让了一项涵盖的作品,而根据本许可条款,该作品的相应来源不可供任何人免费复制,通过公开可用的网络服务器或其他易于访问的方式,则您必须(1)使相应的来源如此可用,或(2)安排剥夺您自己的专利许可证的利益,或(3)安排,以符合本许可证要求的方式,将专利许可证扩展到下游接受者。”“故意依赖”是指您实际知道,如果没有专利许可证,您在一个国家转让受保护的作品,或者您的接收者在一个国家使用涵盖的作品,将侵犯您有理由认为有效的一个或多个可识别的专利,根据或与单个交易或安排相关,贵方通过获得转让来转让或传播涵盖作品,并向接收涵盖作品的部分当事方授予专利许可,授权其使用、传播、修改或转让涵盖作品的特定副本,然后,您授予的专利许可证将自动扩展到所涵盖的作品及其基础作品的所有接收者。 专利许可证是“歧视性”的,如果它不包括在其覆盖范围内,禁止行使,或以不行使根据本许可证明确授予的一项或多项权利为条件。如果您是与从事软件分发业务的第三方签订的协议的一方,根据该协议,您将根据您传输作品的活动程度向第三方支付报酬,并且根据该协议,第三方向将从中接收涵盖作品的任何一方授予报酬,则您不得转让涵盖的作品你,一个歧视性的 专利许可证(a)与你所转让的涵盖作品的副本有关(或由这些副本制作的副本),或(b)主要针对包含涵盖作品的特定产品或汇编,除非你达成该协议,或该专利许可证已被授予,在2007年3月28日之前。 本许可证中的任何内容不得解释为排除或限制 任何默示许可证或其他根据适用专利法可获得的侵权抗辩。不得放弃他人的自由。 如果对您施加的条件(无论是通过法院命令、协议还是其他方式)与本许可证的条件相抵触,它们不会使您免于遵守本许可证的条件。如果您不能同时传达您在本许可证项下的义务和任何其他相关义务,则您可能根本不转让该作品。例如,如果您同意的条款规定您有义务收取版税,以便向您转达该程序的人进一步传输,那么您能够同时满足这些条款和本许可的唯一方法就是完全避免传播该程序。使用GNU Affero通用公共许可证。 尽管本许可证有任何其他规定,您有权将任何涵盖的作品与GNU Affero通用公共许可证第3版许可证下的作品链接或组合成单个 组合作品,并传达由此产生的作品。本许可证的条款将继续适用于涵盖作品的部分,但GNU Affero通用公共许可证第13节关于通过网络进行交互的特殊要求将适用于 组合本身。本许可证的修订版。 自由软件基金会可不时发布 GNU通用公共许可证的修订版和/或新版本。这些新版本在精神上与当前版本相似,但可能在细节上有所不同,以解决新的问题或关注点。如果 程序指定GNU通用 公共许可证的某个编号版本“或任何更高版本”适用于它,您可以选择遵循该编号版本或自由软件基金会发布的任何更高版本的条款和条件。如果程序没有指定 GNU通用公共许可证的版本号,您可以选择自由软件基金会发布的任何版本。 如果程序指定代理可以决定可以使用GNU通用公共许可证的未来版本,则该代理永久接受某个版本的公开声明授权您 为程序选择该版本。 以后的许可证版本可能会给您额外或不同的 权限。但是,如果您选择使用更高版本,则不会对任何作者或版权持有人施加额外的义务。免责声明。 在适用法律允许的范围内,本程序不作任何保证。除非另有书面说明,版权持有人和/或其他方“按原样”提供程序,无任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的默示保证。项目质量和性能的全部风险由您承担。如果程序被证明有缺陷,您将承担所有必要的维修、修理或纠正费用。责任限制。在任何情况下,除非适用法律要求或书面同意,否则任何版权持有人或按照上述许可修改和/或传输程序的任何其他方均不对您承担任何损害赔偿责任,包括因使用或无法使用程序(包括但不限于数据丢失或数据不准确或您或第三方遭受的损失或程序无法与任何其他程序一起运行),即使该持有人或其他方已被告知可能发生此类损害。第15条和第16条的解释 如果上述担保和责任限制的免责声明不能根据其条款赋予当地法律效力, 复审法院应适用最接近 完全放弃与 计划有关的所有民事责任的当地法律,如果你开发了一个新的程序,并且你想让它对公众有最大的用处,除非你有一个保证或承担责任的条款,作为回报,一个程序的副本,实现这一目标的最佳方法是使之成为人人都可以根据这些条款重新分发和更改的免费软件。最安全的做法是将它们附加到每个源文件的开头,以最有效地声明不包括保修;而且每个文件至少应有“版权”行和一个指向完整通知所在位置的指针。版权所有(C) 这个程序是自由软件:你可以根据自由软件基金会发布的GNU通用公共许可证的条款重新发布和/或修改它,无论是该许可证的第3版,还是 (由你选择)的任何更高版本。 发布此程序的目的是希望它能有用,但没有任何保证;甚至没有 适销性或特定用途适用性的默示保证。请参阅 GNU通用公共许可证以了解更多详细信息。 您应该已经收到GNU通用公共许可证的副本 与此程序一起。如果没有,请参阅. 还可以添加有关如何通过电子邮件和纸面邮件与您联系的信息。 如果程序进行终端交互,请在以交互模式启动时输出一个简短的 通知:版权所有(C) 此程序不提供任何担保;有关详细信息,请键入“show w”。 这是免费软件,欢迎您在某些条件下重新发布它;键入“show c”以了解详细信息。 假设命令“show w w”和“show c”应显示通用公共许可证的相应部分。当然,你的程序的命令 可能不同;对于一个GUI界面,你应该使用一个“关于”框。 你还应该让你的雇主(如果你是一名程序员)或学校,如果有的话,签署一份程序的“版权免责声明”; 有关这方面的更多信息,以及如何应用和遵循GNU GPL,请参阅GNU通用公共许可证不允许将您的程序并入专有程序。如果您的程序是一个子程序库,您可能会认为允许将专有应用程序与库链接起来更为有用。如果您想这样做,请使用GNU Lesser General 公共许可证,而不是此许可证。但首先,请阅读.