詳細介紹六種開源協議(程序員須知)

詳細介紹六種開源協議(程序員須知)

博客說明

文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗彙總,如有什麼地方侵權,請聯繫本人刪除,謝謝!

說明

寫了很久代碼,突然在看到一個項目的時候,看到了別人的開源協議,當然這並不是第一次看到,不過引起了興趣,就去了解了一下,發現作為一名程序員還是需要知道這些,畢竟也有做開源項目的夢,然後來記錄一下

GPL,LGPL,BSD,MIT,Apache,Mozilla這六種

首先來一張圖,圖是照著網上大神自己畫了一遍

詳細介紹六種開源協議(程序員須知)

LGPL

LGPL是GPL的一個為主要為類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生之GPL類庫的的軟件必須採用GPL協議不同。LGPL允許商業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使採用LGPL協議的開源代碼可以被商業軟件作為類庫引用併發布和銷售

但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須採用LGPL協議。因此LGPL協議的開源代碼很適合作為第三方類庫被商業軟件引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件採用。

GPL/LGPL都保障原作者的知識產權,避免有人利用開源代碼複製並開發類似的產品。

MPL (Mozilla Public License 1.1)

MPL協議允許免費重發布、免費修改,但要求修改後的代碼版權歸軟件的發起者 。這種授權維護了商業軟件的利益,它要求基於這種軟件的修改無償貢獻版權給該軟件。這樣,圍繞該軟件的

所有代碼的版權都集中在發起開發人的手中。但MPL是允許修改,無償使用得。MPL軟件對鏈接沒有要求。

GPL

GPL (GNU General Public License) :GNU通用公共許可協議。

Linux 採用了 GPL

GPL協議和BSD, Apache Licence等鼓勵代碼重用的許可很不一樣。GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改後和衍生的代碼做為閉源的商業軟件發佈和銷售。這也就是為什麼我們能用免費的各種linux,包括商業公司的linux和linux上各種各樣的由個人,組織,以及商業軟件公司開發的免費軟件了。

BSD

BSD是"Berkeley Software Distribution"的縮寫,意思是"伯克利軟件發行版"。

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

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

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

相較於GPL許可證和MPL許可證的嚴格性,BSD許可證就寬鬆許多了,一樣是隻需要附上許可證的原文,不過比較有趣的是,它還要求所有進一步開發者將自己的版權資料放上去,所以拿到以BSD許可證發行的軟件可能會遇到一個小狀況,就是這些版權資料許可證佔的空間比程序還大。

MIT

MIT是和BSD一樣寬範的許可協議,源自麻省理工學院(Massachusetts Institute of Technology, MIT),又稱X11協議。作者只想保留版權,而無任何其他了限制。MIT與BSD類似,但是比BSD協議更加寬鬆,是目前最少限制的協議。這個協議唯一的條件就是在修改後的代碼或者發行包包含原作者的許可信息。適用商業軟件。使用MIT的軟件項目有:jquery、Node.js。

MIT與BSD類似,但是比BSD協議更加寬鬆,是目前最少限制的協議。這個協議唯一的條件就是在修改後的代碼或者發行包包含原作者的許可信息。適用商業軟件。使用MIT的軟件項目有:jquery、Node.js。

MIT 協議是所有開源許可中最寬鬆的一個,除了必須包含許可聲明外,再無任何限制。

Apache License

Apache License(Apache許可證),是Apache軟件基金會發布的一個自由軟件許可證。

Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵代碼共享和最終原作者的著作權,同樣允許源代碼修改和再發布。但是也需要遵循以下條件:

  • 需要給代碼的用戶一份Apache Licence。
  • 如果修改了代碼,需要再被修改的文件中說明。
  • 在衍生的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
  • 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以再Notice中增加自己的許可,但是不可以表現為對Apache Licence構成更改。
  • Apache Licence也是對商業應用友好的許可。使用者也可以再需要的時候修改代碼來滿足並作為開源或商業產品發佈/銷售。

使用這個協議的好處是:

  • 永久權利 一旦被授權,永久擁有
  • 全球範圍的權利 在一個國家獲得授權,適用於所有國家。假如你在美國,許可是從印度授權的,也沒有問題。
  • 授權免費 無版稅, 前期、後期均無任何費用。
  • 授權無排他性 任何人都可以獲得授權
  • 授權不可撤消 一旦獲得授權,沒有任何人可以取消。比如,你基於該產品代碼開發了衍生產品,你不用擔心會在某一天被禁止使用該代碼

感謝

菜鳥教程

百度百科

萬能的網絡

以及勤勞的自己


分享到:


相關文章: