GNU 通用公共許可證

一九九一年六月 第二版

(原文出處: http://www.gnu.org/copyleft/gpl.html)

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

允許每個人複製和發佈這一許可證原始文件的副本,
絕對不允許對它進行任何修改。

聲明

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 通用公共許可證非正式的中文翻譯。它不是自由軟體基金會所發布,並且不能適用於使用 GNU GPL 的軟體 ── 只有 GNU GPL 英文原文的版本才行。然而,我們希望這份翻譯能幫助中文的使用者更了解 GNU GPL。

序言

 大多數軟體許可證的用意在於剝奪您共享和修改軟體的自由。相反的,GNU 通用公共許可證力圖保證您共享和修改自由軟體的自由 ── 保證自由軟體對所有使用者都是自由的。GNU GPL 適用於大多數自由軟體基金會的軟體,以及任何因信任而採用 GNU GPL 的作者所開發的軟體。(有些自由軟體基金會軟體受 GNU 函式庫通用許可證的保護)。您也可以將它用到您的程式中。

 當我們談到自由軟體 (free software) 時,我們指的是自由而不是價格。我們把 GNU 通用公共許可證設計成您的保障,讓您保有發佈自由軟體的自由(您可以自由決定是否要對此項服務收取費用);確保您能收到程式原始碼或者在您需要時能得到它;確保您能修改軟體或將它的一部分用於新的自由軟體;而且還確保您知道您擁有這些權利。

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

 例如,如果您發佈這樣一個程式的副本,不管是免費的還是收費的,您必須將您具有的一切權利給予您的接受者;您必須確認他們能收到或得到原始程式碼;並且將這些條款給他們看,使他們知道他們有這樣的權利。

 我們採取兩項措施來保護您的權利:

  1. 用版權來保護軟體。
  2. 提供您許可證,賦予您複製,發佈和修改這些軟體的法律許可。

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

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

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

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

0. 凡是版權所有者在其程式和作品中聲明其程式和作品可以在 GNU GPL 條款的約束下發佈,這樣的程式或作品都受到本許可證約束。下面提到的 "程式" 指的是任何這樣的程式或作品。而 "程式的衍生作品" 指的是這樣的程式或者版權法認定下的衍生作品,也就是說包含此程式或程式的一部分的套件,可以是原封不動的,或經過修改的,和/或翻譯成其他語言的 (程式)。(在下文中,"修改" 一詞的涵義一律包含翻譯作品。) 每個許可證接受人 (licensee) 用 "您" 來稱呼。

 本許可證條款不適用於複製,發佈和修改以外的行為。這些行為超出這些條款的範圍。執行本程式的行為不受條款的限制。而程式的輸出只有在其內容構成本程式的衍生作品 (並非只是因為該輸出由本程式所產生) 時,這一條款才適用。至於程式的輸出內容是否構成本程式的衍生作品,則取決於程式具體的用途。

1. 只要您在每一程式副本上明顯和恰當地宣告版權聲明和不承擔擔保的聲明,並原封不動保持此許可證的聲明和沒有擔保的聲明,並將此許可證連同程式一起給其他每位程式接受者,您就可以用任何媒體複製和發佈您收到的程式的原始碼。

 您可以為轉讓副本的實際行動收取一定費用。您也可以自由決定是否以提供擔保來換取一定的費用。

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

  1. 您必須在修改過的檔案中附有明顯的說明:您修改了此一檔案及任何修改的日期。

  2. 您必須讓您發佈或出版的作品,包括本程式的全部或一部分,或內含本程式的全部或部分所衍生的作品,允許第三方在此許可證條款下使用,並且不得因為此項授權行為而收費。

  3. 如果修改的程式在執行時以交談方式讀取命令,您必須使它在開始進入一般的交談使用方式時列印或顯示聲明:包括適當的版權聲明和沒有擔保的聲明(或者您提供擔保的聲明);使用者可以按此許可證條款重新發佈程式的聲明;並告訴使用者如何看到這一許可證的副本。 (例外的情況:如果原始程式以交談方式工作,但它通常並不列印這樣的聲明,那麼您基於此程式的作品也就不用列印聲明)。

 這些要求適用於整個修改過的作品。如果能夠確定作品的一部分並非本程式的衍生產品,且可以合理地單獨考慮並將它與原作品分開的話,則當您將它作為獨立的作品發佈時,它不受此許可證和其條款的約束。但是當您將這部分與基於本程式的作品一同發佈時,則整個套件將受到本許可證條款約束,因為本許可證對於其他許可證持有人的授權擴大到整個產品,也就是套件的每個部分,不管它是誰寫的。

 因此,本條款的意圖不在於剝奪您對完全由您自身完成作品的權利,而是履行權利來控制基於本程式的集體作品或衍生作品的發佈。

 此外,將與本程式無關的作品和本程式 (或本程式的衍生作品) 一起放在貯存媒體或發佈媒體的同一卷上,並不導致將其他作品置於此許可證的約束範圍之 內。

3. 您可以以目標碼或可執行形式複製或發佈程式 (或符合第 2 款,本程式的衍生作品),只要您遵守前面的第 1、2 款,並同時滿足下列三條中的任一條。

  1. 在通常用作軟體交換的媒體上,和目標碼一起附有機器可讀的完整的本程式原始碼。這些原始碼的發佈應符合上面第 1,2 款的要求。或者

  2. 在通常用作軟體交換的媒體上,和目標碼一起,附上書面報價,提供替第三方複製原始碼的服務。該書面報價有效期不得少於 3 年,費用不得超過完成原程式發佈的實際成本,原始碼的發佈應符合上面的第 1,2 款的要求。或者

  3. 和目標碼一起,附有您收到的發佈原碼的報價信息。 (這一條款只適用於非商業性發佈,而且您只收到程式的目標碼或可執行碼,和按 b 款要求提供的報價)

 作品的原始碼指的是對作品進行修改最優先擇取的形式。對可執行的作品而言,完整的原始碼套件包括:所有模組的所有原始程式,加上有關的介面的定義,加上控制可執行作品的安裝和編譯的 script。至於那些通常伴隨著執行本程式所需的作業系統元件 (如編譯器、核心等) 而發佈的軟體 (不論是原始碼或可執行碼),則不在本許可證要求以程式原始碼形式伴隨發佈之列,除非它是本程式的一部分。

 如果可執行碼或目標碼是以指定複製地點的方式來發佈,那麼在同一地點提供等價的原始碼複製服務也可以算作原始碼的發佈,然而第三方並不需因此而負有必與目標碼一起複製原始碼的義務。

4. 除了本許可證明白聲明的方式之外, 您不能複製,修改,轉發許可證和發佈程式。任何試圖用其他方式複製,修改,轉發許可證和發佈程式是無效的,而且將自動結束許可證賦予您的權利。然而,對那些從您那裡按許可證條款得到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然有效。

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

6. 每當您重新發佈程式 (或任何程式的衍生作品) 時,接受者自動從原始許可證頒發者那裡接到受這些條款和條件支配的複製、發佈或修改本程式的許可。您不可以增加任何條款來進一步限制本許可證賦予他們的權利。您也沒有強求第三方履行許可證條款的義務。

7. 如果由於法院判決或違反專利的指控或任何其他原因 (不限於專利問題) 的結果,使得強加於您的條件 (不管是法院判決,協議或其他) 和許可證的條件有衝突時,他們也不能令您背離許可證的條款。在您不能同時滿足本許可證規定的義務及其他相關的義務來發佈程式時,則結果您只能夠根本不發佈程式。例如,如果某一專利許可證不允許所有直接或間接從您那裡接受副本的人們,在不付專利費的情況下重新發佈程式,唯一能同時滿足兩方面要求的辦法是停止發佈程式。

 如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其餘部分,並將這部分條款作為整體用於其他環境。

 本條款的目的不在於引誘您侵犯專利或其他財產權的要求,或爭論這種要求的有效性。本條款的主要目的在於保護自由軟體發佈系統的完整性。它是通過公共許可證的應用來實現的。許多人已依賴同是出自此系統的應用程式,經由此系統發佈大量自由軟體而做出慷慨的供獻。作者/捐獻者有權決定他/她是否通過任何其他系統發佈軟體,許可證接受者不能強迫作者/捐獻者做某種特定的選擇。

我們相信許可證其他部分已涵蓋本節所述狀況,本節目的只在更明確說明許可證其餘部分可能產生的結果。

8. 如果由於專利或者由於有版權的介面問題使程式在某些國家的發佈和使用受到限制,則以本許可證發佈程式的原始作者可以增加發佈地區的限制條款,將這些國家明確排除在外,並在這些國家以外的地區發佈程式。在這種情況下,這些限制條款如同寫入本許可證一樣,成為許可證的條款。

9. 自由軟體基金會可能隨時出版通用公共許可證的修改版或新版。新版和當前的版本在精神上保持一致,但在細節上可能有出入,以處理新的問題與狀況。

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

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

沒有擔保

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

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

條款結束

(譯註: 以下不是法律條文, 只是要教一般的程式設計師如何使用 GNU GPL)

如何將這些條款用到您的新程式

 如果您開發了新程式,而且您需要它得到公眾最大限度的利用,要做到這一點的最好辦法是將它施以 GNU GPL,使得每個人都能循此條款來修改和重新發佈你寫的軟體。

 為了做到這一點,請將程式附上下列聲明。最安全的方式是將它放在每個原始碼檔案的開頭,以便最有效地傳遞沒有擔保的信息。每個文件至少應有 "版權所有" 行以及在什麼地方能看到聲明全文的說明。

用一行空間描述程式的名稱和它的用途
版權所有 (C) 19XX 作者姓名

 本程式是自由軟體,您可以遵照自由軟體基金會 (Free Software Foundation) 出版的 GNU 通用公共許可證條款 (GNU General Public License) 第二版來修改和重新發佈這一程式,或者自由選擇使用任何更新的版本。

 發佈這一程式的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的而隱含的擔保。更詳細的情況請參閱 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" 。根據您的程式的具體情況,也可以用選單或滑鼠來顯示這些條款。

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

Yoyodyne 公司以此方式放棄 James Hacker 所寫的 Gnomovision 程式的全部版權利益。

Ty coon 簽名,1989.4.1
Ty coon 副總裁

 這一許可證不允許您將程式併入私有程式。如果您的程式是一個子函式庫。您可能會認為讓它和私有的應用程式連接會更有用。如果您想這麼做,請使用 GNU 函式庫通用公共許可證代替本許可證。
CLDP 譯注

本文的原始翻譯者已不可考(如果有人知道,請告訴我)。 譯文經過下列人士的修改與潤飾(依先後順序):