GNU 通用公共授权 (简体中文翻译版)
GNU 通用公共授权 (简体中文翻译版)
GNU General Public License
以下内容来自GNU 通用公共许可证
GNU 通用公共授权 (简体中文翻译版)
声明!
这是一份 GNU 通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用 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月
著作权所有 © 1989,1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
允许每个人复制和发布本授权文件的完整副本,
但不允许对它进行任何修改。
导言
大多数软件授权声明是设计用以剥夺您共享与修改软件的自由。相反地,GNU通用公共授权力图保证您分享与修改自由软件的自由-确保软件对所有的使用者都是自由的。通用公共授权适用于大多数自由软件基金会的软件,以及任何作者指定使用本授权的其他软件。(有些自由软件基金会的软件,则适用GNU函式库通用公共授权规定。)您也可以让您的软件适用本授权规定。
当我们在谈论自由软件时,我们所指的是自由,而不是价格。我们的通用公共授权是设计用以确保使您拥有发布自由软件备份的自由(以及您可以决定此一服务是否收费),确保您能收到源码或者在您需要时能得到它,确保您能变更软件或将它的一部分用于新的自由软件;并且确保您知道您可以做上述的这些事情。
为了保障您的权利,我们需要作出限制:禁止任何人否认您上述的权利,或者要求您放弃这些权利。如果您发布软件的副本,或者对之加以修改,这些限制就转化成为您的责任。
例如,假如您发布此类程序的副本,无论是免费或收取费用,您必须将您所享有的一切权利给予收受者。您也必须确保他们也能收到或得到原始程序码。而且您必须向他们展示这些条款的內容,使他们知到他们所享有的权利。
我们采取两项措施來保护您的权利:(1)以著作权保护软件,以及(2)提供您本授权,赋与您复制、发布并且/或者修改软件的法律许可。
同时,为了保护作者与我们(按:指自由软件基金会),我们想要确定每个人都明白,自由软件是沒有担保责任的。如果软件被他人修改并加以传播,我们需要其收受者知道,他们所得到的并非原始版本,因此由他人所引出的任何问题对原作者的声誉将不会有任何的影响。
最后,所有自由软件不断地受到软件专利的威胁。我们希望能避免自由软件的再发布者以个人名义取得专利授权而使程序专有化的风险。为了防止上述的情事发生,我们在此明确声明:任何专利都必须为了每个人的自由使用而核准,否则就不应授与专利。
以下是有关复制、发布及修改的明确条款及条件。
复制、发布与修改的条款与条件
0. 凡著作权人在其程序或其他著作中声明,该程序或著作会在通用公共授权条款下发布,本授权对其均有适用。以下所称的"程序",是指任何一种适用通用公共授权的程序或著作;并且一个"基于本程序的著作",则指本程序或任何基于著作权法所产生的衍生著作,换言之,是指包含本程序全部或一部的著作,不论是完整的或经过修改的程序,以及(或)翻译成其他语言的程序(以下"修改"一词包括但不限于翻译行为在內)。被授权人则称为"您"。
本授权不适用于复制、发布与修改以外的行为;这些行为不在本授权范围内。执行本程序的行为并不受限制,而本程序的输出只有在其內容构成基于本程序所生的著作(而非只是因为执行本程序所造成)时,始受本授权拘束。至于程序的输出內容是否构成本程序的衍生著作,则取决于本程序的具体用途。
1. 您可以对所收受的本程序源代码,无论以何种媒介,复制与发布其完整的复制物,然而您必须符合以下要件:以显著及适当的方式在每一份复制物上发布适当的著作权标示及无担保声明;维持所有有关本授权以及无担保声明的原貌;并将本授权的副本连同本程序一起交付予其他任何一位本程序的收受者。
您可以对让与复制物的实际行为收取一定的费用,您也可以自由决定是否提供担保以作为对价的交换。
2. 您可以修改本程序的一个或数个复制物或者本程序的任何部份,以此形成基于本程序所生的著作,并依前述第一条规定,复制与发布此一修改过的程序或著作,但您必须符合以下要件:
(a) 您必须在所修改的挡案上附加显著的标示,阐明您修改过这些挡案,以及修改日期。
(b) 您必须就您所发布或发行的著作,无论是包含本程序全部或一部的著作,或者是自本程序或其任何部份所衍生的著作,整体授权所有第三人依本授权规定使用,且不得因此项授权行为而收取任何费用。
© 若经过修改的程序在执行时通常以交互方式读取命令时,您必须在最常被使用的方式下,于开始进入这种交互式使用时,列印或展示以下宣告:适当的著作权标示及无担保声明(或者声明您提供担保)、使用者可以依这些条件再发布此程序,以及告知使用者如何浏览本授权的副本。(例外:若本程序本身是以交互的方式执行,然而通常却不会列印该宣告时,则您基于本程序所生的著作便无需列印该宣告。)
这些要求对修改过的著作是整体适用的。倘著作中可识別的一部份并非衍生自本程序,并且可以合理地认为是一独立的、个別的著作,则当您将其作为个別著作加以发布时,本授权及其条款将不适用于该部分。然而当您将上述部分,作为基于本程序所生著作的一部而发布时,整个著作的发布必须符合本授权条款的规定,而本授权对于其他被授权人所为的许可及于著作整体。
因此,本条规定的意图不在于主张或剥夺您对于完全由您所完成著作的权利;应该說,本条规定意在行使对基于程序所生的之衍生著作或集合著作发布行为的控制权。
此外,非基于本程序所生的其他著作与本程序(或基于本程序所生的著作)在同一储存或发布的媒介上的单纯聚集行为,并不会使该著作因此受本授权条款约束。
3. 您可以依前述第一、二条规定,复制与发布本程序(或第二条所述基于本程序所产生的著作)的目的码或可执行形式,但您必须符合以下要件:
(a) 附上完整、相对应的机器可判读源码,而这些源码必须依前述第一、二条规定在经常用以作为软件交换的媒介物上发布;或
(b) 附上至少三年有效的书面报价文件,提供任何第三人在支付不超过实际发布源码所需成本的费用下,取得相同源码的完整机器可读复制物,并依前述第一、二条规定在经常用以作为软件交换的媒介物上发布该复制物;或
© 附上您所收受有关发布相同源码的报价资讯。(本项选择仅在非赢利发布、且仅在您依前述b项方式自该书面报价文件收受程序目的码或可执行形式时,始有适用。)
著作的源码,是指对著作进行修改时适用的形式。对于一个可执行的著作而言,完整的源码是指著作中所包含所有模组的全部源码,加上相关介面的定义挡,还加上用以控制该著作编译与安裝的描述。然而,特別的例外情况是,所发布的源码并不需包含任何通常会随著所执行作业系统的主要组成部分(编译器、核心等等)而发布的软件(无论以源码或二进位格式),除非该部分本身即附加在可执行程序中。
若可执行码或目的码的发布方式,是以指定的地点提供存取位置供人复制,则提供可自相同地点复制源码的使用机会,视同对于源码的发布,然而第三人并不因此而负有将目的码连同源码一起复制的义务。
4. 除本授权所明示的方式外,您不得对本程序加以复制、修改、再授权或发布。任何试图以其他方式进行复制、修改、再授权或者发布本程序的行为均为无效,并且将自动终止您基于本授权所得享有的权利。然而,依本授权规定自您手中收受复制物或权利之人,只要遵守本授权规定,他们所获得的授权并不会因此终止。
5. 因为您并未在本授权上签名,所以您无须接受本授权。然而,除此之外您別无其他修改或发布本程序或其衍生著作的授权许可。若您不接受本授权,则这些行为在法律上都是被禁止的。因此,藉由对本程序(或任何基于本程序所生的著作)的修改或发布行为,您表示了对于本授权的接受,以及接受所有关于复制、发布或修改本程序或基于本程序所生著作的条款与条件。
6. 每当您再发布本程序(或任何基于本程序所生的著作)时,收受者即自动获得原授权人所授予依本授权条款与条件复制、发布或修改本程序的权利。您不得就本授权所赋予收受者行使的权利附加任何进一步的限制。您对于第三人是否履行本授权一事,无须负责。
7. 若法院判决、专利侵权主张或者其他任何理由(不限于专利争议)的结果,使得加诸于您的条件(无论是由法院命令、协议书或其他方式造成)与本授权规定有所冲突,他们并不免除您对于本授权规定的遵守。若您无法同时符合依本授权所生义务及其他相关义务而进行发布,那么其结果便是您不得发布该程序。例如,若专利授权不允许其他人直接或间接取得复制物,通过您以免付权利金的方式再发布该程序,您唯一能同时滿足该义务及本授权的方式就是徹底避免进行该程序的发布。
若本条任一部份在特殊情况下被认定无效或无法执行时,本条其余部分仍应适用,且本条全部于其他情况下仍应适用。
本条的目的并不在诱使您侵害专利或其他財产权的权利主张,或就此类主张的有效性加以争执;本条的唯一目的,是在保障藉由公共授权惯例所执行自由软件发布系统的完整性。许多人信赖该系统一贯使用的应用程序,而对经由此系统发布的大量软件有相当多的贡献;作者/贡献者有权决定他或她是否希望经由其他的系统发布软件,而被授权人则无该种选择权。
本条的用意在于将本授权其他不确定的部分徹底解释清楚。
8. 若因为专利或享有著作权保护的介面问题,而使得本程序的发布与/或使用局限于某些国家时,则将本程序置于本授权规范之下的原著作权人得增列明确的发布地区限制条款,将这些国家排除在外,而使发布的许可只限在未受排除的国家之內或之中。在该等情况下,该限制条款如同以书面方式订定于本授权內容中,而成为本授权的条款。
9. 自由软件基金会得随时发表通用公共授权的修正版与/或新版本。新版本在精神上将近似于目前的版本,然而在细节上或所不同以因应新的问题或状况。
每一个版本都有个別的版本号码。若本程序指定有授权版本号码,表示其适用该版本或是"任何新版本"时,您可以选择遵循该版本或任何由自由软件基金会日后所发表新版本的条款与条件。若本程序并未指定授权版本号码时,您可以选择任一自由软件基金会所发表的版本。
10. 若您想将部分本程序纳入其他自由程序,而其发布的条件有所不同时,请写信取得作者的许可。若为自由软件基金会享有著作权的软件,请写信至自由软件基金会;我们有时会以例外方式予以处理。我们的决定取决于两项目标:确保我们自由软件的所有衍生著作均维持在自由的状态,并广泛地促进软件的分享与再利用。
无担保声明
11. 由于本程序是无偿授权,因此在法律许可范围內,本授权对本程序并不负担保责任。非经书面声明,著作权人与/或其他提供程序之人,无论明示或默许,均是依「现况」提供本程序而并无任何形式的担保责任,其包括但不限于,就适售性以及特定目的的适用性为默示性担保。有关本程序品质与效能的全部风险均由您承担。如本程序被证明有瑕疵,您应承担所有服务、修复或改正的费用。
12. 非经法律要求或书面同意,任何著作权人或任何可能依前述方式修改与/或发布本程序者,对于您因为使用或不能使用本程序所造成的一般性、特殊性、意外性或间接性损失,不负任何责任(包括但不限于,资料损失,资料执行不精确,或应由您或第三人承担的损失,或本程序无法与其他程序运作等),即便前述的著作权人或其他人已被告知该等损失的可能性时,也是一样。
-条文结束-
您的新程序该如何采用这些条款?
如果您开发了一个新程序,并且希望能够让它尽可能地被大众使用,达成此目的的最好方式就是让它成为自由软件,任何人依这些条款规定都能就该软件再为发布及修改。
为了做到这一点,请将以下声明附加到程序上。最安全的作法,是将声明放在每份源码挡案的起始处,以有效传达无担保责任的讯息;且每份挡案至少应有「著作权」列以及本份声明全文位置的提示。
用一行描述程序的名称与其用途简述
著作权所有© 〈年份〉〈作者姓名〉
本程序为自由软件;您可依据自由软件基金会所发表的GNU通用公共授权条款规定,就本程序再为发布与/或修改;无论您依据的是本授权的第二版或(您自行选择的)任一日后发行的版本。
本程序是基于使用目的而加以发布,然而不负任何担保责任;亦无对适售性或特定目的适用性所为的默示性担保。详情请参照GNU通用公共授权。
您应已收到附随于本程序的GNU通用公共授权的副本;如果没有,请写信至自由软件基金会:59 Temple Place - Suite 330, Boston, Ma 02111-1307, USA。
同时附上如何以电子及书面信件与您联系的资料。
若程序是以交互方式运作时,请在交互式模式开始时,输出简短提示如下:
Gnomovision 第69版,著作权所有 © 年份 作者姓名
Gnomovision不负担保责任,欲知详情请键入’show w’。这是一个自由软件,欢迎您在特定条件下再发布本程序;欲知详情请键入’show c’。
所假设的指令’show w’与’show c’应显示通用公共授权的相对应条款。当然,您可以使用’show w’与’show c’以外的指令名称;甚至以鼠标键击或选菜单方式进行-只要是合于您程序需要的方式都可以。
如有需要,您亦应取得您的雇主(若您的工作为程序设计師)或学校就本程序所签署的「著作权放弃承諾书」。其范例如下,您只要修改姓名即可:
Yoyodyne公司,茲此放弃James Hacker所写之’Gnomovision’程序(该程序产出编译器所需资讯)所有的著作权利益。
〈Ty Coon公司签章〉,1989年四月一日
Ty Coon公司,副总裁
本通用公共授权并不允许您将本程序并入专有程序中。若您的程序是一子程序函数库时,您可能认为允许专有应用程序与该函式库相连结会更有帮助。若这是您所想做的,请使用GNU函式库通用公共授权代替本授权。
--------------------------------------------------------------------------------
原文网站: http://www.gnu.org/licenses/gpl.html
GNU 较宽松公共许可证 (简体中文翻译版)
GNU General Public License
GNU 较宽松公共许可证 (简体中文翻译版)
声明!
这是一份 GNU 较宽松公共许可证非正式的中文翻译。它不是自由软体基金会所发布,并且不能适用于使用 GNU LGPL 的软体 —— 只有 GNU LGPL 英文原文的版本才行。然而,我们希望这份翻译能帮助中文的使用者更了解 GNU LGPL。 This is an unofficial translation of the GNU Lesser 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 LGPL–only the original English text of the GNU LGPL does that. However, we hope that this translation will help Chinese speakers understand the GNU LGPL better.
GNU 较宽松公共许可证
1999.2, 第 2.1 版
版权所有 © 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
允许每个人复制和发布本授权文件的完整副本,
但不允许对它进行任何修改。
[这是第一次发表的较宽松公共许可证 (Lesser GPL) 版本。它同时也可视为 GNU 函数库公共许可证 (GNU Library Public License) 第 2 版的后继者,故称为 2.1 版]
导言
大多数软体许可证决意剥夺您共享和修改软体的自由。相反的,GNU 通用公共许可证力图保证您共享和修改自由软体的自由 —— 保证自由软体对所有使用者都是自由的。
这个许可证,较宽松公共许可证,适用于一些由自由软体基金会与其他决定使用此许可证的软体作者,所特殊设计的软体套件 —— 象是函数库。您也可以使用它,但我们建议您事先仔细考虑,基于以下的说明是否此许可证或原来的通用公共许可证在任何特殊情况下均为较好的方案。
当我们谈到自由软体时,我们所指的是自由,而不是价格。我们的 GNU 通用公共许可证是设计用以确保使您有发布自由软体备份的自由(如果您愿意,您可以对此项服务收取一定的费用);确保您能收到程式原始码或者在您需要时能得到它;确保您能修改软体或将它的一部分用于新的自由软体;而且还确保您知道您可以做上述的这些事情。
为了保护您的权利,我们需要作出限制:禁止任何人否认您上述的权利,或者要求您放弃这些权利。如果您发布软件的副本,或者对之加以修改,这些规定就转化为您的责任。
例如,如果您发布此函数库的副本,不管是免费还是收取费用,您必须将您享有的一切权利给予接受者;您必须确保他们也能收到或得到原始程式码;如果您将此函数库与其他的程式码连结,您必须提供完整的目的对象文件和程序(object file)给接受者,则当他们修改此函数库并重新编译过后,可以重新与目的档连结。您并且要将这些条款给他们看,使他们知道他们有这样的权利。
我们采取两项措施来保护您的权利: (1)用版权来保护函数库。并且,(2)我们提供您这份许可证,赋予您复制,发布和(或)修改这些函数库的法律许可。
为了保护每个发布者,我们需要非常清楚地让每个人明白,自由函数库是没有担保责任的。如果由于某人修改了函数库,并继续加以传播,我们需要它的接受者明白:他们所得到的并不是原始的版本。故由其他人引入的任何问题,对原作者的声誉将不会有任何的影响。
最后,由于软体专利不断地威胁自由软体的存在,我们希望商业公司无法藉由自专利持有者取得一个受限的许可证,而有效地限制自由软体的使用者。因此,我们坚持一个函数库所能取得的任何专利,必须与本许可证所声明的“完全自由使用”一致。
大部分的 GNU 软体,包括一些函数库,是受到原来的 GNU 通用公共许可证的保护。本许可证, GNU 较宽松通用公共许可证,适用于特殊设计的函数库,且与原来的通用公共许可证有很大的不同。我们在特定的函数库中使用它,以准许非自由的程式可以与这些函数库连结。 当一个程式与一个函数库连结,不论是静态连结或使用共享函数库,二者的结合可以合理地说是结合的作品,一个原来的函数库的衍生品。因此,原来的通用公共许可证只有在整个结合品满足其自由的标准时,才予许连结。较宽松通用公共许可证则以更宽松的标准允许其他程式码与本函数库连结。
我们称此许可证 “较宽松” 通用公共许可证,是因为它比起原来的通用公共许可证对使用者的自由做到较少的保护。在与非自由软体竞争时,它也提供其他自由软体的写作者较少的优势。这些不利之处正是我们使用原来的通用公共许可证于许多函数库的理由。然而,较宽松的许可证可在某些特殊场合下带来好处。 例如,在少数情况下,可能会有特殊的需要而鼓励大家尽可能广泛地使用特定的函数库,因而使它成为实际上的标准。为了达到此目标,必须允许非自由的程式使用此函数库。一个较常发生的情况是一个自由的函数库与一个被广泛使用的非自由函数库做相同的工作,在此情况下,限制只有自由软体可以使用此自由函数库不会有多少好处,故我们如用了较宽松通用公共许可证。
在其他情况下,允许非自由程式使用特定的函数库,可以让更多的人们使用自由软体的大部分。例如,允许非自由程式使用 GNU C 函数库可以让更多的人们使用整个 GNU 作业系统,以及它的变形,GNU/Linux 作业系统。
尽管较宽松通用共公许可证对使用者的自由是较少的保护的,它却能确保与此函数库连结的程式的使用者拥有自由,而且具有使用修改过的函数库版本来执行该程式的必要方法。
以下是复制、发布、以及修改的精确条款与条件。请注意 “基于函数库的作品” 以及 “使用函数库的作品” 之间的差异:前者包含来自函数库修改过的原始码;而后者则必须与函数库结合才能执行。
GNU 较宽松通用公共许可证
有关复制,发布和修改的条款和条件
0. 本许可证适用于任何软体函数库,或其他包含了由版权所有者加入的注意事项的程式,或其他有公信力的团体宣称其程式可以在较宽松通用公共许可证 (也称之为 “本许可证") 的条款下发布。每一位许可证接受者以 “您” 来称呼。
一个 “函数库” 意指一些软体函数的集合,以及或准备好的资料以方便与应用程式 (其使用了其中某些函数与资料) 连结形成可执行的程式。
以下,"函数库” 一词指的是任何在本条款下发布的这一类软体函数库或作品,一个 “基于本函数库的作品” 意指函数库或任何在版权法下的衍生作品:也就是说,一个包含了本函数库或其一部分的作品,可以是原封不动的,或经过修改的,和/或直接翻译成其他语言的。(在下文中,翻译是不受限地包含在 “修改” 的条款中。)
作品的 “原始码” 意指对作品进行修改最优先择取的形式。对函数库而言,完整的原始码意指所有模组的所有原始程式,加上有关的介面的定义,加上控制函数库的安装和编译的 script。
本许可证条款不适用于复制,发布和修改以外的活动。这些活动超出这些条款的范围。使用本函数库来执行本程式的动作不受条款的限制,而程式的输出只有在其内容所构成的作品是基于本函数库时 (与在什么样的工具中使用本函数库来输出无关) ,这一条款才适用。以上是否为真则取决于本函数库具体用来做什么。
1. 只要您在每一程式副本上明显和恰当地宣告版权声明和不承担担保的声明,并保持此许可证的声明和没有担保的声明完整无损,并和程式一起给其他每位程式接受者一份许可证的副本,您就可以用任何媒体复制和发布您收到的函数库的完整原始码。
您可以为转让副本的实际行动收取一定费用。您也可以选择提供担保以换取一定的费用。
2. 只要您同时满足下面的所有条件,您就可以按前面第一款的要求修改函数库的一个或几个副本或它的任何部分,以此形成基于此函数库的作品,并且复制和发布这一经过修改的程式或作品:
被修改的作品本身必须是一个软体函数库。
您必须在修改过的档案中附有明确的说明:您修改了此一档案及任何修改的日期。
您必须让整个作品允许第三方在此许可证条款下可以免费使用。
如果修改过的函数库其某个设备使用到了「使用本函数库的应用程式」所提供的函数或资料表格,却不是当此设备被呼叫时以参数列传入时,则您必须确实做到,当应用程式不提供这样的函数或表格时,则此设备依旧能工作,且其执行的任何目的仍然有意义。
(例如,一个函数库的函数用来计算平方根,其目的是有完整的定义且与应用程式是无关的。因此, 2d 小节要求任何本函数会使用的,由应用程式所提供的函数或表格必须是选择性的:如果应用程式不提供的话,则计算平方根的函数必须依旧能计算平方根)
这些要求适用于整个修改过的作品。如果能够确定作品的一部分并非本函数库的衍生产品,且可以合理地单独考虑并将它与原作品分开的话,则当您将它作为独立的作品发布时,它不受此许可证和其条款的约束。但是当您将这部分与基于本函数库的作品一同发布时,则整个套件将受到本许可证条款约束,其对于其他许可证持有人的使用范围扩大到整个产品,也就是套件的每个部分,不管它是谁写的。
因此,本条款的意图不在于索取权利,或剥夺完全由您完成的作品的权利,而是履行权利来控制基于本函数库的集体作品或衍生作品的发布。 此外,将与本函数库无关的作品和本函数库 (或基于本函数库的作品) 一起放在贮存媒体或发布媒体的同一卷上,并不导致将其他作品置于此许可证的约束范围之内。
3. 对于一个函数库的副本,您可以选择性地使用原来的 GNU 通用公共许可证上的条款来取代本许可证上的条款。如果您要这么做,您必须修改所有的参考到本许可证的注意事项,使它们指向原来的 GNU 通用公共许可证,第二版,以取代本许可证(如果有比第二版的原来的 GNU 通用公共许可证更新的版本出现的话,则如果您愿意的话可以特别指明使用新版)。请不要对这些注意事项做出其他的改变。
一旦在一个副本上做了这样的改变,则该副本就无法撤回这样的改变,故原来的 GNU 通用公共许可证将适用于所有后续的副本以及由此副本衍生出来的作品。
此一选择性适用于当您想要将一部分的函数库原始码复制到一个非函数库的程式使用时。
4. 您可以以目标码或可执行形式复制或发布本函数库 (或符合第 2 款,基于本函数库的作品),只要您遵守前面的第 1、2 款,并同时提供完整的相关机器可读的原始码,而这些原始码必须在前面的第 1 与第 2 款条件下,在一般习惯上用来做软体交换的媒体上发布。
如果所发布的目标码是由指定的地点提供拷贝索取,那么由同一地点所提供等价的原始码拷贝索取可以算作原始码的发布,即使第三方不强求与目标码一起复制原始码。
5. 一个程式若包含不经任何部分修改的函数库,但却是设计经由编译或连结的方式与本函数库一同工作者,称之为 “使用函数库的作品"。这样的一个作品,严格地说,并非本函数库的衍生作品,因而不在本许可证的范围之内。
然而,将 “使用函数库的作品” 与本函数库连结而产生可执行程式,则是本函数库的衍生品 (因为它包函了本函数库的一部分),而不是 “使用函数库的作品",因此其可执行程式包含在本许可证的范围内。第 6 款说明了发布此可执行程式的条款。
当 “使用函数库的作品” 使用了函数库部分的标头档内容时,则此作品即使其原始码不属于本函数库的衍生品,但其目标码仍然是。这一点是否为真特别在是否本作品可以在不需要本函数库即可连结,或者是否该作品本身也是一个函数库时特别明显。
如果这样的目标档只使用数字参数、资料结构层级与附属品、以及小巨集和小内□式 (小于或等于十行) ,则此目标档的使用是不受限的,不论是否它是合法的衍生作品。 (但可执行程式若包函此目标档以及一部分的函数库,仍然将在第 6 款的规定下)
否则的话,如果本作品是本函数库的衍生品,您必须在第 6 款的规定下发布该作品的目标码。任何包含该作品的可执行程式也在第 6 款的范围内,不论它们是否直接与本函数库连结。
6. 做为上述条款的例外情况,您也可以将 “使用函数库的作品” 与本函数库结合或连结,以产生包含部分本函数库的作品,并在允许使用者自身使用时可以修改该作品,以及在对修改进行反组译除错的情况下,您可以依照您的选择发布该作品。
您必须在每个作品的副本突显出如下的注意事项:本函数库在作品中被使用,以及本函数库以及它的使用是在本许可证的规定下。您必须提供本许可证的副本。如果该作品在执行时显示版权声明,您必须在其中包含本函数库的版权声明,以及指引使用者取得本许可证的副本。同时,您必须做到以下其中一件事:
必须将完整的机器可读的函数库原始码包含在该作品中,包括任何该作品使用到的改变 (这些改变必须在前述第 1 与第 2 款的要求下发布);而且,如果该作品是一个与函数库连结的「完整的、机器可□的 “使用函数库的作品"」,则要有目标码和/或原始码,如此使用者可以修改本函数库且可以重新连结,以产生包函修改过的函数库的修改过的可执行程式。 (理所当然的若使用者修改了函数库的档案定义内容时,则该作品不必然可以重新编译以使用修改过的定义。)
在与函数库连结时使用适当的分享函数库连结机制。一个适当的机制是: (1) 在执行时使用已存在于使用者的电脑中的函数库副本,而不是将函数库的函数复制到可执行程式里,以及 (2) 如果使用者安装了一份修改过的函数库,只要修改过的版本在介面上与该作品在编译连结时所用的版本是相容的,则该执行程式可以与修改过的函数库运作良好。
在该作品内提供书面报价,有效期不少于三年,以提供同样的使用者上述第 6a 款中的内容,费用不得超过该程式发布的实际成本。 如果所发布的作品是由指定的地点提供拷贝索取,则由同一地点提供上述内容的等价拷贝索取。
确定使用者已经收到该作品的一份复制,或是您已经寄给该使用者一份复制品。
对于一个可执行程式,其所需的 “使用函数库的作品” 的形式必须包括任何要从中再产生可执行程式时所需的资料与工具程式。然而,有一个特殊例外,其所发布的内容不需要包括任何一般与「可执行本程式的作业系统」的主要部分 (如编译器、核心等) 一起发布的部分 (不论是原始码或可执行码),除非这些组成部分和可执行作品结合在一起。
有一个可能情况是,这些要求与其他通常不与作业系统在一起的私有函数库的版权限制相抵触,这样的抵触表示您不能将它们与本函数库一起用于您发布的可执行程式中。
7. 您可以将使用本函数库的函数库设备,以及其他不在本许可证范围内的函数库,对等地放入一个单独的函数库中,并在基于本函数库的作品以及其他函数库在其他状态下同意可以个别发布,以及您做到以下两点的情况下,您可以发布此结合的函数库:
将基于本函数库的作品单独不与其他函数库设备结合地,与此结合的函数库一同发布。该作品必须在上述条款的规定下发布。
在此结合的函数库中明显地指出其中一部分的作品是基于本函数库,并且说明那里可以找到同样不具结合形式的作品。
8. 除非您明确按许可证提出的要求去做,否则您不能复制、修改、转发许可证、与本函数库连结、和发布本函数库。任何试图用其他方式复制、修改、转发许可证、与本函数库连结、和发布本函数库是无效的,而且将自动结束许可证赋予您的权利。然而,对那些从您那里按许可证条款得到副本和权利的人们,只要他们继续全面履行条款,许可证赋予他们的权利仍然有效。
9. 您没有在许可证上签字,因而您没有必要一定接受此一许可证。然而,没有任何其他东西赋予您修改和发布本函数库及其衍生作品的权利。如果您不接受许可证,这些行为是法律禁止的。因此,如果您修改或发布函数库 (或任何基于函数库的作品) ,您就表明您接受这一许可证以及它的所有有关复制、发布和修改本函数库或基于它的作品的条款和条件。
10. 每当您重新发布函数库 (或任何基于函数库的作品) 时,接受者自动从原始许可证颁发者那里接到受这些条款和条件支配的复制、发布、连结或修改本函数库的许可。您不可以强迫接受者履行除了这里赋予他们的权利之外的其他限制。您也没有强求第三方履行许可证条款的义务。
11. 如果由于法院判决或违反专利的指控或任何其他原因 (不限于专利问题) 的结果,使得强加于您的条件 (不管是法院判决,协议书或其他) 和许可证的条件有冲突时,他们也不能令您背离许可证的条款。在您不能同时满足本许可证规定的义务及其他相关的义务来发布函数库时,则结果您只能够根本不发布函数库。例如,如果某一专利许可证不允许所有直接或间接从您那里接受副本的人们,在不付专利费的情况下重新发布函数库,唯一能同时满足两方面要求的办法是停止发布函数库。
如果本条款的任何部分在特定的环境下无效或无法实施,就使用条款的其余部分,并将这部分条款作为整体用于其他环境。 本条款的目的不在于引诱您侵犯专利或其他财产权的要求,或争论这种要求的有效性。本条款的主要目的在于保护自由软体发布系统的完整性。它是通过公共许可证的应用来实现的。许多人已依赖同是出自此系统的应用程式,经由此系统发布大量自由软体而做出慷慨的供献。作者/捐献者有权决定他/她是否通过任何其他系统发布软体,许可证持有人不能强加这种选择。
本节的目的在于明确说明许可证其余部分可能产生的结果。
12. 如果由于专利或者由于有版权的介面问题使函数库在某些国家的发布和使用受到限制,则在许可证约束下的原始版权拥有者可以增加发布地区的限制条款,将这些国家明确排除在外,并在这些国家以外的地区发布函数库。在这种情况下,许可证套件含的限制条款和许可证正文一样有效。 13. 自由软体基金会可能随时出版较宽松通用公共许可证的修改版或新版。新版和当前的版本在原则上保持一致,但在提到新问题时或有关事项时,在细节上可能出现差别。
每一版本都有不同的版本号。如果函数库指定可适用的许可证版本号以及 “任何更新的版本” ,您有权选择遵循指定的版本或自由软体基金会以后出版的新版本。如果函数库未指定许可证版本,您可选择自由软体基金会已经出版的任何版本。 14. 如果您愿意将函数库的一部分结合到其他自由程式中,而它们的发布条件不同,请写信给作者,要求准予使用。如果是自由软体基金会加以版权保护的软体,写信给自由软体基金会,我们有时会作为例外的情况处理。我们的决定受两个主要目标的指导,这两个主要目标是:我们的自由软体的衍生作品继续保持自由状态,以及从整体上促进软体的共享和重复利用。
没有担保
15. 由于函数库准予免费使用,在适用法准许的范围内,对函数库没有担保。除非另有书面说明,版权所有者和/或其他提供函数库的人们 “一样” 不提供任何类型的担保,不论是明确的,还是隐含的,包括但不限于可销售和适合特定用途的隐含保证。全部的风险,如函数库的质量和性能问题都由您来承担。如果函数库出现缺陷,您应当承担所有必要的服务、修复和改正的费用。
16. 除非适用法或书面协议的要求,在任何情况下,任何版权所有者或任何按许可证条款修改和发布函数库的人们都不对您的损失负有任何责任。包括由于使用或不能使用函数库引起的任何一般的、特殊的、偶然发生的或重大的损失 (包括但不限于数据的损失,或者数据变得不精确,或者您或第三方的持续的损失,或者函数库不能和其他软体协调运行等) 。即使版权所有者和其他人提到这种损失的可能性也不例外。
-条文结束-
如何将这些条款用到您新的函数库
如果您开发了新函数库,而且您需要它得到公众最大限度的利用,要做到这一点的最好办法是将它变为自由软体,使得每个人都能在遵守本条款 (或者是在原来的通用公共许可证的条款) 的基础上对它进行修改和重新发布。
为了做到这一点,请将函数库附上下列声明。最安全的方式是将它放在每个原始码档案的开头,以便最有效地传递拒绝担保的信息。每个文件至少应有 “版权所有” 行以及在什么地方能看到声明全文的说明。
用一行空间描述函数库的名称和它的用途简单说明
版权所有 © 19XX 作者姓名
这一函数库是自由软体,您可以遵照自由软体基金会出版的 GNU 较宽松通用公共许可证条款来修改和重新发布这一程式,或者用许可证的第二版,或者 (根据您的选择) 用任何更新的版本。
发布这一函数库的目的是希望它有用,但没有任何担保。甚至没有适合特定目的而隐含的担保。更详细的情况请参阅 GNU 较宽松通用公共许可证。
您应该已经和函数库一起收到一份 GNU 较宽松通用公共许可证的副本。如果还没有,写信给:
Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
此外还应加上如何藉由电子邮件或一般信件与您保持联系的信息。
如果需要,您应该取得您的上司 (如果您是程式员) 或您的学校签署放弃函数库版权的声明。下面只是一个例子,您应该改变相应的名称:
Yoyodyne 公司以此方式放弃 James Random Hacker 所写的 `Frob’ 函数库 (用以扭转 knobs 的函数库) 的全部版权利益。
Ty coon 签名,1990.4.1
Ty coon 副总裁
全部就只有这样了!