許可證
GPL(GNU通用公共許可證)
大多數軟體許可證決意剝奪你共享和修改軟體的自由。相比之下,GNU通用公共許可證試圖保證你共享和修改自由軟體的自由。——保證自由軟體對所有用戶是自由的。GPL適用於大多數自由軟體基金會的軟體,以及由使用這些軟體而承擔義務的作者所開發的軟體。(自由軟體基金會的其他一些軟體受GNU庫通用許可證的保護)。你也可以將它用到你的程式中。當我們談到自由軟體(free software)時,我們指的是自由而不是價格。
為了保護你的權利,我們需要作出規定:禁止任何人不承認你的權利,或者要求你放棄這些權利。如果你修改了自由軟體或者發布了軟體的副本,這些規定就轉化為你的責任。
例如,如果你發布這樣一個程式的副本,不管是收費的還是免費的,你必須將你具有的一切權利給予你的接受者;你必須保證他們能收到或得到源程式;並且將這些條款給他們看,使他們知道他們有這樣的權利。
我們採取兩項措施來保護你的權利。
(1)給軟體以著作權保護。
(2)給你提供許可證。它給你複製,發布和修改這些軟體的法律許可。
同樣,為了保護每個作者和我們自己,我們需要清楚地讓每個人明白,自由軟體沒有擔保(no warranty)。如果由於其他某個人修改了軟體,並繼續加以傳播。我們需要它的接受者明白:他們所得到的並不是原來的自由軟體。由其他人引入的任何問題,不應損害原作者的聲譽。
最後,任何自由軟體不斷受到軟體專利的威脅。我們希望避免這樣的風險,自由軟體的再發布者以個人名義獲得專利許可證。事實上,將軟體變為私有。為防止這一點,我們必須明確:任何專利必須以允許每個人自由使用為前提,否則就不準許有專利。
下面是有關複製,發布和修改的確切的條款和條件。
條款
有關複製,發布和修改的條款和條件
0
此許可證適用於任何包含著作權所有者聲明的程式和其他作品,著作權所有者在聲明中明確說明程式和作品可以在GPL條款的約束下發布。下面提到的“程式”指的是任何這樣的程式或作品。而“基於程式的作品”指的是程式或者任何受著作權法約束的衍生作品。也就是說包含程式或程式的一部分的作品。可以是原封不動的,或經過修改的和/或翻譯成其他語言的(程式)。在下文中,翻譯包含在修改的條款中。每個許可證接受人(licensee)用你來稱呼。許可證條款不適用於複製,發布和修改以外的活動。這些活動超出這些條款的範圍。運行程式的活動不受條款的限止。僅當程式的輸出構成基於程式作品的內容時,這一條款才適用(如果只運行程式就無關)。是否普遍適用取決於程式具體用來做什麼。
1
只要你在每一副本上明顯和恰當地出版著作權聲明和不承擔擔保聲明,保持此許可證的聲明和沒有擔保的聲明完整無損,並和程式一起給每個其他的程式接受者一份許可證的副本,你就可以用任何媒體複製和發布你收到的原始的程式的原始碼。你可以為轉讓副本的實際行動收取一定費用。你也有權選擇提供擔保以換取一定的費用。
2
你可以修改程式的一個或幾個副本或程式的任何部分,以此形成基於程式的作品。只要你同時滿足下面的所有條件,你就可以按前面第一款的要求複製和發布這一經過修改的程式或作品。
a) 你必須在修改的檔案中附有明確的說明:你修改了這一檔案及具體的修改日期。
b) 你必須使你發布或出版的作品(它包含程式的全部或一部分,或包含由程式的全部或部分衍生的作品)允許第三方作為整體按許可證條款免費使用。
c) 如果修改的程式在運行時以互動方式讀取命令,你必須使它在開始進入常規的互動使用方式時列印或顯示聲明:包括適當的著作權聲明和沒有擔保的聲明(或者你提供擔保的聲明);用戶可以按此許可證條款重新發布程式的說明;並告訴用戶如何看到這一許可證的副本。(例外的情況:如果原始程式以互動方式工作,它並不列印這樣的聲明,你的基於程式的作品也就不用列印聲明)。
這些要求適用於修改了的作品的整體。如果能夠確定作品的一部分並非程式的衍生產品,可以合理地認為這部分是獨立的,是不同的作品。當你將它作為獨立作品發布時,它不受此許可證和它的條款的約束。但是當你將這部分作為基於程式的作品的一部分發布時,作為整體它將受到許可證條款約束。準予其他許可證持有人的使用範圍擴大到整個產品。也就是每個部分,不管它是誰寫的。因此,本條款的意圖不在於索取權利;或剝奪全部由你寫成的作品的權利。而是履行權利來控制基於程式的集體作品或衍生作品的發布。此外,將與程式無關的作品和該程式或基於程式的作品一起放在存貯體或發布媒體的同一卷上,並不導致將其他作品置於此許可證的約束範圍之內。
3
你可以以目標碼或可執行形式複製或發布程式(或符合第2款的基於程式的作品),只要你遵守前面的第1,2款,並同時滿足下列3條中的1條。
a)在通常用作軟體交換的媒體上,和目標碼一起附有機器可讀的完整的源碼。這些源碼的發布應符合上面第1,2款的要求。或者
b)在通常用作軟體交換的媒體上,和目標碼一起,附有給第三方提供相應的機器可讀的源碼的書面報價。有效期不少於3年,費用不超過實際完成源程式發布的實際成本。源碼的發布應符合上面的第1,2款的要求。或者
c)和目標碼一起,附有你收到的發布源碼的報價信息。(這一條款只適用於非商業性發布,而且你只收到程式的目標碼或可執行代碼和按b)款要求提供的報價)。作品的源碼指的是對作品進行修改最優先擇取的形式。對可執行的作品講,完整的源碼包括:所有模組的所有源程式,加上有關的接口的定義,加上控制可執行作品的安裝和編譯的script。作為特殊例外,發布的源碼不必包含任何常規發布的供可執行代碼在上面運行的作業系統的主要組成部分(如編譯程式,核心等)。除非這些組成部分和可執行作品結合在一起。如果採用提供對指定地點的訪問和複製的方式發布可執行碼或目標碼,那么,提供對同一地點的訪問和複製源碼可以算作源碼的發布,即使第三方不強求與目標碼一起複製源碼。
4
除非你明確按許可證提出的要求去做,否則你不能複製,修改,轉發許可證和發布程式。任何試圖用其他方式複製,修改,轉發許可證和發布程式是無效的。而且將自動結束許可證賦予你的權利。然而,對那些從你那裡按許可證條款得到副本和權利的人們,只要他們繼續全面履行條款,許可證賦予他們的權利仍然有效。
5
你沒有在許可證上籤字,因而你沒有必要一定接受這一許可證。然而,沒有任何其他東西賦予你修改和發布程式及其衍生作品的權利。如果你不接受許可證,這些行為是法律禁止的。因此,如果你修改或發布程式(或任何基於程式的作品),你就表明你接受這一許可證以及它的所有有關複製,發布和修改程式或基
於程式的作品的條款和條件。
6
每當你重新發布程式(或任何基於程式的作品)時,接受者自動從原始許可證頒發者那裡接到受這些條款和條件支配的複製,發布或修改程式的許可證。你不可以對接受者履行這裡賦予他們的權利強加其他限制。你也沒有強求第三方履行許可證條款的義務。
7
如果由於法院判決或違反專利的指控或任何其他原因(不限於專利問題)的結果,強加於你的條件(不管是法院判決,協定或其他)和許可證的條件有衝突。他們也不能用許可證條款為你開脫。在你不能同時滿足本許可證規定的義務及其他相關的義務時,作為結果,你可以根本不發布程式。例如,如果某一專利許可證不允許所有那些直接或間接從你那裡接受副本的人們在不付專利費的情況下重新發布程式,唯一能同時滿足兩方面要求的辦法是停止發布程式。
如果本條款的任何部分在特定的環境下無效或無法實施,就使用條款的其餘部分。並將條款作為整體用於其他環境。本條款的目的不在於引誘你侵犯專利或其他財產權的要求,或爭論這種要求的有效性。本條款的主要目的在於保護自由軟體發布系統的完整性。它是通過通用公共許可證的套用來實現的。許多人堅持套用這一系統,已經為通過這一系統發布大量自由軟體作出慷慨的供獻。作者/捐獻者有權決定他/她是否通過任何其他系統發布軟體。許可證持有人不能強制這種選擇。
本節的目的在於明確說明許可證其餘部分可能產生的結果。
8
如果由於專利或者由於有著作權的接口問題使程式在某些國家的發布和使用受到限止,將此程式置於許可證約束下的原始著作權擁有者可以增加限止發布地區的條款,將這些國家明確排除在外。並在這些國家以外的地區發布程式。在這種情況下,許可證包含的限止條款和許可證正文一樣有效。
9
自由軟體基金會可能隨時出版通用公共許可證的修改版或新版。新版和當前的版本在原則上保持一致,但在提到新問題時或有關事項時,在細節上可能出現差別。
每一版本都有不同的版本號。如果程式指定適用於它的許可證版本號以及“任何更新的版本”。你有權選擇遵循指定的版本或自由軟體基金會以後出版的新版本,如果程式未指定許可證版本,你可選擇自由軟體基金會已經出版的任何版本。
10
如果你願意將程式的一部分結合到其他自由程式中,而它們的發布條件不同。寫信給作者,要求準予使用。如果是自由軟體基金會加以著作權保護的軟體,寫信給自由軟體基金會。我們有時會作為例外的情況處理。我們的決定受兩個主要目標的指導。這兩個主要目標是:我們的自由軟體的衍生作品繼續保持自由狀態。以及從整體上促進軟體的共享和重複利用。
沒有擔保
11
由於程式準予免費使用,在適用法準許的範圍內,對程式沒有擔保。除非另有書面說明,著作權所有者和/或其他提供程式的人們“一樣”不提供任何類型的擔保。不論是明確的,還是隱含的。包括但不限於隱含的適銷和適合特定用途的保證。全部的風險,如程式的質量和性能問題都由你來承擔。如果程式出現缺陷,你承擔所有必要的服務,修復和改正的費用。
12
除非適用法或書面協定的要求,在任何情況下,任何著作權所有者或任何按許可證條款修改和發布程式的人們都不對你的損失負有任何責任。包括由於使用或不能使用程式引起的任何一般的,特殊的,偶然發生的或重大的損失(包括但不限於數據的損失,或者數據變得不精確,或者你或第三方的持續的損失,或者程式不能和其他程式協調運行等)。即使著作權所有者和其他人提到這種損失的可能性也不例外。
最後的條款和條件
如何使用
如何用到新程式
如果你開發了新程式,而且你需要它得到公眾最大限度的利用。要做到這一點的最好辦法是將它變為自由軟體。使得每個人都能在遵守條款的基礎上對它進行修改和重新發布。
為了做到這一點,給程式附上下列聲明。最安全的方式是將它放在每個源程式的開頭,以便最有效地傳遞拒絕擔保的信息。每個檔案至少應有“著作權所有”行以及在什麼地方能看到聲明全文的說明。
<用一行空間給出程式的名稱和它用來做什麼的簡單說明>
著作權所有(C) 19XX <作者姓名>
這一程式是自由軟體,你可以遵照自由軟體基金會出版的GNU通用公共許可證條款來修改和重新發布這一程式。或者用許可證的第二版,或者(根據你的選擇)用任何更新的版本。
發布這一程式的目的是希望它有用,但沒有任何擔保。甚至沒有適合特定目的的隱含的擔保。更詳細的情況請參閱GNU通用公共許可證。
你應該已經和程式一起收到一份GNU通用公共許可證的副本。如果還沒有,
寫信給:
The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA02139, USA
還應加上如何和你保持聯繫的信息。
如果程式以互動方式進行工作,當它開始進入互動方式工作時,使它輸出類似下面的簡短聲明:
Gnomovision 第69版, 著作權所有(C) 19XX, 作者姓名,
Gnomovision絕對沒有擔保。 要知道詳細情況,請輸入‘show w’。
這是自由軟體,歡迎你遵守一定的條件重新發布它,要知道詳細情況,
請輸入‘show c’。
假設的命令‘show w’和‘show c’應顯示通用公共許可證的相應條款。當然,你使用的命令名稱可以不同於‘show w’和‘show c’。根據你的程式的具體情況,也可以用選單或滑鼠選項來顯示這些條款。
如果需要,你應該取得你的上司(如果你是程式設計師)或你的學校簽署放棄程式著作權的聲明。下面只是一個例子,你應該改變相應的名稱:
Yoyodyne公司以此方式放棄James Harker
所寫的 Gnomovision程式的全部著作權利益。
,1989.4.1
Ty coon副總裁
這一許可證不允許你將程式併入專用程式。如果你的程式是一個子程式庫。
你可能會認為用庫的方式和專用應用程式連線更有用。如果這是你想做的事,使用GNU庫通用公共許可證代替本許可證。
歷史
GPL由斯托曼撰寫,用於GNU計畫。它以GNU Emacs、GDB、GCC的許可證的早期版本為藍本。這些許可證都包含有一些GPL的著作權思想,但僅只針對特定程式。斯托曼的目標就是創造出一種四海之內皆可使用的許可證,這樣就能為許多原始碼共享計畫帶來福音。GPL版本1就這樣,在1989年1月誕生。
到1990年時,因為一些共享庫而出現了對比GPL更寬鬆的許可證的需求。所以當GPL版本2在1991年6月發布時,另一許可證——庫通用許可證(Library General Public License,簡稱LGPL)也隨之發布,並記作“版本2”以示對GPL的補充。版本號在LGPL版本2.1發布時不再相同,而LGPL也被重命名為GNU寬通用公共許可證(Lesser General Public License)以體現GNU哲學觀。
GPLv1
GPL1
GPL版本1,即最初的版本,發布於1989年一月,其目的是防止那些阻礙自由軟體的行為,而這些阻礙軟體開源的行為主要有兩種(一種是軟體發布者只發布可執行的二進制代碼而不發布具體原始碼,一種是軟體發布者在軟體許可加入限制性條款)。因此按照GPLv1,如果發布了可執行的二進制代碼,就必須同時發布可讀的原始碼,並且在發布任何基於GPL許可的軟體時,不能添加任何限制性的條款。
GPLv2
GPL2
理察·斯托曼在GPLv2中所做的最大的改動就是增加了“ 自由還是死亡”("Liberty or Death")這章條款,即第七章 liberty-or-death Presentation。這章中申明道,如果哪個人在發布源於GPL的軟體的時候,同時添加強制的條款,以在一定程度上保障和尊重其它一些人的自由和權益(也就是說在一些國家裡,人們只能以二進制代碼的形式發布軟體,以保護開發軟體者的著作權),那么他將根本無權發布該軟體。
到了1990年,人們普遍認為一個限制性弱的許可證對於自由軟體的發展是有戰略意義上的好處的;因此,當GPL的第二個版本(GPLv2)在1991年6月發布時,與此同時第二個許可證 程式庫GNU通用公共許可證(LGPL,the Lesser General Public License)也被發布出來並且一開始就將其版本定為第2版本以表示其和GPLv2的互補性。這個版本一直延續到1999年,並分支出一個派生的LGPL版本號為2.1,並將其重命名為 輕量級通用公共許可證(又稱 寬通用公共許可證)(Lesser General Public License)以反映其在整個GNU哲學中的位置。
GPLv3
GPLv3(第三版)
理察·斯托曼(Richard Stallman)起草了第一份GNU GPLv3草案,在美國麻州劍橋市的MIT大學。
到2005年,GPL版本3正由斯托曼起草,由伊本·莫格林和軟體自由法律中心(Software Freedom Law Center) 提供法律諮詢。
斯托曼在2006年2月25日自由及開源軟體開發者歐洲會議的演講上說:
•在所有的改動中,最重要的四個是:
•解決軟體專利問題;
•與其他許可證的兼容性;
•原始碼分區和組成的定義;
•解決數位著作權管理(DRM) 問題。
2006年,自由軟體基金會針對GPL的可能的修改開始了12個月的公共諮詢。
在公眾諮詢過程中,有962條評論被提交給第一稿草稿。 最終總共有2,636條評論被提交。
GPLv3草稿 於2006年1月16日開始可用。版本2與3的非官方比較對照參見:[1],[2]。
2007年3月28日正式啟用。
2007年6月29日,自由軟體基金會正式發布了GPL第3版。
精英賽
GPL(Glodon Professional League) 即廣聯達職業精英賽。廣聯達算量大賽已有多年歷史,得到了眾多造價從業人員,以及在校學生的廣泛關注與支持。是目前國內規模最大、層次最高、影響最廣的造價軟體套用技能競賽。
GPL 算量精英賽其組委會設於上海,是一項全新的技能競技比賽。在以往比賽的基礎上更具特色。GPL 算量精英賽以每年一次的職業聯賽形式舉辦,對參賽選手更不做任何限制,在校學生與在職工作者均可參與其中。
比賽過程兼具權威、時尚、新穎等特點,讓素日繁重艱苦的算量工作以一種更輕鬆、更愉快的方式演繹。同時,大眾媒體的全程參與,也讓大賽更具專業性、可觀賞性。