GNU 通用公共许可证版本 3

版本 3.0提交日期: 2007 年 6 月 29 日提交者:GNU 通用公共许可证批准日期:2007 年 9 月 5 日 会议纪要 SPDX 短标识符:GPL-3.0-only

Open Source Initiative Approved License

序言

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) 任何设计或销售用于并入住宅的产品。在确定产品是否为消费品时,应有利于覆盖范围解决有疑问的情况。对于特定用户收到的特定产品,“通常使用”是指该类产品的典型或常见用途,无论特定用户的身份或特定用户实际使用或期望或预期使用产品的方式如何。产品是否为消费品与产品是否具有实质性的商业、工业或非消费用途无关,除非此类用途代表产品的唯一重要使用模式。

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

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

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

根据本节传递的相应源代码和提供的安装信息必须采用公开记录的格式(并且具有以源代码形式向公众提供的实现),并且不得需要特殊的密码或密钥才能解包、读取或复制。

7. 附加条款。

“附加许可”是指通过从本许可证的一个或多个条件中做出例外来补充本许可证条款的条款。适用于整个程序的附加许可应被视为已包含在本许可证中,只要它们在适用法律下有效。如果附加许可仅适用于程序的一部分,则该部分可以在这些许可下单独使用,但整个程序仍受本许可证管辖,而与附加许可无关。

当您传递受保护作品的副本时,您可以选择从该副本或其任何部分中删除任何附加许可。(附加许可可能会被编写为要求在您修改作品的某些情况下自行删除。)您可以将附加许可放在您添加到受保护作品中的材料上,您拥有或可以为这些材料提供适当的版权许可。

尽管本许可证的任何其他规定,对于您添加到受保护作品中的材料,您可以(如果获得该材料的版权持有人的授权)使用以下条款补充本许可证的条款

  • a) 以不同于本许可证第 15 节和第 16 节条款的方式声明免责保证或限制责任;或
  • b) 要求在该材料或包含该材料的作品显示的适当法律声明中保留指定的合理法律声明或作者署名;或
  • c) 禁止虚报该材料的来源,或要求以合理的方式将此类材料的修改版本标记为与原始版本不同;或
  • d) 限制将许可人或材料作者的姓名用于宣传目的;或
  • e) 拒绝授予商标法下的权利以使用某些商品名称、商标或服务标志;或
  • f) 要求任何人因其向接收者承担合同责任而传递该材料(或其修改版本)时,赔偿该材料的许可人和作者因这些合同责任直接强加于这些许可人和作者的任何责任。

所有其他非许可性附加条款均被视为第 10 节含义范围内的“进一步限制”。如果您收到的程序或其任何部分包含声明其受本许可证以及构成进一步限制的条款管辖的声明,您可以删除该条款。如果许可证文件包含进一步限制,但允许根据本许可证重新许可或传递,您可以将受该许可证文件条款管辖的材料添加到受保护的作品中,前提是进一步限制在此类重新许可或传递后不再存在。

如果您根据本节向受保护的作品添加条款,您必须在相关源文件中放置一份声明,说明适用于这些文件的附加条款,或说明在哪里可以找到适用条款的声明。

附加条款,无论是许可性的还是非许可性的,都可以以单独书写的许可证的形式声明,或以例外的形式声明;以上要求以任何一种方式都适用。

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 Affero 通用公共许可证第 13 节关于通过网络交互的特殊要求将适用于整个组合作品。

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

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

每个版本都有一个可区分的版本号。如果程序指定适用特定编号版本的 GNU 通用公共许可证“或任何后续版本”,您可以选择遵循该编号版本或自由软件基金会发布的任何后续版本的条款和条件。如果程序未指定 GNU 通用公共许可证的版本号,您可以选择自由软件基金会曾经发布的任何版本。

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

后续的许可证版本可能会赋予您额外或不同的权限。但是,对于任何作者或版权持有者而言,不会因您选择遵循后续版本而增加额外的义务。

15. 免责声明。

在适用法律允许的范围内,本程序不提供任何担保。除非另有书面说明,否则版权持有者和/或其他方“按原样”提供本程序,不提供任何形式的担保,无论是明示的还是暗示的,包括但不限于对适销性和特定用途适用性的暗示担保。关于程序质量和性能的全部风险由您承担。如果程序被证明存在缺陷,您将承担所有必要的维修、修理或纠正的费用。

16. 责任限制。

在任何情况下,除非适用法律要求或书面同意,否则任何版权持有者或任何其他根据上述许可修改和/或传播程序的一方,均不对您因使用或无法使用程序而引起的损害承担责任,包括任何一般性、特殊性、偶然性或后果性损害(包括但不限于数据丢失或数据被呈现为不准确,或您或第三方遭受的损失,或程序未能与任何其他程序一起运行),即使该持有者或其他方已被告知可能发生此类损害。

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

如果上述提供的免责声明和责任限制无法按照其条款在当地法律上生效,则复审法院应适用最接近于完全放弃与程序相关的全部民事责任的当地法律,除非担保或责任承担伴随程序的副本以换取费用。

条款和条件结束

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

如果您开发了一个新程序,并且希望它对公众尽可能有用,那么实现这一目标的最佳方法是使其成为自由软件,每个人都可以在这些条款下重新发布和更改它。

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

<一行给出程序名称和对其功能的简要说明。> 版权所有 (C) <年份> <作者姓名> 本程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新发布和/或修改它,可以是许可证的第 3 版,或者(由您选择)任何后续版本。 本程序分发是希望它有用,但**不提供任何担保**;甚至不提供对适销性或特定用途适用性的暗示担保。 有关更多详细信息,请参阅 GNU 通用公共许可证。 您应该已收到与本程序一起提供的 GNU 通用公共许可证副本。 如果没有,请访问 <https://gnu.ac.cn/licenses/>。

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

如果程序有终端交互,请使其在交互模式下启动时输出如下简短通知

<程序名称> 版权所有 (C) <年份> <作者姓名> 本程序**绝对不提供任何担保**;有关详细信息,请输入 `show w`。 这是自由软件,欢迎您在特定条件下重新发布它;有关详细信息,请输入 `show c`。

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

如有必要,您还应该让您的雇主(如果您是程序员)或学校(如果有)签署程序的“版权免责声明”。 有关此方面的更多信息,以及如何应用和遵循 GNU GPL,请访问 <https://gnu.ac.cn/licenses/>。

GNU 通用公共许可证不允许将您的程序合并到专有程序中。 如果您的程序是子例程库,您可能会认为允许专有应用程序与该库链接更有用。 如果这是您想要做的,请使用 GNU 宽通用公共许可证代替本许可证。 但首先,请阅读 <https://gnu.ac.cn/philosophy/why-not-lgpl.html>。