在自由軟件所使用的各類許可證之中,最爲人們注意的也許是通用性公開許可證(General Public License,簡稱GPL)。開放源代碼
GPL同其它的自由軟件許可證同樣,許可社會公衆享有:運行、複製軟件的自由,發行傳播軟件的自由,得到軟件源碼的自由,改進軟件並將本身做出的改進版本向社會發行傳播的自由。開發
GPL還規定:只要這種修改文本在總體上或者其某個部分來源於遵循GPL的程序,該修改文本的總體就必須按照GPL流通,不只該修改文本的源碼必須向社會公開,並且對於這種修改文本的流通不許許附加修改者本身做出的限制。所以,一項遵循GPL流通的程序不能同非自由的軟件合併。GPL所表達的這種流通規則稱爲copyleft,表示與copyright(版權)的概念「相左」。源碼
㊣軟件
GPL協議最主要的幾個原則:下載
一、確保軟件自始至終都以開放源代碼形式發佈,保護開發成果不被竊取用做商業發售。任何一套軟件,只要其中使用了受 GPL 協議保護的第三方軟件的源程序,並向非開發人員發佈時,軟件自己也就自動成爲受 GPL 保護而且約束的實體。也就是說,此時它必須開放源代碼。二進制
二、GPL 大體就是一個左側版權(Copyleft,或譯爲「反版權」、「版權屬左」、「版權所無」、「版責」等)的體現。你能夠去掉全部原做的版權 信息,只要你保持開源,而且隨源代碼、二進制版附上 GPL 的許可證就行,讓後人能夠很明確地得知此軟件的受權信息。GPL 精髓就是,只要使軟件在完整開源 的狀況下,儘量使使用者獲得自由發揮的空間,使軟件獲得更快更好的發展。程序
三、不管軟件以何種形式發佈,都必須同時附上源代碼。例如在 Web 上提供下載,就必須在二進制版本(若是有的話)下載的同一個頁面,清楚地提供源代碼下載的連接。若是以光盤形式發佈,就必須同時附上源文件的光盤。協議
四、開發或維護遵循 GPL 協議開發的軟件的公司或我的,能夠對使用者收取必定的服務費用。但仍是一句老話——必須無償提供軟件的完整源代碼,不得將源代碼與服務作捆綁或任何變相捆綁銷售。文件