GNU 通用公共許可證,版本 2
- GPL 最新版本,版本 3
- 當您發現可能的 GPL 違規時該怎麼辦
- GPLv2 的翻譯
- GPLv2 常見問題
- GNU 通用公共許可證版本 2 (GPLv2) 的其他格式: 純文字、 Texinfo、 LaTeX、 獨立 HTML、 Docbook、 Markdown、 ODF、 RTF
目錄
GNU 通用公共許可證
版本 2,1991 年 6 月
Copyright (C) 1989, 1991 Free Software Foundation, Inc. <https://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
前言
大多數軟體的許可證旨在剝奪您分享和更改軟體的自由。 相反地,GNU 通用公共許可證旨在保證您分享和更改自由軟體的自由——確保軟體對所有使用者都是自由的。 本通用公共許可證適用於自由軟體基金會的大多數軟體以及作者承諾使用它的任何其他程式。(自由軟體基金會的某些其他軟體則受 GNU 寬鬆通用公共許可證約束。)您也可以將其應用於您的程式。
當我們談論自由軟體時,我們指的是自由,而不是價格。 我們的通用公共許可證旨在確保您擁有散布自由軟體副本(如果您願意,可以為此服務收費)的自由,您可以收到原始碼,或者如果需要可以取得原始碼,您可以更改軟體或在新自由程式中使用軟體的片段;並且您知道您可以做這些事情。
為了保護您的權利,我們需要制定限制,禁止任何人剝奪您的這些權利或要求您放棄這些權利。 如果您散布軟體副本或修改軟體,這些限制將轉化為您必須承擔的某些責任。
例如,如果您散布此類程式的副本,無論是免費還是收費,您都必須將您擁有的所有權利授予接收者。 您必須確保他們也能收到或可以取得原始碼。 而且您必須向他們展示這些條款,以便他們了解自己的權利。
我們透過兩個步驟來保護您的權利:(1)為軟體註冊版權,以及(2)向您提供本許可證,賦予您複製、散布和/或修改軟體的法律許可。
此外,為了保護每位作者和我們自己,我們希望確保每個人都明白,此自由軟體不提供任何擔保。 如果軟體被其他人修改並傳遞下去,我們希望接收者知道他們擁有的不是原始版本,這樣其他人引入的任何問題都不會影響原始作者的聲譽。
最後,任何自由程式都經常受到軟體專利的威脅。 我們希望避免自由程式的再散布者單獨取得專利許可證,實際上使該程式成為專有的危險。 為了防止這種情況,我們已明確規定,任何專利都必須授權所有人免費使用,否則根本不授權。
複製、散布和修改的確切條款和條件如下。
複製、散布與修改的條款與條件
0. 本許可證適用於任何程式或其他作品,其中包含版權持有者發出的通知,聲明該程式或作品可以根據本通用公共許可證的條款散布。 下文中的「程式」指的是任何此類程式或作品,「基於程式的作品」指的是程式或版權法下的任何衍生作品:也就是說,包含程式或其一部分的作品,無論是逐字逐句還是經過修改和/或翻譯成另一種語言。(在下文中,「翻譯」一詞無限制地包含在「修改」一詞中。)每位被授權人均被稱為「您」。
複製、散布和修改以外的活動不受本許可證的約束;它們在本許可證的範圍之外。 執行程式的行為不受限制,並且程式的輸出只有在其內容構成基於程式的作品時才受約束(與是否透過執行程式產生無關)。 這是否屬實取決於程式的功能。
1. 您可以複製和散布您收到的程式原始碼的逐字副本,以任何媒介形式,前提是您在每個副本上顯著且適當地發布適當的版權聲明和免責聲明;完整保留所有提及本許可證和不提供任何擔保的聲明;並向程式的任何其他接收者提供本許可證的副本以及程式。
您可以對傳輸副本的實際行為收取費用,並且您可以選擇提供擔保保護以換取費用。
2. 您可以修改您的程式副本或程式的任何部分,從而形成基於程式的作品,並根據上述第 1 節的條款複製和散布此類修改或作品,前提是您也滿足所有這些條件
- a) 您必須使修改後的文件帶有顯著的通知,說明您更改了文件以及任何更改的日期。
- b) 您必須使您散布或發布的任何作品,無論全部或部分包含程式或其任何部分或從程式或其任何部分衍生而來,都必須根據本許可證的條款,以整體形式免費授權給所有第三方。
- c) 如果修改後的程式通常在執行時以互動方式讀取命令,您必須使其在以最普通的方式開始執行以進行此類互動使用時,列印或顯示公告,其中包括適當的版權聲明和不提供擔保的聲明(或者,說明您提供擔保)以及使用者可以在這些條件下再散布程式,並告知使用者如何查看本許可證的副本。(例外情況:如果程式本身是互動式的,但通常不列印此類公告,則基於程式的作品不需要列印公告。)
這些要求適用於整個修改後的作品。 如果作品中可識別的部分不是從程式衍生而來,並且可以合理地認為是獨立且分開的作品,那麼當您將這些部分作為單獨的作品散布時,本許可證及其條款不適用於這些部分。 但是,當您將相同的部分作為整體的一部分散布時,而該整體是基於程式的作品,則整體的散布必須符合本許可證的條款,本許可證對其他被授權人的許可擴展到整個整體,因此擴展到每個部分,無論是誰編寫的。
因此,本節的目的不是主張權利或質疑您對完全由您編寫的作品的權利;相反,目的是行使控制基於程式的衍生作品或集體作品的散布的權利。
此外,僅僅將另一個不基於程式的作品與程式(或基於程式的作品)在儲存或散布媒介的容量上聚合,並不會使另一個作品受本許可證的約束。
3. 您可以根據上述第 1 節和第 2 節的條款,以目標碼或可執行形式複製和散布程式(或根據第 2 節基於程式的作品),前提是您也執行以下操作之一
- a) 隨附完整的相應機器可讀原始碼,該原始碼必須根據上述第 1 節和第 2 節的條款,在通常用於軟體交換的媒介上散布;或者,
- b) 隨附書面報價,有效期至少三年,向任何第三方提供完整的相應原始碼的機器可讀副本,費用不超過您實際執行原始碼散布的成本,該原始碼將根據上述第 1 節和第 2 節的條款,在通常用於軟體交換的媒介上散布;或者,
- c) 隨附您收到的關於散布相應原始碼的報價的資訊。(此替代方案僅適用於非商業性散布,並且僅當您收到目標碼或可執行形式的程式時,才允許使用此類報價,這與上面的 b 小節一致。)
作品的原始碼是指用於對作品進行修改的首選形式。 對於可執行作品,完整的原始碼是指它包含的所有模組的所有原始碼,加上任何相關的介面定義檔案,加上用於控制可執行檔的編譯和安裝的腳本。 但是,作為一個特殊例外,散布的原始碼不需要包含任何通常與可執行檔運行的作業系統的主要組件(編譯器、核心等)一起散布的內容(無論是原始碼形式還是二進制形式),除非該組件本身隨附可執行檔。
如果透過提供從指定位置複製的存取權限來散布可執行檔或目標碼,那麼提供從同一位置複製原始碼的同等存取權限,也算作散布原始碼,即使第三方沒有義務將原始碼與目標碼一起複製。
4. 除非本許可證明確規定,否則您不得複製、修改、再授權或散布程式。 任何以其他方式複製、修改、再授權或散布程式的企圖均為無效,並將自動終止您在本許可證下的權利。 但是,根據本許可證從您那裡收到副本或權利的當事方,只要這些當事方保持完全合規,其許可證就不會終止。
5. 您無需接受本許可證,因為您沒有簽署它。 但是,如果沒有本許可證,沒有任何其他內容授予您修改或散布程式或其衍生作品的許可。 如果您不接受本許可證,這些行為將被法律禁止。 因此,透過修改或散布程式(或任何基於程式的作品),您表示接受本許可證以執行此操作,以及複製、散布或修改程式或基於程式的作品的所有條款和條件。
6. 每次您再散布程式(或任何基於程式的作品)時,接收者都會自動從原始授權人那裡收到許可證,以根據這些條款和條件複製、散布或修改程式。 您不得對接收者行使本文授予的權利施加任何進一步的限制。 您不負責強制第三方遵守本許可證。
7. 如果由於法院判決或專利侵權指控或任何其他原因(不限於專利問題),對您施加了與本許可證的條件相矛盾的條件(無論是透過法院命令、協議或其他方式),這些條件都不能免除您遵守本許可證的條件。 如果您無法在散布的同時滿足您在本許可證下的義務和任何其他相關義務,那麼作為後果,您可能根本無法散布程式。 例如,如果專利許可證不允許所有直接或間接透過您收到副本的人免版稅再散布程式,那麼您可以同時滿足專利許可證和本許可證的唯一方法是完全避免散布程式。
如果本節的任何部分在任何特定情況下被認定為無效或不可執行,則本節的其餘部分旨在適用,並且本節整體旨在在其他情況下適用。
本節的目的不是誘導您侵犯任何專利或其他財產權主張或質疑任何此類主張的有效性;本節的唯一目的是保護自由軟體散布系統的完整性,該系統透過公共許可證實務來實施。 許多人依賴該系統的一致應用,為透過該系統散布的各種軟體做出了慷慨的貢獻;作者/捐贈者可以自行決定是否願意透過任何其他系統散布軟體,而被授權人不能強加這種選擇。
本節旨在徹底闡明人們認為是本許可證其餘部分後果的內容。
8. 如果程式的散布和/或使用在某些國家/地區受到專利或受版權保護的介面的限制,則將程式置於本許可證下的原始版權持有者可以新增明確的地域散布限制,排除這些國家/地區,以便僅在未被排除的國家/地區中或之間允許散布。 在這種情況下,本許可證將該限制納入其中,如同寫在本許可證的正文中一樣。
9. 自由軟體基金會可能會不時發布通用公共許可證的修訂版和/或新版本。 此類新版本在精神上將與當前版本相似,但在細節上可能有所不同,以解決新問題或疑慮。
每個版本都有一個可區分的版本號。 如果程式指定適用於它的本許可證的版本號以及「任何後續版本」,您可以選擇遵循該版本或自由軟體基金會發布的任何後續版本的條款和條件。 如果程式未指定本許可證的版本號,您可以選擇自由軟體基金會發布的任何版本。
10. 如果您希望將程式的某些部分併入其他散布條件不同的自由程式中,請寫信給作者請求許可。 對於自由軟體基金會擁有版權的軟體,請寫信給自由軟體基金會;我們有時會為此破例。 我們的決定將以兩個目標為指導:保持我們自由軟體的所有衍生作品的自由狀態,以及促進軟體的普遍共享和重複使用。
不提供擔保
11. 由於程式是免費授權的,因此在適用法律允許的範圍內,程式不提供任何擔保。 除非版權持有者和/或其他方另有書面聲明,否則他們「按原樣」提供程式,不提供任何形式的擔保,無論是明示的還是暗示的,包括但不限於針對特定用途的適銷性和適用性的暗示擔保。 與程式的品質和效能相關的全部風險由您承擔。 如果程式證明有缺陷,您將承擔所有必要的維修、修理或更正的費用。
12. 在任何情況下,除非適用法律要求或另有書面約定,否則任何版權持有者或任何其他可能修改和/或再散布程式的當事方,均不對您因使用或無法使用程式而造成的損害承擔責任,包括任何一般性、特殊性、附帶性或後果性損害(包括但不限於資料遺失或資料變得不準確,或您或第三方遭受的損失,或程式未能與任何其他程式一起運作),即使此類持有者或其他當事方已被告知可能發生此類損害。
條款與條件結束
如何將這些條款應用於您的新程式
如果您開發了一個新程式,並且您希望它對公眾發揮最大的作用,那麼實現這一目標的最佳方法是使其成為自由軟體,每個人都可以根據這些條款再散布和更改它。
若要執行此操作,請將以下通知附加到程式。 最安全的做法是將它們附加到每個原始碼檔案的開頭,以最有效地傳達不提供擔保;並且每個檔案應至少包含「版權」行以及指向完整通知所在位置的指標。
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <https://gnu.dev.org.tw/licenses/>.
另請新增有關如何透過電子郵件和紙本郵件與您聯絡的資訊。
如果程式是互動式的,請使其在以互動模式啟動時輸出類似於以下的簡短通知
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
假設的命令 `show w' 和 `show c' 應顯示通用公共許可證的適當部分。 當然,您使用的命令可能不稱為 `show w' 和 `show c';它們甚至可以是滑鼠點擊或選單項目——任何適合您程式的方式。
如果需要,您也應該讓您的雇主(如果您是程式設計師)或您的學校(如果有的話)簽署程式的「版權免責聲明」。 這是一個範例;更改名稱
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Moe Ghoul, 1 April 1989 Moe Ghoul, President of Vice
本通用公共許可證不允許將您的程式併入專有程式中。 如果您的程式是子常式庫,您可能會認為允許將專有應用程式與該庫連結更有用。 如果這是您想做的事情,請使用 GNU 寬鬆通用公共許可證 而不是本許可證。