深色模式
GNU 通用公共许可证 3.0 (GPL 3.0)
Version 3, 29 June 2007
https://www.gnu.org/licenses/gpl-3.0.html
此译本从 英文(原文) 翻译,如有歧义,应以原文描述为准。
版权所有 (C) 2007 Free Software Foundation, Inc. https://fsf.org/
允许所有人复制和分发本许可证文档的逐字副本,但禁止对其进行更改。
序言
GNU 通用公共许可证是一种针对软件及其他类型作品的自由、著佐权(copyleft)许可证。
大多数软件及其他实用作品的许可证旨在剥夺您分享和修改作品的自由。相反,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) 传递目标代码的单个副本,并附上提供对应源代码的书面要约副本。此替代方案仅允许偶尔和非商业性地使用,并且仅当您根据第 6 小节 b) 款收到带有此类要约的目标代码时。
d) 通过提供从指定地点(免费或收费)访问来传递目标代码,并以相同方式通过同一地点提供对对应源代码的等效访问,且不收取额外费用。您不需要要求接收者随目标代码一起复制对应源代码。如果复制目标代码的地点是网络服务器,对应源代码可以位于支持等效复制功能的另一台服务器(由您或第三方运营)上,但您必须在目标代码旁边提供明确的指示,说明在哪里可以找到对应源代码。无论对应源代码托管在哪个服务器上,您都有义务确保其在需要满足这些要求的时间内可用。
e) 使用点对点传输传递目标代码,但您必须告知其他对等方在哪里可以根据第 6 小节 d) 款免费向公众提供该作品的目标代码和对应源代码。
目标代码中可分离的部分,其源代码作为系统库从对应源代码中排除的,在传递目标代码作品时无需包含。
“用户产品” 指 (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 日之前授予。
本许可证中的任何内容不得解释为排除或限制根据适用专利法可能 otherwise 对您可用的任何默示许可或其他侵权抗辩。
12. 不牺牲他人的自由
如果对您施加的条件(无论是通过法院命令、协议或其他方式)与本许可证的条件相矛盾,它们不能免除您遵守本许可证的条件。如果您不能传递覆盖作品以同时满足您在本许可证下的义务和任何其他相关义务,那么结果就是您根本不能传递它。例如,如果您同意要求您向您传递程序的对象收取进一步传递的使用费的条款,那么您能同时满足那些条款和本许可证的唯一方法就是完全停止传递程序。
13. 与 GNU Affero 通用公共许可证一起使用
尽管有本许可证的任何其他规定,您有权将任何覆盖作品与根据 GNU Affero 通用公共许可证第 3 版许可的作品链接或组合成一个组合作品,并传递 resulting 作品。本许可证的条款将继续适用于作为覆盖作品的部分,但 GNU Affero 通用公共许可证第 13 条关于通过网络交互的特殊要求将适用于该组合本身。
14. 本许可证的修订版本
自由软件基金会可能会不时发布 GNU 通用公共许可证的修订版 和/或 新版本。此类新版本在精神上与当前版本相似,但可能在细节上有所不同以解决新问题或关注点。
每个版本都有一个不同的版本号。如果程序指定 GNU 通用公共许可证的某个编号版本 “或任何更高版本” 适用于它,您可以选择遵守该编号版本或自由软件基金会发布的任何更高版本的条款和条件。如果程序未指定 GNU 通用公共许可证的版本号,您可以选择自由软件基金会曾经发布的任何版本。
如果程序指定代理可以决定哪些未来版本的 GNU 通用公共许可证可以被使用,该代理接受某个版本的公开声明将永久授权您为该程序选择该版本。
后来的许可证版本可能会给您额外或不同的许可。然而,不会因为您选择遵循 later 版本而对任何作者或版权持有人施加额外的义务。
15. 免责声明
在适用法律允许的范围内,本程序不提供任何担保。除非另有书面说明,版权持有人 和/或 其他方按 “原样” 提供本程序,不附带任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。本程序的质量和性能的全部风险由您承担。如果本程序被证明有缺陷,您应承担所有必要的服务、维修或更正的费用。
16. 责任限制
除非适用法律要求或书面同意,任何版权持有人,或任何以上述允许方式修改 和/或 传递本程序的第三方,都不就您因使用或无法使用本程序(包括但不限于数据丢失或数据不准确,或您或第三方遭受的损失,或本程序无法与其他程序协同运行)而起的任何一般性、特殊性、附带性或后果性损害赔偿向您承担责任,即使该持有人或其他方已被告知此类损害的可能性。
17. 第 15 条和第 16 条的解释
如果上述免责声明和责任限制无法根据其条款产生本地法律效力,复审法院应适用最接近于完全放弃与本程序相关的所有民事责任的本地法律,除非随程序副本附有担保或承担责任的承诺以换取费用。
条款与条件结束
如何将这些条款应用于您的新程序
如果您开发了一个新程序,并且希望它尽可能对公众有用,实现这一目标的最佳方式是使其成为每个人都可以根据这些条款重新分发和更改的自由软件。
为此,请将以下通知附加到程序中。最安全的做法是将它们附加到每个源文件的开头,以最有效地声明担保的排除;并且每个文件至少应包含 “版权” 行以及指向找到完整通知位置的指针。
<用一行说明程序的名称及其简要功能。>
版权所有 (C) <年份> <作者姓名>
本程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证条款重新分发 和/或 修改它,可以是许可证的第 3 版,或者(您可选)任何更高版本。
本程序的分发是希望它有用,但没有任何担保;甚至没有适销性或特定用途适用性的暗示担保。详情请参阅 GNU 通用公共许可证。
您应该已经随本程序收到了 GNU 通用公共许可证的副本。如果没有,请参阅 <https://www.gnu.org/licenses/>。同时添加如何通过电子和纸质邮件与您联系的信息。
如果程序进行终端交互,请让它在交互模式下启动时输出类似这样的简短通知:
<程序> 版权所有 (C) <年份> <作者姓名>
本程序绝对不提供任何担保;输入 `show w' 查看详情。
这是自由软件,欢迎您在特定条件下重新分发它;输入 `show c' 查看详情。假设的命令 `show w' 和 `show c' 应显示通用公共许可证的相应部分。当然,您程序的命令可能不同;对于 GUI 界面,您可以使用 “关于框”。
您还应该让您的雇主(如果您是程序员)或学校(如果有)在必要时为程序签署 “版权放弃声明”。有关此内容以及如何应用和遵循 GNU GPL 的更多信息,请参阅 https://www.gnu.org/licenses/ 。
GNU 通用公共许可证不允许将您的程序并入专有程序。如果您的程序是子程序库,您可能会认为允许专有应用程序与库链接更有用。如果这是您想做的,请使用 GNU 较宽松通用公共许可证而不是本许可证。但首先,请阅读 https://www.gnu.org/licenses/why-not-lgpl.html 。