下面的正文是自由軟件基金會GNU通用公共許可證原始文檔的副本。Linux操作系統以及與它有關的大量軟件是在GPL的推動下開發和發布的。
你將看到:如果你打算為了發布的目的修改,更新或改進任何受通用公共許可證約束的軟件,你所修改的軟件軟件同樣必須受到GNU通用許可證條款的約束。
GNU通用公共許可證
1991.6第二版
版權所有(C)1989,1991 Free Software foundation,Inc.
675 Mass Ave,Cambridge,MAO2139,USA
允許每個人復制和發布這一許可證原始文檔的副本,
但絕對不允許對它進行任何修改。
序言
大多數軟件許可證決意剝奪你的共享和修改軟件的自由。對比之下,GNU通用公共許可證力圖保證你的共享和修改自由軟件的自由——保證自由軟件對所有用戶是自由的。GPL適用於大多數自由軟件基金會的軟件,以及由使用這些軟件而承擔義務的作者所開發的軟件。(自由軟件基金會的其他一些軟件受GNU庫通用許可證的保護)。你也可以將它用到你的程序中。
當我們談到自由軟件(free software)時,我們指的是自由而不是價格。我們的GNU通用公共許可證決意保證你有發布自由軟件的自由(如果你願意,你可以對此項服務收取一定的費用);保證你能收到源程序或者在你需要時能得到它;保證你能修改軟件或將它的一部分用於新的自由軟件;而且還保證你知道你能做這些事情。
為了保護你的權利,我們需要作出規定:禁止任何人不承認你的權利,或者要求你放棄這些權利。如果你修改了自由軟件或者發布了軟件的副本,這些規定就轉化為你的責任。例如,如果你發布這樣一個程序的副本,不管是收費的還是免費的,你必須將你具有的一切權利給予你的接受者;你必須保證他們能收到或得到源程序;並且將這些條款給他們看,使他們知道他們有這樣的權利。
我們采取兩項措施來保護你的權利。
(l)給軟件以版權保護。
(2)給你提供許可證。它給你復制,發布和修改這些軟件的法律許可。同樣,為了保護每個作者和我們自己,我們需要清楚地讓每個人明白,自由軟件沒有擔保(no warranty)。如果由於其他某個人修改了軟件,並繼續加以傳播。我們需要它的接受者明白:他們所得到的並不是原來的自由軟件。由其他人引人的任何問題,不應損害原作者的聲譽。
最後,任何自由軟件不斷受到軟件專利的威脅。我們希望避免這樣的風險,自由軟件的再發布者以個人名義獲得專利許可證。事實上,將軟件變為私有。為防止這一點,我們必須明確:任何專利必須以允許每個人自由使用為前提,否則就不准許有專利。
有關復制,發布和修改的條款和條件
0.此許可證適用於任何包含版權所有者聲明的程序和其他作品,版權所有者在聲明中明確說明程序和作品可以在GPI條款的約束下發布。下面提到的“程序”指的是任何這樣的程序或作品。而“基於程序的作品”指的是程序或者任何受版權法約柬的衍生作品。
也就是說包含程序或程序的一部分的作品。可以是原封不動的,或經過修改的和/或翻譯成其他語言的(程序)。在下文中,翻譯包含在修改的條款久每個許可證接受人(Iicense)用你來稱呼。
許可證條款不適用於復制,發布和修改以外的活動。這些活動超出這些條款的范圍。運行程序的活動不受條款的限止。僅當程序的輸出構成基於程序作品的內容時,這一條款才適用(如果只運行程序就無關)。是否普遍適用取決於程序具體用來做什麼。
1.只要你在每一副本上明顯和恰當地出版版權聲明和不承擔擔保的聲明,保持此許可證的聲明和沒有擔保的聲明完整無損,並和程序一起繪每個其他的程序接受者一份許可證的副本,你就可以用任何媒體復制和發布你收到的原始的程序的源代碼。
你可以為轉讓副本的實際行動收取一定費用。你也有權選擇提供擔保以換取一定費用。
2.你可以修改程序的一個或幾個副本或程序的任何部分,以此形成基於程序的作品。只要你同時滿足下面的所有條件,你就可以按前面第一款的要求復制和發布這一經過修改的程序或作品。
a)你必須在修改的文件中附有明確的說明:你修改了這一文件及具體的修改日期。
b)你必須使你發布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允許第三方作為整體按許可證條款免費使用。
c)如果修改的程序在運行時以交互方式讀取命令,你必須使它在開始進入常規的交互使用方式時打印或顯示聲明:包括適當的版權聲明和沒有擔保的聲明(或者你提供擔保的聲明);用戶可以按此許可證條款重新發布程序的說明;並告訴用戶如何看到這一許可證的副本。(例外的情況:如果原始程序以交互方式工作,它並不打印這樣的聲明,你的基於程序的作品也就不用打印聲明)。
這些要求適用於修改了的作品的整體。如果能夠確定作品的一部分並非程序的衍生產品,可以合理地認為這部分是獨立的,是不同的作品。當你將它作為獨立作品發布時,它不受此許可證和它的條款的約束。但是當你將這部分作為基於程序的作品的一部分發布時,作為整體它將受到許可證條款約束。准予其他許可證持有人的使用范圍擴大到整個產品。也就是每個部分,不管它是誰寫的。
因此,本條款的意圖不在於索取權利;或剝奪全部由你寫成的作品的權利。而是履行權利來控制基於程序的集體作品或衍生作品的發布。
此外,將與程序無關的作品和該程序或基於程序的作品一起放在存貯體或發布媒體的同一卷上,並不導致將其他作品置於此許可證的約束范圍之內。
3.你可以以目標碼或可執行形式復制或發布程序(或符合第2款的基於程序的作品),只要你遵守前面的第l,2款,並同時滿足下列3條中的1條。
a)在通常用作軟件交換的媒體上,和目標碼一起附有機器可讀的完整的源碼。這些源碼的發布應符合上面第1,2款的要求。或者
b)在通常用作軟件交換的媒體上,和目標碼一起,附有給第三方提供相應的機器可讀的源碼的書面報價。有效期不少於3年,費用不超過實際完成源程序發布的實際成本。源碼的發布應符合上面的第1,2款的要求。或者
c)和目標碼一起,附有你收到的發布源碼的報價信息。(這一條款只適用於非商業性發布,而且你只收到程序的目標碼或可執行代碼和按b)款要求提供的報價)。
作品的源碼指的是對作品進行修改最優先擇取的形式。對可執行的作品講,完整的源碼包括:所有模塊的所有源程序,加上有關的接口的定義,加上控制可執行作品的安裝和編譯的script。作為特殊例外,發布的源碼不必包含任何常規發布的供可執行代碼在上面運行的操作系統的主要組成部分(如編譯程序,內核等)。除非這些組成部分和可執行作品結合在一起。
如果采用提供對指定地點的訪問和復制的方式發布可執行碼或目標碼,那麼,提供對同一地點的訪問和復制源碼可以算作源碼的發布,即使第三方不強求與目標碼一起復制源碼。
4.除非你明確按許可證提出的要求去做,否則你不能復制,修改,轉發許可證和發布程序。任何試圖用其他方式復制,修改,轉發許可證和發布程序是無效的。而且將自動結束許可證賦予你的權利。然而,對那些從你那裡按許可證條款得到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然有效。
5.你沒有在許可證上簽字,因而你沒有必要一定接受這一許可證。然而,沒有任何其他東西賦予你修改和發布程序及其衍生作品的權利。如果你不接受許可證,這些行為是法律禁止的。因此,如果你修改或發布程序(或任何基於程序的作品),你就表明你接受這一許可證以及它的所有有關復制,發布和修改程序或基於程序的作品的條款和條件。
6.每當你重新發布程序(或任何基於程序的作品)時,接受者自動從原始許可證頒發者那裡接到受這些條款和條件支配的復制,發布或修改程序的許可證。你不可以對接受者履行這裡賦予他們的權利強加其他限制。你也沒有強求第三方履行許可證條款的義務。
7.如果由於法院判決或違反專利的指控或任何其他原因(不限於專利問題)的結果,強加於你的條件(不管是法院判決,協議或其他)和許可證的條件有沖突。他們也不能用許可證條款為你開脫。
在你不能同時滿足本許可證規定的義務及其他相關的義務時,作為結果,你可以根本不發布程序。例如,如果某一專利許可證不允許所有那些直接或間接從你那裡接受副本的人們在不付專利費的情況下重新發布程序,唯一能同時滿足兩方面要求的辦法是停止發布程序。
如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其余部分。並將條款作為整體用於其他環境。
本條款的目的不在於引誘你侵犯專利或其他財產權的要求,或爭論這種要求的有效性。本條款的主要目的在於保護自由軟件發布系統的完整性。它是通過通用公共許可證的應用來實現的。許多人堅持應用這一系統,已經為通過這一系統發布大量自由軟件作出慷慨的供獻。作者/捐獻者有權決定他/她是否通過任何其他系統發布軟件。許可證待有人不能強制這種選擇。
本節的目的在於明確說明許可證其余部分可能產生的結果。
8.如果由於專利或者由於有版權的接口問題使程序在某些國家的發布和使用受到限止,將此程序置於許可證約束下的原始版權擁有者可以增加限止發布地區的條款,將這些國家明確排除在外。並在這些國家以外的地區發布程序。在這種情況下,許可證包含的限止條款和許可證正文一樣有效。
9.自由軟件基金會可能隨時出版通用公共許可證的修改版或