開源軟件的軟件許可證解釋——GPL、AGPL、LGPL、Apache、ZLIB/LIBPNG、MIT
GPL 協(xié)議:
即通用性公開許可證(General Public License,簡稱GPL)。
GPL同其它的自由軟件許可證一樣,許可社會公眾享有:運行、復制軟件的自由,發(fā)行傳播軟件的自由,獲得軟件源碼的自由,改進軟件并將自己作出的改進版本向社會發(fā)行傳播的自由。
GPL還規(guī)定:只要這種修改文本在整體上或者其某個部分來源于遵循GPL的程序,該修改文本的 整體必須按照GPL流通,不僅該修改文本的源碼必須向社會公開,而且對于這種修改文本的流通不準許附加修改者自己作出的限制。因此,一項遵循GPL流通 的程序不能同非自由的軟件合并。GPL所表達的這種流通規(guī)則稱為copyleft,表示與copyright(版權)的概念“相左”。
GPL協(xié)議主要的幾個原則:
1、確保軟件自始至終都以開放源代碼形式發(fā)布,保護開發(fā)成果不被竊取用作商業(yè)發(fā)售。任何一套軟 件,只要其中使用了受 GPL 協(xié)議保護的第三方軟件的源程序,并向非開發(fā)人員發(fā)布時,軟件本身也自動成為受 GPL 保護并且約束的實體。也是說,此時它必須開放源代碼。
2、GPL 大致是一個左側版權(Copyleft,或譯為“反版權”、“版權屬左”、“版權所無”、“版責”等)的體現(xiàn)。你可以去掉所有原作的版權 信息,只要你保持開源,并且隨源代碼、二進制版附上 GPL 的許可證行,讓后人可以很明確地得知此軟件的授權信息。GPL 精髓是,只要使軟件在完整開源 的情況下,盡可能使使用者得到自由發(fā)揮的空間,使軟件得到更快更好的發(fā)展。
3、無論軟件以何種形式發(fā)布,都必須同時附上源代碼。例如在 Web 上提供下載,必須在二進制版本(如果有的話)下載的同一個頁面,清楚地提供源代碼下載的鏈接。如果以光盤形式發(fā)布,必須同時附上源文件的光盤。
4、開發(fā)或維護遵循 GPL 協(xié)議開發(fā)的軟件的公司或個人,可以對使用者收取一定的服務費用。但還是一句老話——必須無償提供軟件的完整源代碼,不得將源代碼與服務做捆綁或任何變相捆綁銷售。
GPL詳細信息
AGPL 協(xié)議:
原有的GPL協(xié)議,由于現(xiàn)在網絡服務公司興起(如:google)產生了一定的漏洞,比如使用GPL的自由軟件,但是并不發(fā)布與網絡之中,則可以自由的使 用GPL協(xié)議確不開源自己私有的解決方案。AGPL則增加了對此做法的約束。
GPL的約束生效的前提是“發(fā)布”軟件,即使用了GPL成分的軟件通過互聯(lián)網或光盤release軟件,必需明示地附上源代碼,并且源代碼和產品也受GPL保護。
這樣如果不“發(fā)布”可以不受約束了。比如使用GPL組件編寫一個Web系統(tǒng),不發(fā)布這個系統(tǒng),但是用這個系統(tǒng)在線提供服務,同時不開源系統(tǒng)代碼。
AGPL詳細信息
LGPL 協(xié)議:
寬松公共許可證(Lesser General Public License)或庫通用公共許可證(Library General Public License)
基于 LGPL 的軟件也允許商業(yè)化銷售,但不允許封閉源代碼。
如果您對遵循 LGPL 的軟件進行任何改動和/或再次開發(fā)并予以發(fā)布,則您的產品必須繼承 LGPL 協(xié)議,不允許封閉源代碼。但是如果您的程序對遵循 LGPL 的軟件進行任何連接、調用而不是包含,則允許封閉源代碼。
LGPL詳細信息
Apache 協(xié)議:
Apache Licence是的非盈利開源組織Apache采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發(fā)布(作為開源或商業(yè)軟件)。需要滿足的條件也和BSD類似:
需要給代碼的用戶一份Apache Licence
如果你修改了代碼,需要在被修改的文件中說明。
在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標,專利聲明和其他原來作者規(guī)定需要包含的說明。
如果再發(fā)布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現(xiàn)為對Apache Licence構成更改。