第二版,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 節的條款複製和散布此類修改或作品,前提是您也滿足以下所有條件
這些要求整體適用於修改後的作品。如果該作品的可識別部分並非衍生自程式,並且可以合理地被視為獨立且分開的作品,那麼當您將它們作為單獨的作品散布時,本授權條款及其條款不適用於這些部分。但是,當您將相同的部分作為整體(即基於程式的作品)的一部分散布時,整體的散布必須符合本授權條款的條款,本授權條款對其他被授權人的許可擴展到整個整體,因此也擴展到每個部分,無論是誰編寫的。
因此,本節的目的不是主張權利或質疑您對完全由您編寫的作品的權利;相反,目的是行使控制基於程式的衍生作品或集合作品的散布的權利。
此外,僅僅將另一個不基於程式的作品與程式(或基於程式的作品)聚合在儲存或散布媒體的某個容量上,並不會使另一個作品受本授權條款的範圍約束。
3. 您可以根據上述第 1 節和第 2 節的條款複製和散布程式(或基於程式的作品,根據第 2 節)的目標碼或可執行形式,前提是您也執行以下其中一項
作品的原始碼指的是修改作品的首選形式。對於可執行作品,完整的原始碼指的是它包含的所有模組的所有原始碼,加上任何相關的介面定義檔案,加上用於控制可執行檔的編譯和安裝的腳本。但是,作為一個特殊的例外,散布的原始碼不需要包含通常與執行程式所在的作業系統的主要組件(編譯器、核心等等)一起散布的任何內容(以原始碼或二進位形式),除非該組件本身隨附可執行檔。
如果透過提供從指定地點複製的存取權限來進行可執行檔或目標碼的散布,那麼提供從同一地點複製原始碼的等效存取權限也算作原始碼的散布,即使第三方沒有義務連同目標碼一起複製原始碼。
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 寬鬆通用公共授權條款而不是本授權條款。