維基百科:GNU通用公共許可證原文

維基百科,自由的百科全書

GNU通用公共許可證(GNU General Public License)

第二版,1991年

版權所有(C)1989,1991 Free Software foundation, Inc. 675 Mass Ave, Cambridge, MA02139, 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通用公共許可證力圖保證你的共享和修改自由軟件的自由。——保證自由軟件對所有用戶是自由的。GPL適用於大多數自由軟件基金會的軟件,以及由使用這些軟件而承擔義務的作者所開發的軟件。(自由軟件基金會的其他一些軟件受GNU庫通用許可證的保護)。你也可以將它用到你的程序中。

當我們談到自由軟件(free software)時,我們指的是自由而不是價格。我們的GNU通用公共許可證決意保證你有發布自由軟件的自由(如果你願意,你可以對此項服務收取一定的費用);保證你能收到源程序或者在你需要時能得到它;保證你能修改軟件或將它的一部分用於新的自由軟件;而且還保證你知道你能做這些事情。

為了保護你的權利,我們需要作出規定:禁止任何人不承認你的權利,或者要求你放棄這些權利。如果你修改了自由軟件或者發布了軟件的副本,這些規定就轉化為你的責任。

例如,如果你發布這樣一個程序的副本,不管是收費的還是免費的,你必須將你具有的一切權利給予你的接受者;你必須保證他們能收到或得到源程序;並且將這些條款給他們看,使他們知道他們有這樣的權利。

我們採取兩項措施來保護你的權利。

(1)给软件以版权保护。
(2)给你提供许可证。它给你复制,发布和修改这些软件的法律许可。

同樣,為了保護每個作者和我們自己,我們需要清楚地讓每個人明白,自由軟件沒有擔保(no warranty)。如果由於其他某個人修改了軟件,並繼續加以傳播。我們需要它的接受者明白:他們所得到的並不是原來的自由軟件。由其他人引入的任何問題,不應損害原作者的聲譽。

最後,任何自由軟件不斷受到軟件專利的威脅。我們希望避免這樣的風險,自由軟件的再發布者以個人名義獲得專利許可證。事實上,將軟件變為私有。為防止這一點,我們必須明確:任何專利必須以允許每個人自由使用為前提,否則就不准許有專利。

下面是有關複製,發布和修改的確切的條款和條件。

GNU通用公共許可證有關複製,發布和修改的條款和條件

0. 此許可證適用於任何包含版權所有者聲明的程序和其他作品,版權所有者在聲明中明確說明程序和作品可以在GPL條款的約束下發布。下面提到的「程序」指的是任何這樣的程序或作品。而「基於程序的作品」指的是程序或者任何受版權法約束的衍生作品。也就是說包含程序或程序的一部分的作品。可以是原封不動的,或經過修改的和/或翻譯成其他語言的(程序)。在下文中,翻譯包含在修改的條款中。每個許可證接受人(licensee)用你來稱呼。

許可證條款不適用於複製,發布和修改以外的活動。這些活動超出這些條款的範圍。運行程序的活動不受條款的限止。僅當程序的輸出構成基於程序作品的內容時,這一條款才適用(如果只運行程序就無關)。是否普遍適用取決於程序具體用來做什麼。

1. 只要你在每一副本上明顯和恰當地出版版權聲明和不承擔擔保的聲明,保持此許可證的聲明和沒有擔保的聲明完整無損,並和程序一起給每個其他的程序接受者一份許可證的副本,你就可以用任何媒體複製和發布你收到的原始的程序的源代碼。

你可以為轉讓副本的實際行動收取一定費用。你也有權選擇提供擔保以換取一定的費用。

2. 你可以修改程序的一個或幾個副本或程序的任何部分,以此形成基於程序的作品。只要你同時滿足下面的所有條件,你就可以按前面第一款的要求複製和發布這一經過修改的程序或作品。

a) 你必須在修改的文件中附有明確的說明:你修改了這一文件及具體的修

改日期。

b) 你必須使你發布或出版的作品(它包含程序的全部或一部分,或包含由

程序的全部或部分衍生的作品)允許第三方作為整體按許可證條款免費使用。

c) 如果修改的程序在運行時以交互方式讀取命令,你必須使它在開始進入

常規的交互使用方式時打印或顯示聲明:包括適當的版權聲明和沒有擔保的聲明 (或者你提供擔保的聲明);用戶可以按此許可證條款重新發布程序的說明;並 告訴用戶如何看到這一許可證的副本。(例外的情況:如果原始程序以交互方式 工作,它並不打印這樣的聲明,你的基於程序的作品也就不用打印聲明)。 這些要求適用於修改了的作品的整體。如果能夠確定作品的一部分並非程序 的衍生產品,可以合理地認為這部分是獨立的,是不同的作品。當你將它作為獨 立作品發布時,它不受此許可證和它的條款的約束。但是當你將這部分作為基於 程序的作品的一部分發布時,作為整體它將受到許可證條款約束。准予其他許可 證持有人的使用範圍擴大到整個產品。也就是每個部分,不管它是誰寫的。 因此,本條款的意圖不在於索取權利;或剝奪全部由你寫成的作品的權利。 而是履行權利來控制基於程序的集體作品或衍生作品的發布。

此外,將與程序無關的作品和該程序或基於程序的作品一起放在存貯體或發 布媒體的同一卷上,並不導致將其他作品置於此許可證的約束範圍之內。

3. 你可以以目標碼或可執行形式複製或發布程序(或符合第2款的基於程序的 作品),只要你遵守前面的第1,2款,並同時滿足下列3條中的1條。

a)在通常用作軟件交換的媒體上,和目標碼一起附有機器可讀的完整的源

碼。這些源碼的發布應符合上面第1,2款的要求。或者

b)在通常用作軟件交換的媒體上,和目標碼一起,附有給第三方提供相應

的機器可讀的源碼的書面報價。有效期不少於3年,費用不超過實際完成源程序 發布的實際成本。源碼的發布應符合上面的第1,2款的要求。或者

c)和目標碼一起,附有你收到的發布源碼的報價信息。(這一條款只適用

於非商業性發布,而且你只收到程序的目標碼或可執行代碼和按b)款要求提供 的報價)。

作品的源碼指的是對作品進行修改最優先擇取的形式。對可執行的作品講, 完整的源碼包括:所有模塊的所有源程序,加上有關的接口的定義,加上控制可 執行作品的安裝和編譯的script。作為特殊例外,發布的源碼不必包含任何常規 發布的供可執行代碼在上面運行的操作系統的主要組成部分(如編譯程序,內核 等)。除非這些組成部分和可執行作品結合在一起。 如果採用提供對指定地點的訪問和複製的方式發布可執行碼或目標碼,那麼 ,提供對同一地點的訪問和複製源碼可以算作源碼的發布,即使第三方不強求與 目標碼一起複製源碼。

4. 除非你明確按許可證提出的要求去做,否則你不能複製,修改,轉發許可證 和發布程序。任何試圖用其他方式複製,修改,轉發許可證和發布程序是無效的 。而且將自動結束許可證賦予你的權利。然而,對那些從你那裡按許可證條款得 到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然 有效。

5. 你沒有在許可證上簽字,因而你沒有必要一定接受這一許可證。然而,沒有 任何其他東西賦予你修改和發布程序及其衍生作品的權利。如果你不接受許可證 ,這些行為是法律禁止的。因此,如果你修改或發布程序(或任何基於程序的作 品),你就表明你接受這一許可證以及它的所有有關複製,發布和修改程序或基 於程序的作品的條款和條件。

6. 每當你重新發布程序(或任何基於程序的作品)時,接受者自動從原始許可 證頒發者那裡接到受這些條款和條件支配的複製,發布或修改程序的許可證。你 不可以對接受者履行這裡賦予他們的權利強加其他限制。你也沒有強求第三方履 行許可證條款的義務。

7. 如果由於法院判決或違反專利的指控或任何其他原因(不限於專利問題)的 結果,強加於你的條件(不管是法院判決,協議或其他)和許可證的條件有衝突 。他們也不能用許可證條款為你開脫。在你不能同時滿足本許可證規定的義務及 其他相關的義務時,作為結果,你可以根本不發布程序。例如,如果某一專利許 可證不允許所有那些直接或間接從你那裡接受副本的人們在不付專利費的情況下 重新發布程序,唯一能同時滿足兩方面要求的辦法是停止發布程序。 如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其餘 部分。並將條款作為整體用於其他環境。

本條款的目的不在於引誘你侵犯專利或其他財產權的要求,或爭論這種要求 的有效性。本條款的主要目的在於保護自由軟件發布系統的完整性。它是通過通 用公共許可證的應用來實現的。許多人堅持應用這一系統,已經為通過這一系統 發布大量自由軟件作出慷慨的供獻。作者/捐獻者有權決定他/她是否通過任何 其他系統發布軟件。許可證持有人不能強制這種選擇。

本節的目的在於明確說明許可證其餘部分可能產生的結果。

8. 如果由於專利或者由於有版權的接口問題使程序在某些國家的發布和使用受 到限止,將此程序置於許可證約束下的原始版權擁有者可以增加限止發布地區的 條款,將這些國家明確排除在外。並在這些國家以外的地區發布程序。在這種情 況下,許可證包含的限止條款和許可證正文一樣有效。

9. 自由軟件基金會可能隨時出版通用公共許可證的修改版或新版。新版和當前 的版本在原則上保持一致,但在提到新問題時或有關事項時,在細節上可能出現 差別。

每一版本都有不同的版本號。如果程序指定適用於它的許可證版本號以及「 任何更新的版本」。你有權選擇遵循指定的版本或自由軟件基金會以後出版的新 版本,如果程序未指定許可證版本,你可選擇自由軟件基金會已經出版的任何版 本。

10. 如果你願意將程序的一部分結合到其他自由程序中,而它們的發布條件不 同。寫信給作者,要求准予使用。如果是自由軟件基金會加以版權保護的軟件, 寫信給自由軟件基金會。我們有時會作為例外的情況處理。我們的決定受兩個主 要目標的指導。這兩個主要目標是:我們的自由軟件的衍生作品繼續保持自由狀 態。以及從整體上促進軟件的共享和重複利用。

無擔保

11. 由於程序准予免費使用,在適用法准許的範圍內,對程序沒有擔保。除非 另有書面說明,版權所有者和/或其他提供程序的人們「一樣」不提供任何類型 的擔保。不論是明確的,還是隱含的。包括但不限於隱含的適銷和適合特定用途 的保證。全部的風險,如程序的質量和性能問題都由你來承擔。如果程序出現缺 陷,你承擔所有必要的服務,修復和改正的費用。

12. 除非適用法或書面協議的要求,在任何情況下,任何版權所有者或任何按 許可證條款修改和發布程序的人們都不對你的損失負有任何責任。包括由於使用 或不能使用程序引起的任何一般的,特殊的,偶然發生的或重大的損失(包括但 不限於數據的損失,或者數據變得不精確,或者你或第三方的持續的損失,或者 程序不能和其他程序協調運行等)。即使版權所有者和其他人提到這種損失的可 能性也不例外。

最後的條款和條件

如何將這些條款用到你的新程序

如果你開發了新程序,而且你需要它得到公眾最大限度的利用。要做到這一 點的最好辦法是將它變為自由軟件。使得每個人都能在遵守條款的基礎上對它進 行修改和重新發布。

為了做到這一點,給程序附上下列聲明。最安全的方式是將它放在每個源程 序的開頭,以便最有效地傳遞拒絕擔保的信息。每個文件至少應有「版權所有」 行以及在什麼地方能看到聲明全文的說明。

<用一行空间给出程序的名称和它用来做什么的简单说明>
版权所有(C) 19XX <作者姓名>
这一程序是自由软件,你可以遵照自由软件基金会出版的GNU通用公共许可
证条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你的选
择)用任何更新的版本。
发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定目
的的隐含的担保。更详细的情况请参阅GNU通用公共许可证。
你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,
写信给:
The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA02139, USA

還應加上如何和你保持聯繫的信息。

如果程序以交互方式進行工作,當它開始進入交互方式工作時,使它輸出類 似下面的簡短聲明:

Gnomovision 第69版, 版权所有(C) 19XX, 作者姓名,
Gnomovision绝对没有担保。 要知道详细情况,请输入‘show w’。
这是自由软件,欢迎你遵守一定的条件重新发布它,要知道详细情况,
请输入‘show c’。
假设的命令‘show w’和‘show c’应显示通用公共许可证的相应条款。当
然,你使用的命令名称可以不同于‘show w’和‘show c’。根据你的程序的具
体情况,也可以用菜单或鼠标选项来显示这些条款。

如果需要,你應該取得你的上司(如果你是程序員)或你的學校簽署放棄程 序版權的聲明。下面只是一個例子,你應該改變相應的名稱:

Yoyodyne公司以此方式放弃James Harker
所写的 Gnomovision程序的全部版权利益。
<Ty coon签名>,1989.4.1
Ty coon付总裁

這一許可證不允許你將程序併入專用程序。如果你的程序是一個子程序庫。 你可能會認為用庫的方式和專用應用程序連接更有用。如果這是你想做的事,使 用GNU庫通用公共許可證代替本許可證。