軟件各種協議比較(GPL、AGPL、LGPL、Apache、ZlibLibpng、BSD、MIT)


一. GPL 協議

即通用性公開許可證(General Public License,簡稱GPL)。

GPL 同其它的自由軟件許可證一樣,許可社會公眾享有:運行、復制軟件的自由,發行傳播軟件的自由,獲得軟件源碼的自由,改進軟件並將自己作出的改進版本向社會發行傳播的自由。
GPL還規定:只要這種修改文本在整體上或者其某個部分來源於遵循GPL的程序,該修改文本的 整體就必須按照GPL流通,不僅該修改文本的源碼必須向社會公開,而且對於這種修改文本的流通不准許附加修改者自己作出的限制。因此,一項遵循GPL流通 的程序不能同非自由的軟件合並。GPL所表達的這種流通規則稱為copyleft,表示與copyright(版權)的概念“相左”。

GPL協議最主要的幾個原則:

1、確保軟件自始至終都以開放源代碼形式發布,保護開發成果不被竊取用作商業發售。任何一套軟 件,只要其中使用了受 GPL 協議保護的第三方軟件的源程序,並向非開發人員發布時,軟件本身也就自動成為受 GPL 保護並且約束的實體。也就是說,此時它必須開放源代碼。

2、GPL 大致就是一個左側版權(Copyleft,或譯為“反版權”、“版權屬左”、“版權所無”、“版責”等)的體現。你可以去掉所有原作的版權 信息,只要你保持開源,並且隨源代碼、二進制版附上 GPL 的許可證就行,讓后人可以很明確地得知此軟件的授權信息。GPL 精髓就是,只要使軟件在完整開源 的情況下,盡可能使使用者得到自由發揮的空間,使軟件得到更快更好的發展。

3、無論軟件以何種形式發布,都必須同時附上源代碼。例如在 Web 上提供下載,就必須在二進制版本(如果有的話)下載的同一個頁面,清楚地提供源代碼下載的鏈接。如果以光盤形式發布,就必須同時附上源文件的光盤。

4、開發或維護遵循 GPL 協議開發的軟件的公司或個人,可以對使用者收取一定的服務費用。但還是一句老話——必須無償提供軟件的完整源代碼,不得將源代碼與服務做捆綁或任何變相捆綁銷售。

GPL詳細信息

二. AGPL 協議:

原有的GPL協議,由於現在網絡服務公司興起(如:google)產生了一定的漏洞,比如使用GPL的自由軟件,但是並不發布與網絡之中,則可以自由的使 用GPL協議確不開源自己私有的解決方案。AGPL則增加了對此做法的約束。

GPL的約束生效的前提是“發布”軟件,即使用了GPL成分的軟件通過互聯網或光盤release軟件,就必需明示地附上源代碼,並且源代碼和產品也受GPL保護。

這樣如果不“發布”就可以不受約束了。比如使用GPL組件編寫一個Web系統,不發布這個系統,但是用這個系統在線提供服務,同時不開源系統代碼。

AGPL詳細信息

三. LGPL 協議:

寬松公共許可證(Lesser General Public License)或庫通用公共許可證(Library General Public License)

基於 LGPL 的軟件也允許商業化銷售,但不允許封閉源代碼。
如果您對遵循 LGPL 的軟件進行任何改動和/或再次開發並予以發布,則您的產品必須繼承 LGPL 協議,不允許封閉源代碼。但是如果您的程序對遵循 LGPL 的軟件進行任何連接、調用而不是包含,則允許封閉源代碼。

LGPL詳細信息

四. Apache 協議:

Apache Licence是著名的非盈利開源組織Apache采用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布(作為開源或商業軟件)。需要滿足的條件也和BSD類似:

  1. 需要給代碼的用戶一份Apache Licence
  2. 如果你修改了代碼,需要在被修改的文件中說明。
  3. 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
  4. 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。

Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要並作為開源或商業產品發布/銷售。

Apache詳細信息

五. Zlib/Libpng協議:

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.

中文參考如下(個人理解)

該協議要求遵守以下幾點:

基於該軟件的原樣使用,作者不負責使用該軟件照成的任何損失。

該軟件修改后的版本將受到以下限制:

  1. 不能歪曲原軟件的著作權
  2. 修改后的軟件不能歪曲為原版軟件
  3. 不能刪除源碼中的協議許可內容

如果發布二進制代碼可以不用附上源代碼。

Zlib/Libpng協議詳情

六. BSD 協議:

BSD開源協議是一個給於使用者很大自由的協議。可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。當你發布使用了BSD協議的代碼,或者以BSD協議代碼為基礎做二次開發自己的產品時,需要滿足三個條件:

  1. 如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
  2. 如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議。
  3. 不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。

BSD代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由於允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷 售,因此是對商業集成很友好的協議。很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者 二次開發。

BS協議詳情

七. MIT 協議:

MIT許可證之名源自麻省理工學院(Massachusetts Institute of Technology, MIT),又稱「X條款」(X License)或「X11條款」(X11 License),MIT內容與三條款BSD許可證(3-clause BSD license)內容頗為近似,但是賦予軟體被授權人更大的權利與更少的限制。

  1. 被授權人有權利使用、復制、修改、合並、出版發行、散布、再授權及販售軟體及軟體的副本。
  2. 被授權人可根據程式的需要修改授權條款為適當的內容。
  3. 在軟件和軟件的所有副本中都必須包含版權聲明和許可聲明。

此授權條款並非屬copyleft的自由軟體授權條款,允許在自由/開放源碼軟體或非自由軟體(proprietary software)所使用。此亦為MIT與BSD(The BSD license, 3-clause BSD license)本質上不同處。MIT條款可與其他授權條款並存。另外,MIT條款也是自由軟體基金會(FSF)所認可的自由軟體授權條款,與GPL相容。

參考: https://www.cnblogs.com/hanrp/p/11441783.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM