在github中閑逛,寶藏多福利好。不過心里或許總有小忐忑,這么多開源項(xiàng)目,我的產(chǎn)品里能不能用呀!
其實(shí)想知道項(xiàng)目能不能用看下項(xiàng)目的開源許可證就清楚了(即使是非軟件產(chǎn)品比如數(shù)據(jù)、媒體、資料等也可以通過開源許可證知道它們的可用范圍)。

開源許可證
先舉兩個例子,這兩位應(yīng)該是最常用的許可證了:
- MIT許可證:只為作者保留版權(quán),而無任何其他了限制。它使人們幾乎可以對您的項(xiàng)目進(jìn)行任何操作,即時是制作和分發(fā)封閉源代碼版本。Babel,.NET Core和 Rails 使用MIT許可證。
- GNU GPLv3:讓人們可以做幾乎任何他們想要做的項(xiàng)目,不能分發(fā)封閉源代碼的版本。Ansible, Bash和 GIMP 使用GNU GPLv3。
如果你的工作是在開源社區(qū)開發(fā)項(xiàng)目,使用社區(qū)常用的許可證就可以了。
如果希望商用則特別要注意下,許可的范圍。以下都是常用許可證類型的概要信息:

Apache Licese @ opensource.org
- Apache License 2.0 :商業(yè)軟件最愛, 主要條件是要求保留原始版權(quán)和許可聲明。同時向貢獻(xiàn)者明確授予專利權(quán)。使用者可以自由修改,進(jìn)行商業(yè)使用,大型項(xiàng)目可以不同的條款分發(fā),沒有開源要求,修改源代碼需要記錄變更。
- BSD 3-Clause "New" or "Revised" license:允許商業(yè)發(fā)布和銷售。使用者可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。主要條件是要求尊重代碼作者的著作權(quán),即包含原始版權(quán)和免責(zé)聲明(二進(jìn)制形式分發(fā)必須分發(fā)文檔中包含版權(quán)申明及免責(zé)聲明),且未經(jīng)事先特別書面許可,不可以用開源代碼的“作者/機(jī)構(gòu)的名字”或“原來產(chǎn)品的名字”做市場推廣。
- BSD 2-Clause "Simplified" or "FreeBSD" license:比3-Clause少一個條目,去掉了“不可以用開源代碼的“作者/機(jī)構(gòu)的名字”或“原來產(chǎn)品的名字”做市場推廣。”.
- GNU General Public License: 商業(yè)軟件繞開,GPL不允許修改后和衍生的代碼做為閉源的商業(yè)軟件發(fā)布和銷售。
- GNU Library or "Lesser" General Public License (LGPL):允許商業(yè)軟件代碼動態(tài)link到LGPL類庫。注意:不可以靜態(tài)鏈接,否則你的代碼也必須用LGPL協(xié)議開源。(即:商業(yè)軟件可以動態(tài)使用,但不能修改)
- Mozilla Public License 2.0:修改的版本需要保持原始版權(quán)申明。編譯版本需和可獲得MPL協(xié)議下的源碼。修改源代碼需要記錄變更。
- Common Development and Distribution License:商業(yè)軟件可用,也可以修改。可以自行發(fā)布許可,允許公共版權(quán)使用,提供專利保護(hù),無專利費(fèi)
- Eclipse Public License version 2.0:商業(yè)軟件可用,也可以修改,無需開源。不過將本程序包含在商業(yè)產(chǎn)品中的貢獻(xiàn)者需要承擔(dān)因代碼而產(chǎn)生的侵權(quán)責(zé)任,及對所有其他貢獻(xiàn)者的相關(guān)損失
一般開源許可證中會說明以下權(quán)限、使用條件和責(zé)任限制:
- 商業(yè)使用(Commercial use):該軟件及其衍生產(chǎn)品可用于商業(yè)目的。
- 分發(fā)(Distribution):該軟件可以被分發(fā)。
- 修改(Modification):該軟件可能會被修改。
- 專利使用(Patent use):該許可證提供了明確的專利權(quán)授予。/該許可明確聲明它不授予貢獻(xiàn)者專利的任何權(quán)利。
- 私人使用(Private use):該軟件可以私下使用和修改。
- 開源(Disclose source):分發(fā)軟件時必須開源。
- 許可及版權(quán)聲明(License and copyright notice):該軟件必須隨附許可證和版權(quán)聲明的副本。
- 分布式網(wǎng)絡(luò)使用(Network use is distribution):通過網(wǎng)絡(luò)與軟件進(jìn)行交互的用戶被授予接收源代碼副本的權(quán)利。
- 相同許可證(Same license):分發(fā)軟件時,必須以相同的許可證發(fā)布修改。在某些情況下,可以使用類似或相關(guān)的許可證
- 狀態(tài)變更(State changes):對代碼所做的更改必須記錄。
- 責(zé)任限制(Liability):該許可包括責(zé)任限制。
- 商標(biāo)使用(Trademark use):該許可證明確聲明它不授予商標(biāo)權(quán),即使沒有此類聲明的許可證可能不授予任何隱含的商標(biāo)權(quán)。
- 保證(Warranty):許可證明確聲明不提供任何保證。

CC-BY-4.0
此外還有一些屬于非軟件許可證:
- 數(shù)據(jù),媒體等內(nèi)容:CC0-1.0,CC-BY-4.0和CC-BY-SA-4.0是開放許可證,用于從數(shù)據(jù)集到視頻的非軟件內(nèi)容。這里CC-BY-4.0和CC-BY-SA-4.0 不應(yīng)用于軟件產(chǎn)品。
- 文獻(xiàn)資料:任何開源軟件許可證或媒體開放許可證也適用于軟件文獻(xiàn)資料。如果您為軟件及其文檔使用不同的許可證,請確保指定文檔中的源代碼示例也已獲得軟件許可證的許可。
- 字體:SIL Open Font License 1.1 保持字體開放的同時,允許它們在其他項(xiàng)目自由使用。
如果您的項(xiàng)目包含軟件和其他部分的混合,您可以通過說明明確各個許可證適用于項(xiàng)目的不同部分。
總結(jié)一下:開源許可證存在的主要意義就是保護(hù)項(xiàng)目貢獻(xiàn)者和使用用戶。倘若沒有許可證保護(hù),企業(yè)和開發(fā)人員一般就不會接觸項(xiàng)目,開源社區(qū)也很難繁榮起來。如果要更全面的了解和選擇開源許可證,可以去大本營查看所有已批準(zhǔn)的許可證包括:如專用許可證、被取代的許可證或失效的許可證。
按名稱排序(按字母順序):https://opensource.org/licenses/alphabetical
按類別排序:https://opensource.org/licenses/category