维基百科讨论:GNU通用公共许可证原文

页面内容不支持其他语言。
维基百科,自由的百科全书

GNU通用公共许可证

版本2, 1991.6

版权所有(C)1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

允许每个人复制和发布这一许可证原始文档的副本,但绝对不允许对它进行任何修改。

声明
这是一份GNU通用公共许可证非正式的中文翻译。它不是自由软件基金会所发布,并且不能适用於使用GNU GPL的软件——只有英文原版GNU General Public License才行。然而,我们希望这份翻译能帮助中文的使用者更了解GNU GPL。
Announce
This is an unofficial translation of the GNU General Public License into Chinese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL--only the original English text of the GNU General Public License does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better.

序言

大多数软件许可证决意剥夺你的共享和修改软件的自由。对比之下,GNU通用公共许可证力图保证你共享和修改自由软件的自由——保证软件对其所有用户是自由的。

本通用公共许可证适合于大多数自由软件基金会的软件,以及其它作者承诺使用它的程序。(有些自由软件基金会的软件受GNU库通用许可证的保护)。你也可以将它用到你的程序中。

当我们谈到自由软件(free software)时,我们指的是自由而不是价格。我们的通用公共许可证决意保证你有发布自由软件副本的自由(如果你愿意,可以对此服务收取费用),保证你获得源码或在需要时能取得它,保证你能修改软件或将它的一部分用于新的自由软件;而且还保证你知道你能做这些事情。

为了保护你的权利,我们需要作出规定:禁止任何人否认你的权利,或者要求你放弃这些权利。如果你发布了自由软件的副本或者修改了它,这些规定就转化为你的责任。

例如,如果你发布这样一个程序的副本,不管是免费的还是收费的,你必须将你具有的一切权利给予你的接受者,你必须保证他们也能收到或取得源码,你必须给他们看这些条款,使他们知道他们有这样的权利。

我们采取两项措施来保护你的权利。

    (1)用版权来保护软件。
    (2)向你提供许可证。给予你复制,发布和/或修改这些软件的法律许可。

同样,为了保护每个作者和我们自己,我们需要清楚地让每个人明白,自由软件无担保(no warranty)。如果由于某个人修改了软件,并继续加以传播。我们需要它的接受者明白:他们所得到的并不是原来的自由软件。由其他人引入的任何问题,不应损害原作者的声誉。

最后,任何自由软件不断受到软件专利的威胁。我们希望避免这样的风险,自由软件的再发布者以个人名义获得专利许可证,也就等同将软件变为私有。为防止这一点,我们必须明确:任何专利必须以允许每个人自由使用为前提,否则就不准许有专利。

下面是准确的有关复制,发布和修改的条款和条件

有关复制,发布和修改的条款和条件

0.此许可证适用于版权所有者在声明中声称可以在GPL条款下发布的任何程序或作品。下面提到的“程序”指的是任何这种程序或作品,而“基于程序的作品”指的是任何受版权法约束程序或其衍生作品:也就是说,作品包括此程序或是其一部分,无论是原封不动或经过修改和/或翻译成其他语言。(在下文中,翻译一律包含在“修改”条款内。)每个许可证接受人(licensee)用“你”来称呼。

本许可证条款不适用于复制,发布和修改以外的活动。这些活动超出这些条款的范围。运行程序的行为不受限制。仅当程序的输出的内容构成基于程序作品时,这一条款才适用(如果只运行程序就无关)。是否适用取决于程序的具体用途。

1.你可以用任何媒体复制和发布你收到的原始的程序的源代码,只要你在每一副本上明显和恰当地发布版权通告和拒绝担保的声明,原封不动地保持本许可证全部版权通告和拒绝担保声明,并将本许可证的副本连同程序一起给每个程序接受者。

你可以为转让副本的实际行动收取一定费用。你也有权选择提供担保以换取一定费用。

2.你可以修改程序的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。

    a)你必须在修改的文件中附有明显的说明:你修改了这一文件及任何修改的日期。
    b)你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许所有第三方按本许可证条款免费使用。
    c)如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和无担保声明(或者你提供担保声明);用户可以按本许可证条款重新发布程序的说明;并告诉用户如何可以看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明)。

这些要求适用于整个修改过的作品。如果能够确定作品的一部分并非程序的衍生产品,可以合理地认为这部分是独立的,是不同的作品。当你将它作为独立作品发布时,它不受此许可证和它的条款的约束。但是当你将这部分作为基于程序的作品的一部分发布时,作为整体它将受到本许可证条款约束,准予其他许可证持有人的授权扩大到整个产品。也就是每个部分,不管它是谁写的。

因此,本节条款的意图不在于索取权利;或剥夺全部由你写成的作品的权利。而是履行权利来控制基于程序的集体作品或衍生作品的发布。

此外,将与程序无关的作品和该程序(或基于程序的作品)一起放在存贮体或发布媒体的同一卷上,并不导致将其他作品置于本许可证的约束范围之内。

3.你可以以目标码或可执行形式复制或发布程序(或符合第2款的基于程序的作品),只要你遵守前面的第1,2款,并同时满足下列三条中的任一条。

    a)在通常用作软件交换的媒体上,和目标码一起,附有机器可读的完整的源码。发布这些源码应符合上面第1,2款的要求。或者
    b)在通常用作软件交换的媒体上,和目标码一起,附有给第三方提供相应的机器可读的源码的书面报价。有效期不少于3年,费用不超过完成发布源码的实际成本。发布这些源码应符合上面的第1,2款的要求。或者
    c)和目标码一起,附有你收到的发布源码的报价信息。(这一条款只适用于非商业性发布,而且你只收到程序的目标码或可执行代码和按b)款要求提供的报价)。

作品的源码(source code)指的是对作品进行修改最优先择取的形式。对可执行的作品而言,完整的源码包括:所有模块的所有源码,加上有关的接口的定义,加上控制可执行作品的安装和编译的脚本(script)。作为特殊例外,发布的源码不必包含任何通常伴随著执行程序所需的按常规发布(不论是源码或二进制码(binary)形式)的操作系统模块(如编译器、内核等) 除非这些模块本身跟随可执行程序。

如果采用提供对指定复制地点的访问方式发布可执行程序或目标码(object code),那么,提供对同一地点的访问和复制源码可以算作源码的发布,即使第三方不强求与目标码一起复制源码。

4.除非你确切地按本许可证提出的要求去做,否则你不能复制,修改,转发许可证和发布程序。任何试图用其他方式复制,修改,转发许可证和发布程序是无效的。而且将自动结束本许可证赋予你的权利。然而,对那些从你那里按本许可证条款得到副本和权利的人们,只要他们继续全面履行条款,本许可证赋予他们的权利仍然有效。

5.你不必一定接受本许可证,因为你没有签字。然而,没有任何其他东西赋予你修改和发布程序及其衍生作品的权利。如果你不接受本许可证,这些行为是法律禁止的。因此,如果你修改或发布程序(或任何基于程序的作品),你就表明你接受本许可证以及它的所有有关复制,发布和修改程序或基于程序的作品的条款和条件。

6.每当你重新发布程序(或任何基于程序的作品)时,接受者自动从原始许可证颁发者那里接到受这些条款和条件支配的复制,发布或修改程序的许可证。你不可以对接受者在这里赋予他们的权利强加更多的约束。你也没有强求第三方履行本许可证条款的义务。

7.如果由于法院判决或违反专利的指控或任何其他原因(不限于专利问题)的结果,强加于你的条件(不管是法院判决,协议或其他)和许可证的条件有冲突。他们也不能用本许可证条款为你开脱。在你不能同时满足本许可证规定的义务及其他相关的义务时,结果你可以根本不发布程序。例如,如果某一专利许可证不允许所有那些直接或间接从你那里接受副本的人们在不付专利费的情况下重新发布程序,唯一能同时满足两方面要求的办法是停止发布程序。

如果本条款的任何部分在特定的环境下无效或无法实施,就使用条款的其余部分。并将条款作为整体用于其他环境。

本条款的目的不在于引诱你侵犯专利或其他财产权的要求,或争论这种要求的有效性。本条款的主要目的在于保护自由软件发布系统的完整性。它是通过通用公共许可证的应用来实现的。许多人坚持应用这一系统,已经为通过这一系统发布大量自由软件作出慷慨的供献。作者/捐献者有权决定他/她是否通过任何其他系统发布软件。许可证待有人不能强制这种选择。

本节的目的在于明确说明许可证其余部分可能产生的结果。

8.如果由于专利或者由于有版权的接口问题使程序在某些国家的发布和使用受到限止,将此程序置于许可证约束下的原始版权拥有者可以增加限止发布地区的条款,将这些国家明确排除在外。并在这些国家以外的地区发布程序。在这种情况下,许可证包含的限止条款和许可证正文一样有效。

9.自由软件基金会可能随时出版通用公共许可证的修改版或新版。新版和当前的版本在原则上保持一致,但在提到新问题时或有关事项时,在细节上可能出现差别。

每一版本都有不同的版本号。如果程序指定适用于它的许可证版本号以及“任何更新的版本”。你有权选择遵循指定的版本或自由软件基金会以后出版的新版本,如果程序未指定许可证版本,你可选择自由软件基金会已经出版的任何版本。

10.如果你愿意将程序的一部分结合到其他自由程序中,而它们的发布条件不同。写信给作者,要求准予使用。如果是自由软件基金会加以版权保护的软件,写信给自由软件基金会。我们有时会作为例外的情况处理。我们的决定受两个主要目标的指导。这两个主要目标是:我们的自由软件的衍生作品继续保持自由状态。以及从整体上促进软件的共享和重复利用。

没有担保

11.由于程序准予免费使用,在适用法准许的范围内,对程序没有担保。除非另有书面说明,版权所有者和/或其他提供程序的人们“一样”不提供任何类型的担保。不论是明确的,还是隐含的(包括但不限于隐含的适销和适合特定用途)的保证。全部的风险,如程序的质量和性能问题都由你来承担。如果程序出现缺陷,你承担所有必要的服务,修复和改正的费用。

12.除非适用法或书面协议的要求,在任何情况下,任何版权所有者或任何按许可证条款修改和发布程序的人们都不对你的损失负有任何责任。包括由于使用或不能使用程序引起的任何一般的,特殊的,偶然发生的或重大的损失(包括但不限于数据的损失,或者数据变得不精确,或者你或第三方的持续的损失,或者程序不能和其他程序协调运行等)。即使版权所有者和其他人提到这种损失的可能性也不例外。

条款和条件结束

(译注:以下不是法律条文,只是教程序员如何使用GNU GPL)

如何将这些条款用到你的新程序

如果你开发了新程序,而且你需要它得到公众最大限度的利用。

要做到这一点的最好办法是将它变为自由软件。使得每个人都能在遵守条款的基础上对它进行修改和重新发布。为了做到这一点,绘程序附上下列声明。最安全的方式是将它放在每个源码的开头,以便最有效地传递拒绝担保的信息。每个文件至少应有“版权所有”行以及在什么地方能看到声明全文的说明。

    用一行空间给出程序的名称和它用来做什么的简单说明

    版权所有(C)19xx,作者姓名

    这一程序是自由软件,你可以遵照自由软件基金会出版的GNU通用公共许可证条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你的选择)用任何更新的版本。

    发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适销适合特定用途的隐含性担保。更详细的情况请参阅GNU通用公共许可证。

    你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,写信给:Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA,还应加上如何和你保持联系的信息。

如果程序以交互方式进行工作,当它开始进入交互方式工作时,使它输出类似下面的简短声明:

    Gnomovision第69版,版权所有(C)19XX,作者姓名

    Gnomovision绝对没有担保。要知道详细情况,请输入‘show w’。这是自由软件,欢迎你遵守一定的条件重新发布它,要知道详细情况,请输入‘Show c’。

假设的命令‘show w’和‘show c’应显示通用公共许可证的相应条款。当然,你使用的命令名称可以不同于‘show w’和‘show c’。根据你的程序的具体情况,也可以用菜单或鼠标选项来显示这些条款。

如果需要,你应该取得你的上司(如果你是程序员)或你的学校签署放弃程序版权的声明。下面只是一个例子,你应该改变相应的名称:

    Ynyodyne公司以此方式放弃James Harker所写的‘Gnomovision’程序的全部版权利益。

    Ty coon签名,1989.4.1

    Ty coon, 副总裁

这一许可证不允许你将程序并入专有程序。如果你的程序是一个子程序库。你可能会认为用库的方式和专有应用程序连接更有用。如果这是你想做的事,使用GNU宽通用公共许可证代替本许可证。


本文翻译参考自网上其它中文版本,感谢这些不知名的作者,欢迎按以上条款修改及发布本文。
2004.5.1


本文应该改名为GNU通用公共许可证非官方中文译本。
GNU通用公共许可证原文指的应该是原始英文版本。 --Carlos 09:07 2004年7月15日 (UTC)

该文似乎是繁体中文版的直接转换。
应当采用GNU.org网站推荐的繁体中文版或是简体中文版

--D.J. 05:57 2004年11月21日 (UTC)