開源軟件的軟件許可證解釋——GPL、AGPL、LGPL、Apache、ZLIB/LIBPNG、MIT
GPL 協(xié)議:
即通用性公開許可證(General Public License,簡稱GPL)。
GPL同其它的自由軟件許可證一樣,許可社會公眾享有:運(yùn)行、復(fù)制軟件的自由,發(fā)行傳播軟件的自由,獲得軟件源碼的自由,改進(jìn)軟件并將自己作出的改進(jìn)版本向社會發(fā)行傳播的自由。
GPL還規(guī)定:只要這種修改文本在整體上或者其某個部分來源于遵循GPL的程序,該修改文本的 整體必須按照GPL流通,不僅該修改文本的源碼必須向社會公開,而且對于這種修改文本的流通不準(zhǔn)許附加修改者自己作出的限制。因此,一項遵循GPL流通 的程序不能同非自由的軟件合并。GPL所表達(dá)的這種流通規(guī)則稱為copyleft,表示與copyright(版權(quán))的概念“相左”。
GPL協(xié)議主要的幾個原則:
1、確保軟件自始至終都以開放源代碼形式發(fā)布,保護(hù)開發(fā)成果不被竊取用作商業(yè)發(fā)售。任何一套軟 件,只要其中使用了受 GPL 協(xié)議保護(hù)的第三方軟件的源程序,并向非開發(fā)人員發(fā)布時,軟件本身也自動成為受 GPL 保護(hù)并且約束的實(shí)體。也是說,此時它必須開放源代碼。
2、GPL 大致是一個左側(cè)版權(quán)(Copyleft,或譯為“反版權(quán)”、“版權(quán)屬左”、“版權(quán)所無”、“版責(zé)”等)的體現(xiàn)。你可以去掉所有原作的版權(quán) 信息,只要你保持開源,并且隨源代碼、二進(jìn)制版附上 GPL 的許可證行,讓后人可以很明確地得知此軟件的授權(quán)信息。GPL 精髓是,只要使軟件在完整開源 的情況下,盡可能使使用者得到自由發(fā)揮的空間,使軟件得到更快更好的發(fā)展。
3、無論軟件以何種形式發(fā)布,都必須同時附上源代碼。例如在 Web 上提供下載,必須在二進(jìn)制版本(如果有的話)下載的同一個頁面,清楚地提供源代碼下載的鏈接。如果以光盤形式發(fā)布,必須同時附上源文件的光盤。
4、開發(fā)或維護(hù)遵循 GPL 協(xié)議開發(fā)的軟件的公司或個人,可以對使用者收取一定的服務(wù)費(fèi)用。但還是一句老話——必須無償提供軟件的完整源代碼,不得將源代碼與服務(wù)做捆綁或任何變相捆綁銷售。
GPL詳細(xì)信息
AGPL 協(xié)議:
原有的GPL協(xié)議,由于現(xiàn)在網(wǎng)絡(luò)服務(wù)公司興起(如:google)產(chǎn)生了一定的漏洞,比如使用GPL的自由軟件,但是并不發(fā)布與網(wǎng)絡(luò)之中,則可以自由的使 用GPL協(xié)議確不開源自己私有的解決方案。AGPL則增加了對此做法的約束。
GPL的約束生效的前提是“發(fā)布”軟件,即使用了GPL成分的軟件通過互聯(lián)網(wǎng)或光盤release軟件,必需明示地附上源代碼,并且源代碼和產(chǎn)品也受GPL保護(hù)。
這樣如果不“發(fā)布”可以不受約束了。比如使用GPL組件編寫一個Web系統(tǒng),不發(fā)布這個系統(tǒng),但是用這個系統(tǒng)在線提供服務(wù),同時不開源系統(tǒng)代碼。
AGPL詳細(xì)信息
LGPL 協(xié)議:
寬松公共許可證(Lesser General Public License)或庫通用公共許可證(Library General Public License)
基于 LGPL 的軟件也允許商業(yè)化銷售,但不允許封閉源代碼。
如果您對遵循 LGPL 的軟件進(jìn)行任何改動和/或再次開發(fā)并予以發(fā)布,則您的產(chǎn)品必須繼承 LGPL 協(xié)議,不允許封閉源代碼。但是如果您的程序?qū)ψ裱?LGPL 的軟件進(jìn)行任何連接、調(diào)用而不是包含,則允許封閉源代碼。
LGPL詳細(xì)信息
Apache 協(xié)議:
Apache Licence是的非盈利開源組織Apache采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開源或商業(yè)軟件)。需要滿足的條件也和BSD類似:
需要給代碼的用戶一份Apache Licence
如果你修改了代碼,需要在被修改的文件中說明。
在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標(biāo),專利聲明和其他原來作者規(guī)定需要包含的說明。
如果再發(fā)布的產(chǎn)品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現(xiàn)為對Apache Licence構(gòu)成更改。
Apache Licence也是對商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。
http://en.wikipedia.org/wiki/Apache_License
Zlib/Libpng協(xié)議:
The license only has the following points to be accounted for:
Software is used on 'as-is' basis. Authors are not liable for any damages arising from its use.
The distribution of a modified version of the software is subject to the following restrictions:
1.The authorship of the original software must not be misrepresented,
2.Altered source versions must not be misrepresented as being the original software, and
3.The license notice must not be removed from source distributions.
The license does not require source code to be made available if distributing binary code.