全球各種開源協(xié)議,研發(fā)必學!
開源協(xié)議規(guī)定了你在使用開源軟件時的權(quán)利和責任,也就是規(guī)定了你可以做什么,不可以做什么。

烏克蘭程序員 Paul Bagwell 畫了一張分析圖


GNU GPL(GNU General Public License,GNU通用公共許可證)

只要軟件中包含了遵循 GPL 協(xié)議的產(chǎn)品或代碼,該軟件就必須也遵循 GPL 許可協(xié)議,也就是必須開源免費,不能閉源收費,因此這個協(xié)議并不適合商用軟件。
遵循 GPL 協(xié)議的開源軟件數(shù)量極其龐大,包括 Linux 系統(tǒng)在內(nèi)的大多數(shù)的開源軟件都是基于這個協(xié)議的。
| 特點 | 說明 |
|---|---|
| 復制自由 | 允許把軟件復制到任何人的電腦中,并且不限制復制的數(shù)量。 |
| 傳播自由 | 允許軟件以各種形式進行傳播。 |
| 收費傳播 | 允許在各種媒介上出售該軟件,但必須提前讓買家知道這個軟件是可以免費獲得的;因此,一般來講,開源軟件都是通過為用戶提供有償服務(wù)的形式來盈利的。 |
| 修改自由 | 允許開發(fā)人員增加或刪除軟件的功能,但軟件修改后必須依然基于GPL許可協(xié)議授權(quán)。 |
BSD(Berkeley Software Distribution,伯克利軟件發(fā)布版)協(xié)議

BSD 協(xié)議給予用戶極大的權(quán)利,用戶可以使用、修改和重新發(fā)布遵循該許可的軟件,并且可以將軟件作為商業(yè)軟件發(fā)布和銷售,前提是需要滿足下面三個條件:
如果再發(fā)布的軟件中包含源代碼,則源代碼必須繼續(xù)遵循 BSD 許可協(xié)議。
如果再發(fā)布的軟件中只有二進制程序,則需要在相關(guān)文檔或版權(quán)文件中聲明原始代碼遵循了 BSD 協(xié)議。
不允許用原始軟件的名字、作者名字或機構(gòu)名稱等進行市場推廣。
BSD 對商業(yè)比較友好,很多公司在選用開源產(chǎn)品的時候都首選 BSD 協(xié)議,因為可以完全控制這些第三方的代碼,甚至在必要的時候可以修改或者二次開發(fā)。
Apache 許可證版本(Apache License Version)協(xié)議

Hadoop、Apache HTTP Server、MongoDB 等項目都是基于該許可協(xié)議研發(fā)的,程序開發(fā)人員在開發(fā)遵循該協(xié)議的軟件時,要嚴格遵守下面的四個條件:
該軟件及其衍生品必須繼續(xù)使用 Apache 許可協(xié)議。
如果修改了程序源代碼,需要在文檔中進行聲明。
若軟件是基于他人的源代碼編寫而成的,則需要保留原始代碼的協(xié)議、商標、專利聲明及其他原作者聲明的內(nèi)容信息。
如果再發(fā)布的軟件中有聲明文件,則需在此文件中標注 Apache 許可協(xié)議及其他許可協(xié)議。
永久權(quán)利: 一旦被授權(quán),永久擁有。
全球范圍的權(quán)利: 在一個國家獲得授權(quán),適用于所有國家。
授權(quán)免費,且無版稅: 前期,后期均無任何費用。
授權(quán)無排他性: 任何人都可以獲得授權(quán)
授權(quán)不可撤消: 一旦獲得授權(quán),沒有任何人可以取消。比如,你基于該產(chǎn)品代碼開發(fā)了衍生產(chǎn)品,你不用擔心會在某一天被禁止使用該代碼。
MIT(Massachusetts Institute of Technology)協(xié)議
使用 MIT 協(xié)議的軟件有 PuTTY、X Window System、Ruby on Rails、Lua 5.0 onwards、Mono 等。
GUN LGPL(GNU Lesser General Public License,GNU 寬通用公共許可證)
LGPL 是 GPL 的一個衍生版本,也被稱為 GPL V2,該協(xié)議主要是為類庫設(shè)計的開源協(xié)議。
LGPL 允許商業(yè)軟件通過類庫引用(link)的方式使用 LGPL 類庫,而不需要開源商業(yè)軟件的代碼。這使得采用 LGPL 協(xié)議的開源代碼可以被商業(yè)軟件作為類庫引用并發(fā)布和銷售。
但是如果修改 LGPL 協(xié)議的代碼或者衍生品,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協(xié)議。
因此LGPL協(xié)議的開源代碼很適合作為第三方類庫被商業(yè)軟件引用,但不適合希望以 LGPL 協(xié)議代碼為基礎(chǔ),通過修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。
往期推薦
