IT 行業(yè)誕生初期,開源精神極大的推動了計算機(jī)行業(yè)的飛速發(fā)展。對于人類影響深遠(yuǎn)的例如 Internet 協(xié)議,郵件,F(xiàn)TP 服務(wù),都是免費的。
計算機(jī)科學(xué)家們,無私共享出他們智慧結(jié)晶的產(chǎn)物。隨著行業(yè)的發(fā)展,越來越多的從業(yè)者加入了這個行業(yè),可如果秉持著開源免費的思想,缺乏市場足夠的資金支持,行業(yè)也難以走的長遠(yuǎn)。因此,正是基于這個目的,開源社區(qū)衍生出了諸多的協(xié)議許可證。要使用開源自然可以,但使用者就必須遵守開源所附帶的協(xié)議,只在許可范圍內(nèi)行事。
許可證是為了保護(hù)作者的合法權(quán)益(包括合理的知識產(chǎn)權(quán)和專利權(quán)力以及避免因開源惹火燒身的免責(zé)的權(quán)力),開源使軟件開發(fā)者避免了重復(fù)造輪子,讓后來者可以站在巨人的肩膀上做更多的事。有的許可協(xié)議寬松,有的協(xié)議嚴(yán)格,在此對這些協(xié)議進(jìn)行一次梳理。
協(xié)議,當(dāng)前有 開源許可證 和 知識共享協(xié)議(Creative Commons, CC) 。開源許可證主要針對軟件領(lǐng)域,知識共享協(xié)議主要針對文化產(chǎn)出,例如文章、數(shù)據(jù)、視頻等。
開源許可證
權(quán)力術(shù)語
下表是對開源許可證中所劃分的權(quán)力粒度的梳理,開源許可證會對下列的權(quán)力進(jìn)行授權(quán),或者加以限制,又或者要求有條件的使用。
| 名稱 | 中文名 | 備注 |
|---|---|---|
| Commercial use | 商業(yè)應(yīng)用 | 指是否可將開源用于商業(yè)目的 |
| Distribution | 發(fā)布發(fā)行 | 指是否允許發(fā)布發(fā)行依賴于此開源的項目 |
| Modification | 修改 | 指是否允許在開源項目上做修改 |
| Patent use | 申請專利 | 指是否允許用于專利申請 |
| Private use | 個人使用 | 指是否允許個人學(xué)習(xí),修改和使用 |
| License and copyright notice | 注明協(xié)議和版權(quán) | 指是否要求注明協(xié)議以及版權(quán)說明 |
| State changes | 注明變更 | 指對于開源代碼的修改是否要明確說明 |
| Liability | 義務(wù) | 指開源軟件是否承擔(dān)使用其后帶來的義務(wù) |
| Trademark use | 商標(biāo)使用 | 指開源軟件是否可用在商標(biāo)或在商標(biāo)中暗示使用 |
| Warranty | 報修維護(hù) | 指開源軟件是否提供后期維護(hù) |
| Same License | 同協(xié)議下 | 指基于開源二次開發(fā)的產(chǎn)品若發(fā)布,是否要基于相同或相近的協(xié)議之下 |
| Disclose source | 公開源碼 | 指基于開源開發(fā)的代碼是否也需要開源 |
常用許可證梳理
簡單來說,開源許可證主要有五大類,GPL/LGPL, Apache, MIT/BSD。GPL/LGPL 具有一定的傳染性,會要求使用源碼的項目也要開源,MIT/BSD 則最為慷慨,允許使用者任意使用,但需保留作者信息,而 Apache 在 MIT/BSD 至少保留了專利使用的權(quán)利。
- MIT License:只想簡簡單單的使用,安心 Coding,不在乎別人怎么用。例如
Babel、.NET Core、Rails、JQuery都是基于 MIT - Apache License:Apache 也是較為寬松,但是保留了專利的權(quán)力。諸如
Elasticsearch、Kubernetes、Swift采用了此許可 - GNU GPLv3:關(guān)心代碼的分享和使用,需要使用者也要基于相同的協(xié)議,公開源碼,且保留了專利的權(quán)力。
Bash、GIMP等軟件是基于此許可。
| MIT License | Apache License 2.0 | GNU GPLv3 | GNU AGPLv3 | GNU LGPLv3 | Mozilla Public License 2.0 | The Unlicense | |
|---|---|---|---|---|---|---|---|
| 商業(yè)應(yīng)用 | Permit | P | P | P | P | P | P |
| 發(fā)布發(fā)行 | P | P | P | P | P | P | P |
| 修改 | P | P | P | P | P | P | P |
| 申請專利 | P | P | P | P | P | ||
| 個人使用 | P | P | P | P | P | P | P |
| 注明協(xié)議和版權(quán) | Conditional | C | C | C | C | C | |
| 注明變更 | C | C | C | C | |||
| 義務(wù) | Limit | L | L | L | L | L | L |
| 商標(biāo)使用 | L | L | |||||
| 報修維護(hù) | L | L | L | L | L | L | L |
| 同協(xié)議下 | C | C | C | C | |||
| 公開源碼 | C | C | C | C |
更多許可證說明參考該鏈接:https://choosealicense.com/appendix/
MIT License,協(xié)議原文 https://opensource.org/licenses/MIT
Apache License 2.0, 協(xié)議原文 http://www.apache.org/licenses/LICENSE-2.0.html
GNU GPLv3 協(xié)議原文 https://www.gnu.org/licenses/gpl-3.0.txt
即使是最具傳染性的GPL、LGPL也是可以通過編譯成獨立二進(jìn)制的方式來規(guī)避的, 參考 Android ,在爭議中逃離 Linux 內(nèi)核的 GPL 約束。 摘自知乎,auxten 的回答,https://www.zhihu.com/question/19568896
如何選擇
關(guān)于如何選擇,Paul Bagwell 畫了一張分析圖。原鏈接找不到了,只找到了阮一峰在其博客翻譯后的一張中文版。

摘自阮一峰博客,http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
知識共享協(xié)議
以上闡述了開源軟件和代碼相關(guān)的協(xié)議,但有時很多產(chǎn)出并非是代碼,也有文章、視頻、字體、圖片等等,此時就不再適用以上的協(xié)議了,而是采用知識共享協(xié)議(Creative Commons,簡稱 CC)
許可協(xié)議
| 中文 | 縮寫 | 說明 | HTML 使用 |
|---|---|---|---|
| 署名 | CC BY | 允許其他人發(fā)行、再混合、調(diào)整、以您的作品為基礎(chǔ)進(jìn)行創(chuàng)作,即使出于商業(yè)性目的,只要他們指明您的原創(chuàng)身份。推薦用于最大程度散布和使用被授權(quán)作品。 | <a rel="license" ><img alt="知識共享許可協(xié)議" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />本作品采用<a rel="license" >知識共享署名 4.0 國際許可協(xié)議</a>進(jìn)行許可。 |
| 署名-相同方式共享 | CC BY-SA | 允許其他人再混合、調(diào)整和基于您的作品進(jìn)行創(chuàng)作,即使出于商業(yè)性目的,只要他們以相同條款標(biāo)識您的姓名或名稱、許可他們的新作品。基于您的作品的所有新作品將適用相同的許可協(xié)議,因此所有的演繹作品均允許商業(yè)性使用。維基百科使用此許可協(xié)議 | <a rel="license" ><img alt="知識共享許可協(xié)議" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />本作品采用<a rel="license" >知識共享署名-相同方式共享 4.0 國際許可協(xié)議</a>進(jìn)行許可。 |
| 署名-禁止演繹 | CC BY-ND | 允許再發(fā)行作品,無論是商業(yè)性和非商業(yè)性使用,只要該作品未經(jīng)修改、刪減,且給您署名。 | <a rel="license" ><img alt="知識共享許可協(xié)議" style="border-width:0" src="https://i.creativecommons.org/l/by-nd/4.0/88x31.png" /></a><br />本作品采用<a rel="license" >知識共享署名-禁止演繹 4.0 國際許可協(xié)議</a>進(jìn)行許可。 |
| 署名-非商業(yè)性使用 | CC BY-NC | 允許其他人再混合、調(diào)整、基于您的作品進(jìn)行非商業(yè)性創(chuàng)作。盡管他們的新作品必須署您的名并要出于非商業(yè)性目的,他們不必依據(jù)相同條款許可他們的演繹作品。 | <a rel="license" ><img alt="知識共享許可協(xié)議" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/88x31.png" /></a><br />本作品采用<a rel="license" >知識共享署名-非商業(yè)性使用 4.0 國際許可協(xié)議</a>進(jìn)行許可。 |
| 署名-非商業(yè)性使用-相同方式共享 | CC BY-NC-SA | 允許其他人再混合、調(diào)整和基于您的作品進(jìn)行非商業(yè)性創(chuàng)作,只要他們標(biāo)識您的姓名或名稱,并以相同條款許可他們的新作品 | <a rel="license" ><img alt="知識共享許可協(xié)議" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br />本作品采用<a rel="license" >知識共享署名-非商業(yè)性使用-相同方式共享 4.0 國際許可協(xié)議</a>進(jìn)行許可。 |
| 署名-非商業(yè)性使用-禁止演繹 | CC BY-NC-ND | 限制最嚴(yán)格的,只允許他人下載你的作品,在為你署名的情況下與別人共享你的作品,但不能以任何方式改變作品,或出于商業(yè)目的使用作品。 | <a rel="license" ><img alt="知識共享許可協(xié)議" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a><br />本作品采用<a rel="license" >知識共享署名-非商業(yè)性使用-禁止演繹 4.0 國際許可協(xié)議</a>進(jìn)行許可。 |
摘自:知識共享協(xié)議的原理 https://creativecommons.org/licenses/
可以在 https://creativecommons.org/choose/ 網(wǎng)站上生成許可
參考資料
[1] Choose an open source license,https://choosealicense.com/
[2] 《如何選擇開源許可證?》,作者 阮一峰,http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
[3] 知乎問答,主流開源協(xié)議之間有何異同? https://www.zhihu.com/question/19568896, 參考了 GcsSloop 用戶的答案以及 auxten 的回答
[4] 《程序員不可不知的版權(quán)協(xié)議》,作者 GcsSloop,http://www.gcssloop.com/tips/choose-license
[5] MIT License,協(xié)議原文 https://opensource.org/licenses/MIT
[6] Apache License 2.0, 協(xié)議原文 http://www.apache.org/licenses/LICENSE-2.0.html
[7] GNU GPLv3 協(xié)議原文 https://www.gnu.org/licenses/gpl-3.0.txt
[8] Choose a creative commons, https://creativecommons.org/choose/