如何選擇開源許可協(xié)議(一):了解協(xié)議
目前國內開源項目正在逐漸升溫,中國也開始有不少優(yōu)秀的開源項目突顯出來。在大家摩拳擦掌準備加入開源大軍時,也要知道這個圈子里的規(guī)則。技術人員 不能只是研究技術,任何圈子都有規(guī)則,要知道了才能玩得好。前段時間有件關于開源軟件的事情挺熱鬧的,關于國內一個開發(fā)者把自己作品開源出來被別的公司的 人拿去包裝成自己的產品高價賣出去。大部分做開源軟件的開發(fā)者都不太怎么關注版權這些,具體微博如下:
hoowa_sun:
做開源后,發(fā)現大部分都被別人拿去學習,然后copy,然后自己閉源賣出去。這里不缺乏大公司,有一家公司拿我的開源系統(tǒng)修改后賣給了一個國內的運營商,賣的還非常貴至少幾十萬一套。所以我鄭重的建議大家,做軟件還是要英文版開源,中文版封閉不要開源。
在國內大家習慣了使用盜版、破解,看到這種免費的軟件也覺得是理所當然的拿來主義,甚至直接封裝到自己的商業(yè)組件賣出去。如果你正在這樣做,馬上停 下來研究一下使用的這些開源組件的許可協(xié)議,不然某一天你會意外收到一封法院的傳票。如果你在開發(fā)或者準備開發(fā)開源軟件,但尚對開源許可協(xié)議不了解,也看 下這篇文章,選擇一種開源許可協(xié)議保護你的開源軟件。
常見的開源許可協(xié)議有:GPL、LGPL、BSD、Apache Licence vesion 2.0、MIT。這些協(xié)議有什么區(qū)別呢?
GPL,全稱 GNU General Public License。它的主要內容為:只要在一個軟件中使用(“使用”指類庫引用或者修改后的代碼) GPL 協(xié)議的產品,則該軟件產品必須也采用GPL協(xié)議,既必須也是開源和免費。這個協(xié)議就不太適合商用軟件,或者準備使用GPL開源組件的商用項目?;谶@個協(xié) 議的項目,極大的提高了開源軟件的數量。上面那個微博的案例,如果作者使用了GPL協(xié)議,而使用方沒有公開源代碼就是違反了協(xié)議。目前用的多的是 GPLV1,GPLV2。這兩個什么區(qū)別看后面那張樹形圖。采用這個協(xié)議的開源軟件有:Linux、 MySQL.
LGPL,最初是Library GPL的縮寫,后來改稱作Lesser GPL。由于GPL太嚴格,限制了很多商用軟件使用GPL組件才推出了這個LGPL。LGPL允許商業(yè)軟件通過引用類庫的方式使用LGPL組件(不直接使 用源代碼),這樣可以不需要開源商業(yè)軟件的代碼。但是如果要修改原始組件的代碼,則涉及修改部分的代碼和基于原來代碼衍生的代碼都必須采用LGPL協(xié)議。 LGPL不適合以LGPL協(xié)議為基礎的代碼進行二次開發(fā)的商業(yè)軟件,但是商用軟件可以采用編譯后的類庫引用就不需要公開源代碼了。采用這個協(xié)議的開源軟件 有: JBoss、 FCKeditor 、 Hibernate。之前extjs就因為從LGPL轉換到GPL帶來了不少的震動。詳情點擊。
BSD, 全稱 Berkeley Software Distribution。這個協(xié)議相對上面兩個協(xié)議寬松很多,允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼基礎上開發(fā)商業(yè)軟件發(fā)布和銷售, 因此是適用于商業(yè)軟件的。使用者別太高興,使用時還必須做到滿足三個條件:
- 1)如果再發(fā)布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議。
- 2)如果再發(fā)布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協(xié)議。
- 3)不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。適用BSD協(xié)議的開源軟件有: nginx、CruiseControl、Redis。
apache Licence vesion 2.0,這個協(xié)議除了為用戶提供版權許可之外,還有專利許可。與BSD協(xié)議權限類似, 允許代碼修改,再發(fā)布,適用商業(yè)軟件。但是也需要滿足以下條件:
- 1)需要給代碼的用戶一份Apache Licence。
- 2)如果你修改了代碼,需要再被修改的文件中說明。
- 3)在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標,專利聲明和其他原來作者規(guī)定需要包含的說明。
- 4)如果再發(fā)布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。
除了這些條件它還有這些好處:
- 1)永久權利 一旦被授權,永久擁有。
- 2)全球范圍的權利 在一個國家獲得授權,適用于所有國家。假如你在美國,許可是從印度授權的,也沒有問題。
- 3)授權免費 無版稅, 前期、后期均無任何費用。
- 4)授權無排他性 任何人都可以獲得授權
- 5)授權不可撤消 一旦獲得授權,沒有任何人可以取消。比如,你基于該產品代碼開發(fā)了衍生產品,你不用擔心會在某一天被禁止使用該代碼
使用apache Licence vesion 2.0協(xié)議的開源軟件有:Hadoop 、apache httpserver、Spring Framework、MongoDB 。
MIT,源自麻省理工學院(Massachusetts Institute of Technology, MIT),又稱X11協(xié)議。MIT與BSD類似,但是比BSD協(xié)議更加寬松,是目前最少限制的協(xié)議。這個協(xié)議唯一的條件就是在修改后的代碼或者發(fā)行包包含 原作者的許可信息。適用商業(yè)軟件。使用MIT的軟件項目有:jquery、Node.js。
列出了常用協(xié)議,還有一些比較常用的大家就谷歌了,比如: Mozilla Public License、Creative Commons、Eclipse Public License 1.0等。
有一篇博客的樹形圖很好闡述了當前主流許可協(xié)議的區(qū)別。
另附一張目前GitHub上項目采用的許可協(xié)議比例圖:
參考:
http://www.aqee.net/a-short-guide-to-open-source-and-similar-licenses/
http://www.iteye.com/news/27616
原文鏈接:http://www.lanceyan.com/tech/arch/opensource_permission.html