GNU通用公共授權合約

第二版,1991年6月
版權所有(C)1989, 1991 自由軟體基金會
51 Franklin Street, Fifth Floor, Boston, MA 02110‐1301, 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. You may publish this translation, modified or unmodified, only under the terms at http://www.gnu.org/licenses/translations.html
  這是GNU通用公共授權合約的一份非官方中文翻譯,並非自由軟體基金會所發表,不適用於使用GNU通用公共授權合約發佈的軟體的法律聲明——只有GNU通用公共授權合約英文原版才具有法律效力。不過我們希望本翻譯能夠幫助中文讀者更好地理解GNU通用公共授權合約。 您可以僅根據http://www.gnu.org/licenses/translations.html中的條款發布此修改或未修改的翻譯。

【引言】

  就多數軟體而言,授權合約被設計用於剝奪你分享和修改軟體的自由。相反,GNU通用公共授權合約力圖保障你分享和修改自由軟體的權利——確保自由軟體對其使用者來說是自由的。本GNU通用公共授權合約用於自由軟體基金會的大多數軟體(自由軟體基金會的有些軟體受GNU寬鬆通用公共授權合約保護),以及那些作者聲明使用此協定的軟體。你也可以將本協定用於你的程式。
  所謂自由軟體,強調自由,而非免費。本GNU通用公共授權合約設計用於確保你享有分發自由軟體的自由(你可以為此服務收費),確保你可以在需要的時候獲得這些軟體的源碼,確保你可以修改這些軟體或者在新的自由軟體中複用其中某些片段,並且確保你在這方面享有知情權。
  為保障你的權益,我們需要作一些限定:禁止任何人否認你的上述權利,或者要求你放棄它們。當你分發或修改這些軟體時,這種限定就變成你的義務。如果你分發這種程式的副本,無論收費還是免費,你必須給予與你同等的權利。你還要確保他們也能收到源碼並瞭解他們的權利。
  我們通過兩步保障你的權益:其一,賦予軟體著作權;其二,通過本協議使你可以合法地複製、分發和修改該軟體。同時,為了保護每一位作者以及我們自己,我們向所有人指明如下一點:自由軟體並不提供品質擔保。如果軟體被修改並繼續傳播,我們希望接收者知道獲得的不是原版,後來引入的任何問題不應該影響原作者的聲譽。
  最後,自由軟體還持續受到軟體專利的威脅。我們希望避免再發佈者以個人名義取得專利,即將程式據為己有。為防止此類情況發生,我們需要澄清:專利必須為保障每個人的自由使用而申請,否則不應該存在。

  下文是關於複製、分發和修改的嚴謹描述和實施條件。

【關於複製、分發和修改的術語和條件】

  〇、但凡版權持有人在他的程式或其他作品中聲明該作品可在GNU通用公共授權合約約束下發佈,本協議便對之適用。下文中所說的“程式”指任何程式或作品,而“程式的派生作品”指該程式或者版權法認定的派生作品,即全部或部分包含了該程式的作品,無論是原樣包含或做了修改,乃至翻譯成了其他語言(後文中“修改”涵蓋翻譯)。每個許可獲得者稱作“你”。
  除複製、分發和修改外的行為超出了本協議的約束範圍。執行程式的行為並不受限,程式的輸出一般不在約束之內,除非其內容構成了本程式的派生作品(並非單純地作為本程式的運行結果),判別取決於此程式的具體用途。

  一、只要你做到為每一個副本醒目而恰當地發佈版權與免責聲明,原封不動地保留本協議及免責聲明,並將本協議連同程式發予接收者,你可以通過任何媒介完整地複製和分發你收到的本程式的源碼。
  你可以就傳輸副本的具體行為收費,也可以選擇提供品質擔保以換取收入。

  二、你可以修改你的程式副本的任意部分,以構成本程式的派生作品,並在滿足上述條款及以下三點要求的前提下複製和分發該修改版:
  a)你必須在你修改了的檔中醒目地聲明你的修改及標注修改日期。
  b)你必須使你分發或發佈的作品,部分或全部包含本程式或其派生作品,允許協力廠商在本協定約束下使用,並不得就授權收費。
  c)如果修改後的程式通常在運行時通過對話模式獲取命令,你應該讓它進入交互模式時顯示簡要的版權聲明和免責聲明(抑或者你的品質擔保聲明),以及告訴使用者可以在本協議約束下再發佈該程式並提供查閱本協定的途徑。(例外:如果本程式有互動式執行卻通常不顯示任何聲明,則對你的派生作品也不作此要求。)
  上述要求對修改後的作品整體有效。如果該作品中某些可劃定的部分並非派生自本程式,並可以被合理地看作是從中分離的獨立作品,則當你將它們分開發佈時,這種獨立部分可以不受本協定約束。但是,在你將這些部分和你修改後的作品一起發佈時,整個套件將受本協定約束,本協定對其他許可獲得者的授權將延伸至整個作品,即套件的每一部分,不管是誰寫的。

  三、你可以在上述條款約束下以目的碼或可執行檔的形式複製和分發本程式(或條款二所說的派生作品),不過你還要滿足以下要求之一:
  a)附上相應的源碼。源碼要求完整且機器可讀,並在條款一、二的約束下通過常用的軟體交換媒介分發。
  b)附上至少三年有效的書面報價表以供協力廠商付費獲取相應的源碼。源碼要求完整且機器可讀,並在條款一、二的約束下通過常用的軟體交換媒介分發,費用不得超過實際的分發成本。
  c)附上你所收到的獲取源碼途徑的資訊。(該選擇只適用於非商業分發,並且你只收到目的碼或可執行檔以及滿足b項要求的報價單的情況下。)
  作品的源碼指其可修改的首選形式。對可執行的作品而言,完整的源碼指其包含的所有模組的源碼、相關介面定義文檔以及編譯和安裝所需腳本。然而,有一種例外情況,分發的源碼不必包含那些通常會隨會目標運行環境的作業系統的主要部件(編譯器、內核等)發佈的內容(以源碼或二進位形式),除非這些部件自身是本程式的一部分。
  如果以指定特定複製地點的形式分發可執行檔或目的碼,則在同一地點提供對等源碼複製途徑也算一種源碼分發手段,即便不強求協力廠商在複製目的碼的同時複製源碼。

  四、在本協議授權之外,你不能複製、修改、再授權或分發本程式。任何用其他方法複製、修改、再授權或分發本程式的企圖都是無效的,並使你從本協議獲得的權利自動終止。然而從你那按本協議獲得副本和許可的人,只要繼續遵守協議,他們獲得的許可並不會終止。

  五、你沒有在此協議上簽字,也不是非要接受它不可。但是,此外沒人可授權你去修改或分發本程式或其派生作品。此種行為為法律所不容,除非你接受本協議。因此,修改或發佈本程式(或本程式的任何派生作品),就表明你已經接受本協議,即接受它的所有關於複製、分發和修改本程式及其派生的條款。

  六、每當你再發佈本程式(或本程式的任何派生作品),接收者自動從原始權利人獲得本許可,以複製、分發和修改本程式。你不可以對他們獲得的權利加以進一步的限制,你也沒有要求協力廠商遵守該協議的義務。

  七、如果因為法庭裁決或專利侵權指控或其他原因(不限於專利事宜),你面臨與本協議條款衝突的條件(來自於法庭要求、協議或其他),那也不能成為你違背本協議的理由。倘若你不能在發佈本程式時同時滿足本協議和其他檔的要求,你就不能發佈本程式。例如某專利授權不允許通過你直接或間接地獲得本程式的人在不付授權費的前提下再發佈本程式,唯一能同時滿足它和本協議要求的做法便是不發佈本程式。
  如果本條款在特定環境下無效或無法實施,本條款的其他部分仍適用且本條款整體在其他環境下仍適用。
  本條款的目的不在於誘使你去侵犯專利或其他產權要求,抑或者對之抗辯。本條款的根本目的是保護自由軟體發佈系統的完整性,而這要通過應用公共許可證實現。借助同樣出自該系統的應用程式,許多人已經對在該系統上發佈的軟體作出了廣泛而慷慨的貢獻。作者/捐贈人有權確定是否通過其他管道發佈軟體,被授權人不得干預其選擇。
  本條款旨在徹底闡明其餘條款所帶來的當然結果。

  八、如果由於專利或受版權保護的介面的問題,分發或使用本程式在某些國家受到限制,原始版權持有人在其程式中使用本協定時可以附加明確的區域分發限制以排除那些國家,以支援此外地區的分發。在此情況下,這種限制條款將納入協議之中。

  九、自由軟體聯盟可能會不定時發佈GNU通用公共授權合約的修訂版或新版。新版將秉承當前版本的精神,但對問題或事項的描述細節不盡相同。
  每一版都會有不同的版本號,如果本程式指定其使用的協議版本以及“任何更新的版本”,你可以選擇遵守該版本或者任何更新的版本的條款。如果本程式沒有指定協議版本,你可以選用自由軟體聯盟發佈的任意版本。

  十、如果你希望將本程式的某部分併入採取不同發佈條件的自由軟體中,應書面請求其作者的許可。對於自由軟體聯盟持有版權的軟體,還應向聯盟提出書面請求,我們有時會作例外處理。在處理這種事情時我們秉承兩大宗旨:保持所有自由軟體派生作品的自由屬性,以及在整體上促進軟體的共用和複用。

不提供品質擔保

  十一、本程式為免費授權,故在適用法律範圍內不提供品質擔保。除非另作書面聲明,版權持有人及其他程式提供者“概”不提供任何顯式或隱式的品質擔保,品質擔保所指包括而不僅限於有經濟價值和適合特定用途的保證。全部風險,如程式的品質和性能問題,皆由你承擔。若程式出現缺陷,你將承擔所有必要的修復和更正服務的費用。

  十二、除非適用法律或書面協議要求,任何版權持有人或本程式按本協議可能存在的協力廠商修改和再發佈者,都不對你的損失負有責任,包括由於使用或者不能使用本程式造成的任何一般的、特殊的、偶發的或重大的損失(包括而不僅限於資料丟失、資料失真、你或協力廠商的後續損失、其他程式無法與本程式協同運作),即使那些人聲稱會對此負責。

【附錄:如何將上述條款應用到你的新程式】

  如果你開發了一個新程式,並希望它能最大限度地為公眾所使用,最好的辦法是將其作為自由軟體,以使每個人都能在本協定約束下對其再發佈及修改。
  為此,請在附上以下聲明。最安全的做法是將其附在每份源碼的開頭,以便於最有效地傳遞免責資訊。同時,每個檔至少包含一處“版權”聲明和一個協定全文的連結。

  用一行來標明程式名及其作用。

  版權所有(C)年份 姓名
  本程式為自由軟體,在自由軟體聯盟發佈的GNU通用公共授權合約的約束下,你可以對其進行再發佈及修改。協議版本為第二版或(隨你)更新的版本。
  我們希望發佈的這款程式有用,但不保證,甚至不保證它有經濟價值和適合特定用途。詳情參見GNU通用公共授權合約。
  你理當已收到一份GNU通用公共授權合約的副本,如果沒有,請致信自由軟體基金會:51 Franklin Street, Fifth Floor, Boston, MA 02110‐1301, USA

  同時提供你的電子郵寄地址或傳統的郵件聯繫方式。

  如果該程式是互動式的,讓它在交互模式下輸出類似下面的一段聲明:

  Gnomovision 第69版,版權所有(C)年份 姓名
  Gnomovision從未提供品質擔保,輸入'show w'可查看詳情。這是款自由軟體,歡迎你在滿足一定條件後對其再發佈,輸入'show c'可查看詳情。

  例子中的命令'show w'和'show c'應用於顯示GNU通用公共授權合約相應的部分。當然你也可以因地制宜地選用別的命令乃至點擊操作。

  如果你之上存在雇主(你是碼農)或校方,你還應當讓他們在必要時為此程式簽署放棄版權聲明。以下有例子:

  Yoyodyne公司,在此放棄對James Hacker所寫的'Gnomovision'程式所享有的版權利益。
  Ty Coon 簽字,1989年4月1日
  Ty Coon 副總裁

  本GNU通用公共授權合約不允許把你的程式併入私有程式。如果你的程式是某種庫,且你想允許它被私有程式連結而使之更有用,請使用GNU較寬鬆通用公共授權合約。



翻譯:Samuel Chong<schong2@go.pasadena.edu>

譯注:
[1] distribute既譯作分發也譯作發佈,前者強調轉發,後者強調公佈。
[2] license既譯作協議也譯作許可,前者強調此文本,後者強調內容。
[3] 首字母大寫的Program譯作程式,首字母小寫的program譯作程式。

參考:
[繁體中文譯本] https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html