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