31.1. 附录A:GNU通用公共许可证

版本2,1991年6月

版权所有(C)1989年,1991年自由软件基金会公司59坦普尔广场-套房330,波士顿,马萨诸塞州02111-1307年,美国

每个人都可以复制和分发本许可证文档的逐字副本,但不允许更改它。

前言

大多数软件的许可证旨在剥夺您共享和更改它的自由。相比之下, GNU General Public License 旨在保证您共享和更改自由软件的自由--确保软件对其所有用户都是免费的。本通用公共许可证适用于自由软件基金会的大多数软件以及其作者承诺使用它的任何其他程序。(其他一些自由软件基金会软件受GNU库通用公共许可证的保护。)您也可以将其应用于您的程序。

当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有分发自由软件副本的自由(如果您愿意,还可以对此服务收费),您可以收到源代码或在需要时可以获得它,您可以在新的免费程序中更改软件或使用它的一部分;并且您知道您可以做这些事情。

为了保护您的权利,我们需要做出限制,禁止任何人拒绝您的这些权利或要求您放弃这些权利。如果您分发本软件的副本或对其进行修改,这些限制将转化为您的某些责任。

例如,如果您分发此类程序的副本,无论是免费的还是收费的,您必须将您拥有的所有权利授予接受者。您必须确保他们也收到或能够获得源代码。你必须向他们展示这些条款,让他们知道自己的权利。

我们通过两个步骤保护您的权利:(1)对软件进行版权保护,(2)向您提供此许可证,该许可证授予您复制、分发和/或修改软件的法律许可。

此外,为了每个作者的保护和我们的保护,我们希望确保每个人都明白,本自由软件不提供任何担保。如果软件被其他人修改并传递,我们希望其接收者知道他们拥有的不是原始软件,这样其他人带来的任何问题都不会影响原始作者的声誉。

最后,任何自由程序都会不断受到软件专利的威胁。我们希望避免免费程序的再分发者单独获得专利许可的危险,这实际上是使程序成为专利。为了防止这种情况,我们已经明确规定,任何专利都必须授权给所有人免费使用,否则就根本不需要授权。

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

  1. 本许可证适用于任何程序或其他作品,如果该程序或其他作品包含由版权所有者发出的声明,声明可以根据本通用公共许可证的条款进行分发。下文中的“程序”是指任何此类程序或作品,而“基于程序的作品”是指程序或版权法下的任何衍生作品:即包含程序或其一部分的作品,可以是原封不动的,也可以是经过修改和/或翻译成另一种语言的。(下文中,翻译包括在术语“修改”中,但不限于此。)每个被许可人都被称为“你”。

    本许可证不涵盖复制、分发和修改以外的其他活动;这些活动不在本许可证的范围内。运行程序的行为不受限制,只有当程序的内容构成基于程序的作品(独立于通过运行程序而产生的作品)时,程序的输出才包括在内。这是否属实取决于该程序的作用。

  2. 您可以在收到程序源代码后,在任何媒体上复制和分发该程序源代码的逐字副本,前提是您在每个副本上显眼且适当地发布适当的版权声明和担保免责声明;保持所有涉及本许可证和没有任何担保的通知的完整性;并向程序的任何其他接收者提供本许可证的副本和程序。

    您可以对转移副本的实际行为收取费用,并且您可以根据您的选择提供保修保护以换取费用。

  3. 您可以修改您的一个或多个程序副本或其任何部分,从而形成基于程序的作品,并根据上述第1节的条款复制和分发此类修改或作品,前提是您还满足以下所有条件:

    1. 您必须使修改后的文件带有醒目的通知,说明您更改了这些文件以及任何更改的日期。

    2. 您必须根据本许可证的条款,将您分发或发布的、全部或部分包含或派生自程序或其任何部分的任何作品作为一个整体免费许可给所有第三方。

    3. 如果修改后的程序在运行时正常交互地读取命令,则在以最普通的方式开始运行以供此类交互使用时,您必须使其打印或显示一则声明,其中包括适当的版权声明和声明,声明中没有任何担保(否则,说明您提供了担保),并且用户可以在这些条件下重新分发该程序,并告诉用户如何查看本许可证的副本。(例外:如果程序本身是交互式的,但通常不打印这样的公告,则您基于该程序的作品不需要打印公告。)

    这些要求作为一个整体适用于修改后的工作。如果该作品的可识别部分不是源自程序,并且可以合理地被认为是独立的独立作品,则当您将其作为单独作品分发时,本许可证及其条款不适用于这些部分。但是,当您将相同的部分作为基于程序的作品的整体的一部分分发时,整体的分发必须符合本许可证的条款,其对其他被许可人的许可延伸到整个作品,从而扩展到每个部分,而不管它是谁编写的。

    因此,本节的目的不是主张权利或对您完全由您编写的作品的权利提出异议;而是行使基于程序控制派生作品或集体作品分发的权利。

    此外,仅将非基于程序的另一作品与程序(或与基于程序的作品)聚合在一卷存储或分发介质上,不会将其他作品纳入本许可证的范围。

  4. 您可以根据上述第1节和第2节的条款,以目标代码或可执行文件的形式复制和分发程序(或基于程序的作品,根据第2节),前提是您还必须执行以下操作之一:

    1. 随附完整的相应机器可读源代码,该源代码必须根据上述第1节和第2节的条款在通常用于软件交换的介质上分发;或者,

    2. 随附一份有效期至少为三年的书面要约,向任何第三方提供一份相应源代码的完整机器可读副本,费用不超过您实际分发源代码的成本,该副本将根据上文第1节和第2节的条款在通常用于软件交换的介质上分发;或者,

    3. 附上您收到的有关分发相应源代码的提议的信息。(此替代方案仅适用于非商业性分发,且仅当您按照上述b小节的规定,以目标代码或可执行形式收到带有此类要约的程序时才允许。)

    作品的源代码是指对作品进行修改的首选形式。对于可执行的作品,完整的源代码意味着它包含的所有模块的所有源代码,加上任何相关的接口定义文件,以及用于控制可执行文件的编译和安装的脚本。但是,作为特殊例外,分发的源代码不需要包括通常随可执行文件运行的操作系统的主要组件(编译器、内核等)一起分发的任何内容(源代码或二进制形式),除非该组件本身伴随可执行文件。

    如果可执行代码或目标代码的分发是通过提供从指定位置复制的访问权限进行的,则提供从同一位置复制源代码的同等访问权限视为分发源代码,即使不强制第三方与目标代码一起复制源代码。

  5. 除非本许可证明确规定,否则您不得复制、修改、再许可或分发程序。任何以其他方式复制、修改、再许可或分发程序的尝试都是无效的,并将自动终止您在本许可证下的权利。但是,根据本许可证从您那里收到副本或权利的各方不会终止其许可证,只要此类各方保持完全遵守。

  6. 您不需要接受本许可证,因为您尚未签署。但是,没有任何其他内容授予您修改或分发程序或其衍生作品的权限。如果您不接受本许可证,法律将禁止这些行为。因此,通过修改或分发程序(或基于程序的任何作品),即表示您接受本许可证及其复制、分发或修改程序或基于程序的作品的所有条款和条件。

  7. 每次您重新分发程序(或基于程序的任何作品)时,接收方将自动收到原始许可方的许可,允许其在遵守这些条款和条件的情况下复制、分发或修改程序。您不得对收件人行使此处授予的权利施加任何进一步的限制。您不负责强制第三方遵守本许可证。

  8. 如果由于法院判决或专利侵权指控或任何其他原因(不限于专利问题),对您施加的条件(无论是通过法院命令、协议或其他方式)与本许可证的条件相抵触,这些条件并不免除您遵守本许可证的条件。如果您不能分发以同时满足您在本许可证下的义务和任何其他相关义务,则您可能根本不能分发程序。例如,如果专利许可不允许所有直接或间接通过您接收副本的人免费再分发程序,则您可以同时满足该程序和本许可证的唯一方法是完全禁止分发程序。

    如果本条款的任何部分在任何特定情况下被认定为无效或不可执行,则应适用该条款的其余部分,并将整个条款作为一个整体在其他情况下适用。

    本节的目的不是诱导您侵犯任何专利或其他产权声明或质疑任何此类声明的有效性;本节的唯一目的是保护自由软件分发系统的完整性,该系统是通过公共许可实践实现的。许多人依靠始终如一地应用该系统,为通过该系统分发的各种软件作出了慷慨的贡献;由作者/捐赠者决定他或她是否愿意通过任何其他系统分发软件,被许可人不能强加这种选择。

    本部分旨在彻底阐明本许可证其余部分可能产生的后果。

  9. 如果程序的分发和/或使用在某些国家/地区因专利或受版权保护的界面而受到限制,则将程序置于本许可证之下的原始版权所有者可以添加明确的地理分发限制(不包括这些国家/地区),因此仅允许在未被排除的国家/地区内或之间进行分发。在这种情况下,本许可证包含限制,就好像写在本许可证正文中一样。

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

    每个版本都有一个不同的版本号。如果程序指定了适用于它的本许可证的版本号和“任何更高版本”,您可以选择遵循该版本或由自由软件基金会发布的任何更高版本的条款和条件。如果程序未指定本许可证的版本号,您可以选择自由软件基金会曾经发布的任何版本。

  11. 如果您希望将本程序的部分内容合并到其他分发条件不同的免费程序中,请写信给作者以获得许可。对于受自由软件基金会版权保护的软件,请写信给自由软件基金会;我们有时会对此破例。我们的决定将以两个目标为指导,即维护我们自由软件的所有衍生品的自由地位,以及普遍促进软件的共享和重复使用。

不提供保修

  1. 由于该程序是免费许可的,因此在适用法律允许的范围内,不对该程序提供任何担保。除非另有书面声明,否则版权所有者和/或其他方按原样提供程序,不提供任何明示或默示的担保,包括但不限于对适销性和对特定目的的适用性的默示担保。程序的质量和性能的全部风险都由您承担。如果程序被证明是有缺陷的,您将承担所有必要的服务、维修或纠正的费用。

  2. 在任何情况下,除非适用法律要求或书面同意,否则任何版权所有者或可能按上述允许修改和/或再分发程序的任何其他方不对您承担任何责任,包括因使用或无法使用程序而造成的任何一般、特殊、附带或后果性损害(包括但不限于数据丢失或数据不准确,或您或第三方遭受的损失,或程序无法与任何其他程序一起运行),即使该版权所有者或其他方已被告知此类损害的可能性。

QGIS Qt exception for GPL

此外,作为特殊例外,QGIS开发团队允许将本程序的代码链接到Qt库,包括但不限于以下版本(包括但不限于以下版本):Qt/非商业Windows、Qt/Windows、Qt/X11、Qt/Mac和Qt/Embedded(或使用与Qt相同许可证的Qt修改版本),并分发包括这两个版本的链接组合。对于除Qt以外的所有代码,您必须在所有方面遵守GNU通用公共许可证。如果您修改此文件,您可以将此例外扩展到您的文件版本,但您没有义务这样做。如果您不希望这样做,请从您的版本中删除此例外声明。