各類開源協議介紹


世界上的開源許可證(Open Source License)大概有上百種,今天咱們來介紹下幾種咱們常見的開源協議。大體有GPL、BSD、MIT、Mozilla、Apache和LGPL等。jquery

 
image

Apache License

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

Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD相似,一樣鼓勵代碼共享和最終原做者的著做權,一樣容許源代碼修改和再發布。可是也須要遵循如下條件:併發

  • 須要給代碼的用戶一份Apache Licence。
  • 若是修改了代碼,須要再被修改的文件中說明。
  • 在衍生的代碼中(修改和有源代碼衍生的代碼中)須要帶有原來代碼中的協議,商標,專利聲明和其餘原來做者規定須要包含的說明。
  • 若是再發布的產品中包含一個Notice文件,則在Notice文件中須要帶有Apache Licence。你能夠再Notice中增長本身的許可,可是不能夠表現爲對Apache Licence構成更改。
  • Apache Licence也是對商業應用又好的許可。使用者也能夠再須要的時候修改代碼來知足並做爲開源或商業產品發佈/銷售。

使用這個協議的好處是:網站

  • 永久權利 一旦被受權,永久擁有。設計

  • 全球範圍的權利 在一個國家得到受權,適用於全部國家。假如你在美國,許但是從印度受權的,也沒有問題。orm

  • 受權免費 無版稅, 前期、後期均無任何費用。ip

  • 受權無排他性 任何人均可以得到受權ci

  • 受權不可撤消 一旦得到受權,沒有任何人能夠取消。好比,你基於該產品代碼開發了衍生產品,你不用擔憂會在某一天被禁止使用該代碼開發

BSD

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

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

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

BSD代碼鼓勵代碼共享,但須要尊重代碼做者的著做權。BSD因爲容許使用者修改和從新發布代碼,也容許使用或在BSD代碼上開發商業軟件發佈和銷售,所以是對商業集成很友好的協議。而不少的公司企業在選用開源產品的時候都首選BSD協議,由於能夠徹底控制這些第三方的代碼,在必要的時候能夠修改或者二次開發。

GPL

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

Linux 採用了 GPL

GPL協議和BSD, Apache Licence等鼓勵代碼重用的許可很不同。GPL的出發點是代碼的開源/無償使用和引用/修改/衍生代碼的開源/無償使用,但不容許修改後和衍生的代碼作爲閉源的商業軟件發佈和銷售。這也就是爲何咱們能用免費的各類linux,包括商業公司的linux和linux上各類各樣的由我的,組織,以及商業軟件公司開發的免費軟件了。

LGPL

LGPL是GPL的一個爲主要爲類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生之GPL類庫的的軟件必須採用GPL協議不一樣。LGPL容許商業軟件經過類庫引用(link)方式使用LGPL類庫而不須要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼能夠被商業軟件做爲類庫引用併發布和銷售。

可是若是修改LGPL協議的代碼或者衍生,則全部修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須採用LGPL協議。所以LGPL協議的開源代碼很適合做爲第三方類庫被商業軟件引用,但不適合但願以LGPL協議代碼爲基礎,經過修改和衍生的方式作二次開發的商業軟件採用。

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

MIT

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

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

MPL (Mozilla Public License 1.1)

MPL協議容許免費重發布、免費修改,但要求修改後的代碼版權歸軟件的發起者 。這種受權維護了商業軟件的利益,它要求基於這種軟件的修改無償貢獻版權給該軟件。這樣,圍繞該軟件的全部代碼的版權都集中在發起開發人的手中。但MPL是容許修改,免費使用得。MPL軟件對連接沒有要求。

EPL (Eclipse Public License 1.0)

EPL容許Recipients任意使用、複製、分發、傳播、展現、修改以及改後閉源的二次商業發佈。

使用EPL協議,須要遵照如下規則:

  • 當一個Contributors將源碼的總體或部分再次開源發佈的時候,必須繼續遵循EPL開源協議來發布,而不能改用其餘協議發佈.除非你獲得了原"源碼"Owner 的受權;
  • EPL協議下,你能夠將源碼不作任何修改來商業發佈.但若是你要發佈修改後的源碼,或者當你再發布的是Object Code的時候,你必須聲明它的Source Code是能夠獲取的,並且要告知獲取方法;
  • 當你須要將EPL下的源碼做爲一部分跟其餘私有的源碼混和着成爲一個Project發佈的時候,你能夠將整個Project/Product以私人的協議發佈,但要聲明哪一部分代碼是EPL下的,並且聲明那部分代碼繼續遵循EPL;
  • 4.獨立的模塊(Separate Module),不須要開源。

Creative Commons 知識共享協議

Creative Commons (CC) 許可協議並不能說是真正的開源協議,它們大可能是被使用於設計類的工程上。 CC 協議種類繁多,每一種都受權特定的權利。 一個 CC 許可協議具備四個基本部分,這幾個部分能夠單獨起做用,也能夠組合起來。下面是這幾部分的簡介:

  • 一、署名 做品上必須附有做品的歸屬。如此以後,做品能夠被修改,分發,複製和其它用途。
  • 二、相同方式共享 做品能夠被修改、分發或其它操做,但全部的衍生品都要置於CC許可協議下。
  • 三、非商業用途 做品能夠被修改、分發等等,但不能用於商業目的。但語言上對什麼是"商業"的說明十分含糊不清 (沒有提供精確的定義),因此你能夠在你的工程裏對其進行說明。例如,有些人簡單的解釋"非商業"爲不能出售這個做品。而另一些人認爲你甚至不能在有廣告的網站上使用它們。 還有些人認爲"商業"僅僅指你用它獲取利益。
  • 四、禁止衍生做品

CC 許可協議的這些條款能夠自由組合使用。大多數的比較嚴格的CC協議會聲明 "署名權,非商業用途,禁止衍生"條款,這意味着你能夠自由的分享這個做品,但你不能改變它和對其收費,並且必須聲明做品的歸屬。這個許可協議很是的有用,它可讓你的做品傳播出去,但又能夠對做品的使用保留部分或徹底的控制。最少限制的CC協議類型當屬 "署名"協議,這意味着只要人們能維護你的名譽,他們對你的做品怎麼使用都行。

CC 許可協議更多的是在設計類工程中使用,而不是開發類,但沒有人或妨礙你將之使用與後者。只是你必需要清楚各部分條款能覆蓋到的和不能覆蓋到的權利。


圖解分析

 
image
 
image
 
image
做者:小孩真笨 連接:https://www.jianshu.com/p/36c1cd4aaeae 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索