这是一份“GNU通用公共授权”协议的非官方的中文翻译。它并非由自由软件基金会(Free Software Foundation)所发布,亦非使用“GNU通用公共授权”的软件的法定发布条款——只有“GNU通用公共授权”英文原版才具有法律效力 。我们的初衷,是希望这份翻译能帮助中文的使用者更好地了解“GNU 通用公共授权”。

  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 GPL does that. However, we hope that this translation will help Chinese speakers understand the GNU GPL better.

GNU通用公共授权

第二版, 1991年6月

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

允许每个人复制和发布本授权文件的完整拷贝,但不允许对它进行任何修改。

本版本由Leo-Hong(leohca (at) yahoo.com)、Derek Zhou(zhous1998(at)gmail.com)翻译整理, Chao-Hong Liu、William Cai (wcai(at)gnu.org)、伊冲(cnsworder(at)gmail.com)校正。

前言

  大多数软件的授权协议是为剥夺您共享与修改软件的自由而设计的。与之相反的是,“GNU通用公共授权”力图保证您分享与修改自由软件的自由——确保软件对所有的使用者都是自由的 。该通用公共授权适用于大多数自由软件基金会(Free Software Foundation)的软件(有些自由软件基金会的软件,则采用了“GNU函式库通用公共授权”协议),以及任何作者指定使用本协议的其它软件 。您也可以让您的软件采用本授权协议。

  当我们在谈论自由软件(free software)时,free所指的是自由,而不是价格。我们的通用公共授权是用以确保您拥有发布自由软件拷贝的自由(并且您可以决定此服务是否收费),确保您可接收到源代码或者在需要时能得到它,确保您能修改软件或将它的一部分用于新的自由软件;并且确保您知道可以做上述的这些事情。

  为了保障您的权利,我们需要作出限制:禁止任何人否认您上述的权利,或者要求您放弃这些权利。如果你修改了软件或者发布了软件的拷贝,这些限制就转化成为您的责任。

  例如,假如您发布使用这一协议的程序的拷贝,无论是免费或收费,您必须将您所享有的一切权利给予接收者。您必须确保他们也能收到或得到源代码。而且您必须向他们展示这些条款的内容, 让他们知道他们所能享有的权利。

   我们采取两项措施来保护您的权利:

(1)以版权保护软件;

(2)为您提供本授权,赋予您复制、发布和(或)修改软件的合法许可。

   同时,为了保护作者与我们自由软件基金会,我们想要确保每个人都明白,自由软件是没有担保责任的。如果软件被他人修改并加以传播,我们需要其受用者知道,他们所得到的并非原始版本,因此由他人所 导致的任何问题,不应损害原作者的声誉。

   最后,任何自由软件都不断地受到软件专利的威胁。我们希望能避免这样的风险:自由软件的再发布者以个人名义取得专利授权而占有程序。为了防止这种事情的发生,我们在此明确声明:任何专利都必须 以保证任何人的自由使用为前提,否则就不应授与该专利。

   以下是有关复制、发布及修改的明确条款及条件。


复制、发布与修改的条款与条件

0、当著作权人在其程序或著作中声明其程序或著作在通用公共授权条款下发布时,本协议开始生效。以下所称的“程序”,是指任何一个采用“GNU通用公共授权”的程序或著作; 而一个“基于本程序的著作”,则指该程序或任何遵照著作权法所产生的它的衍生著作——换言之,是指包含本程序全部或一部分的著作,且该著作可以是原始的或经过修改的程序,以及 (或)翻译成其它语言的程序(以下“修改”一词包括但不限于翻译)。被授权人则称为“您”。

本授权协议不适用于复制、发布与修改以外的行为;这些行为不在本协议范围内。运行程序的行为并不受限制,而程序的输出只有在其内容构成了一个基于本程序的著作(而不只是因为运行本程序所造成)时,始受本协议约束。至于程序的输出内容是否构成本程序的衍生著作,则取决于本程序的具体用途。

1、您可以通过任何媒介复制与发布本程序的源代码,但您必须以显着及适当的方式在每一份拷贝上发布适当的著作权标示及无担保声明;维持所有有关本授权以及无担保声明的标识;并将本授权的拷贝连同程序一起交付给本程序的受用者。

您可以对拷贝(副本)的传递收取一定的费用,您也可以自由决定是否因为收费而提供应有的担保。

2. 您可以修改程序的一个或数个拷贝或者程序的任何部份,以此形成基于本程序的著作,并依照上一条规定复制与发布该修改过的程序或著作——但请注意您还必须遵循以下条件:

(a) 您必须在所修改的文件上附加明确的标示,阐明您修改过这些文件,以及修改日期。

(b) 您必须将您所发布或发行的著作——无论是包含本程序全部或部分的著作,还是是自全部或部份本程序所衍生的著作——整体授权第三方遵循本授权的规定免费使用。

(c) 若经过修改的程序在运行时通常以交互方式读取命令,您必须在最常用的方式下,在开始进入这种交互式使用时,打印输出或显示以下声明:适当的著作权标识及无担保声明(或者您提供担保 的声明);使用者可依照本授权再发布此程序的声明,以及告知使用者如何查阅本授权的拷贝。(例外:若本程序本身是以交互的方式执行,然而通常却不会输出这样的声明时,则您基于本程序所生的著作便无需输出该声明 。)

这些要求适用于修改了的著作的整体。倘若著作中可独立识别的一部份并非衍生自本程序,并且可以合理地认为是独立的、可分离的著作,则当您将其分离作为独立著作加以发布时,本授权及其条款将不适用于该部分 。然而当您将上述部分,作为本程序的衍生著作的一部分而发布时,整个著作的发布必须符合本授权条款的规定,也就是说其它被授权人对整个作品都享用本授权,而不管哪个部分是谁的著作。

因此,本条规定的根本目的不是索取或剥夺您对于完全由您所完成著作的权利;应该说,本条规定意在行使对本程序所衍生的著作或集体创作的著作的发布行为的控制权。

此外,将非基于本程序的其它著作与本程序(或基于本程序所产生的著作)合编于同一储存或发布的媒介上时,并不会使前者因此受本授权条款的约束。

3. 您可以依照上述第一、第二条规定,复制与发布本程序(或第二条所述基于本程序所产生的著作)的目标码(object code)或可执行形式,但您必须同时符合以下条件之一:

(a) 附上完整的相应机器可读源代码在通常用作软件交换的媒体上发布,而这些源代码必须符合上述第一、第二条规定;

(b) 附上至少三年有效的书面报价文件,在收费不超过实际发布源代码所需费用的情况下,在通常用作软件交换的媒体上发布该拷贝,将 符合上述第一、第二条规定的相应源代码的完整的机器可读拷贝提供给任何第三人;

(c) 附上您所收到的发布相应源代码的报价信息。(仅在非商业性发布、且仅在您依照上述b项方式以该报价购买本程序的目标码或可执行形式时,本条例方有效。)

著作的源代码,是指对著作进行修改时最优先择取的形式。对于一个可执行的著作而言,完整的源代码是指著作中所包含的所有模组的全部源代码,加上相关接口的定义文件,以及用以控制该著作编译与安装的脚本。然而有一个特殊的例外情况是,所发布的源代码并不需包含 任何通常会伴随它在上面运行的操作系统的主要组成部分(编译器、核心等等)而发布的软件(无论以源代码或二进位格式),除非该部分本身即与可运行程序结合在一起。

若可执行码或目标码是以提供指定的地点供人复制的方式而发布,那么任何人提供可自相同地点复制源代码的机会,视同于发布源代码,虽然不强制要求第三人将目标码连同源代码一起复制 。
 
4. 除本授权所明确的方式外,您不得对本程序加以复制、修改、再授权或发布。任何试图以其它方式进行复制、修改、再授权或者发布本程序的行为均无效,并且将自动终止您基于本授权所享有的权利 。然而,依本授权规定自您手中接收拷贝或权利之人,只要遵守本授权规定,他们所获得的授权并不会因此终止。
 
5. 您并未在本授权上签名,所以您可以不接受本授权。然而,除此之外您别无其它修改或发布本程序或其衍生著作的授权协议。若您不接受本协议,这些行为是法律禁止的。因此,对本程序(或任何基于本程序所衍生的著作)的修改或发布行为,表示了您 接受本协议以及它的所有关于复制、发布或修改本程序或本程序衍生著作的条款与条件。

6. 每当您再发布本程序或任何基于本程序所衍生的著作时,受用者即自动获得原授权人所授予的依照本协议条款复制、发布或修改本程序的权利。您不得对本协议赋予受用者行使的权利附加任何额外的限制。您对于第三人是否履行本协议一事,无须承担任何负责。

7. 若法院判决、专利侵权裁决或者其它任何原因(不限于专利争议)的结果,使得加诸于您的条件(无论是由法庭的裁决、调解书还是其它方式造成)与本协议规定有所冲突,他们并不免除您对于本协议的遵守。若因为其它条件的限制您无法同时符合本协议所赋予的义务而进行发布,那么其结果便是您不得发布本程序。例如,若专利授权不允许其它人免费再发布从您这直接或间接 得到的本程序,您唯一能同时满足该规定及本协议的方式就是彻底停止发布本程序。
 
若本条款的任何部份在特殊情况下被认定无效或无法执行时,本条其余部分仍应有效,且在这些特殊情况之外本条款全部有效。

本条款的目的并不是诱使您侵害专利或其它财产权,或对其赋予的权利的有效性提出异议;本条款的唯一目的,是保障“GNU通用公共授权”自由软件的发布系统的完整性。许许多多的人在信赖该发布系统能够可靠应用的基础上,对经由本协议发布的大量软件做出了慷慨的贡献;作者(捐献者 )有权决定他或她是否希望经由其它的系统发布软件,而被授权人不能强制干涉这种选择。

本条的用意在于将本协议的一个重要部分彻底解释清楚。

8. 若因为专利或著作权保护而使得本程序的发布与(或)使用局限于某些国家时,则将本程序置于本协议之下的原著作权人可增加明确的发布地区限制条款将这些国家排除在外,而使本程序限制在未受排除的国家之内或之间 发布。在这种情况下,该限制条款就象以书面方式订立于本协议中一样,成为本授权的条款。

9. 自由软件基金会不定时发表“GNU通用公共授权”的修订版与(或)新版本。新版本与目前的版本原则上保持一致,然而为了应对新的问题或利害关系,在细节上可能会有所不同 。

本协议每版都有其独立的版本号。若本程序明确规定有协议的版本号,则表示它适用该版本或者任何更新的版本,您可以选择遵循该版本或任何由自由软件基金会日后所发布的新版本的条款。若本程序并未明确规定协议 的版本号时,您可以选择任一自由软件基金会所发表的版本。

10. 若您想将本程序的一部分结合到其它自由程序中,而后者的发布的要求有所不同时,请写信取得作者的许可。如果是自由软件基金会享有著作权的软件,请写信给自由软件基金会;我们有时会以例外方式予以处理 。我们的决定取决于两个目的:确保我们的自由软件的所有衍生著作均维持在自由的状态,并广泛地促进软件的分享与再利用。

无担保声明

11. 由于本程序是无偿授权,因此在法律许可范围内,本授权对本程序并不负担保责任。非经书面声明,著作权人与(或)其它提供本程序之人,无论明示或隐含,均并无任何形式的担保责任,其包括但不限于,它在商业适售性以及特定 用途的适用性方面的隐含担保。本程序质量与性能方面的全部风险均由您承担 。如本程序被证明有瑕疵,您应承担所有服务、修复或改正的费用。

12. 除非适用法或书面协议要求,任何著作权人或任何可依照前述方式修改与(或)发布本程序的人,对于您因为使用或不能使用本程序所造成的一般性、特殊性、意外性或间接性的损失,不负任何责任(包括但不限于 数据遗失,数据结果不准确,或应由您或第三人承受的损失,或本程序无法与其它程序一起运行等)——即便该著作权人或其它人已被告知存在这些损失的可能。

条文结束


您的新程序该如何采用这些条款?

如果您开发了一个新程序,并且希望能够使它尽可能地让大众受益,达到此目的最好的方式就是让它成为自由软件,这样任何人在遵循本协议的前提下都能够再发布及修改它。

为了做到这一点,请给程序附加以下声明。最安全的作法,是将声明放在每个源代码文件的起始处,以便最有效地传达无担保责任声明;每个文件至少应有单独的“版权所有”行以及能够查阅到这一完整协议的指向。

用一行来描述程序的名称及其用途的简介:

版权所有(C) 〈年份〉〈作者姓名〉

本程序为自由软件;您可依据自由软件基金会所发布的GNU通用公共授权第二版或您自行选择的更新的版本的条款规定,发布和(或)修改本程序;

发布这一程序的目的是希望它有用,但并不承担任何担保责任;对其商业适售性以及特定用途的适用性亦不提供隐含担保。详情请参照“GNU通用公共授权”。

您应已收到本程序附带的“GNU通用公共授权”的副本;如果没有,请写信至自由软件基金会:59 Temple Place - Suite 330, Boston, Ma 02111-1307, USA。

当然您应附上通过电子邮件及书面信件方式与您联系的资料。

若程序是以交互方式运行时,请在交互式模式开始时,输出简短提示如下:

Gnomovision 第69版,版权所有 年份 作者姓名 (译者注:“Gnomovision 第69版”是假设的软件名称和版本号,实际中要用您的软件名称和版本号替代)
Gnomovision不负担保责任,欲知详情请键入“show w”。这是一个自由软件,欢迎您在特定条件下发布本程序;欲知详情请键入“show c”。

所假设的指令“show w”与“show c”应显示GNU通用公共授权的对应条款。当然,您可以使用“show w”与“show c”以外的指令名称;甚至可以以鼠标点击或菜单选择的方式进行——只要是符合您的程序需要的方式都可以。

如有需要,您亦应取得您的雇主(若您是程序设计师)或学校就本程序所签署的“著作权放弃声明”。其范例如下(您只要修改公司名称、姓名、程序名称即可):

Yoyodyne公司兹此宣布放弃James Hacker所写之“Gnomovision”程序(在编译器上通过)所有的著作权权益。

〈Ty Coon公司签章〉,1989.4.1

Ty Coon公司,副总裁


本通用公共授权并不允许您将使用此授权的程序并入专用程序中。若您的程序是一子程序库时,您可能认为允许专有应用程序与该子程序库相连接会更有帮助。若您真想这样做,请使用GNU函式库通用公共授权 (GNU Lesser General Public License)代替本授权。