作為一個(gè)軟件開發(fā)人員,你一定也是天天接觸一些開源軟件,比如一些開源的軟件框架,比如開源的操作系統(tǒng)。這里大名鼎鼎就是Linux操作系統(tǒng)了,在服務(wù)器領(lǐng)域和嵌入式開發(fā),它決定是大神中的大神級(jí)別的存在。
那么,就算我們學(xué)會(huì)了這么多的開源軟件,我們真的就了解這些開源軟件使用的【開源許可協(xié)議】嗎?這年代,不會(huì)還真有人理解成:【開源就是免費(fèi)】吧?
通過(guò)閱讀本文,你講會(huì)了解到以下幾部分內(nèi)容:
- 開源許可協(xié)議是什么及它的來(lái)源
- 開源許可協(xié)議之間的區(qū)別與聯(lián)系
- 幾種常見(jiàn)開源許可協(xié)議的主要內(nèi)容
- 學(xué)習(xí)開源許可協(xié)議的意義
一、開源許可協(xié)議是什么及它的來(lái)源
開源許可協(xié)議是指開源社區(qū)為了維護(hù)作者和貢獻(xiàn)者的合法權(quán)利,保證軟件不被一些商業(yè)機(jī)構(gòu)或個(gè)人竊取,影響軟件的發(fā)展而開發(fā)的協(xié)議。它的中文名:開源許可協(xié)議;外文名:open source license
開源許可協(xié)議是怎么來(lái)的呢?
自由軟件/開源軟件是自由的,源代碼開放的,我們可自由下載安裝和使用。
人們不太容易區(qū)分一個(gè)軟件是否真正開源的根本原因,在于開源研究院認(rèn)可的許可有60多種。但在這60多種許可中,有一個(gè)許可明顯主宰著開源世界。迪博納說(shuō):“GPL(General Public License,通用性公開許可協(xié)議)是當(dāng)今開源世界中最重要的許可。”根據(jù)迪博納引述的Google所進(jìn)行的研究,基于GPL的開源代碼在所有開源軟件中占45%---50%。
二、開源許可協(xié)議之間的區(qū)別與聯(lián)系
為了能夠讓大家更加直觀地了解到,各種開源許可協(xié)議之間的區(qū)別與聯(lián)系,我參考了了一些資料,重新畫了這一張圖,供大家參考。下面的內(nèi)容,我將會(huì)圍繞這張圖來(lái)展開。
?編輯這張就很清晰地描述了6種常見(jiàn)的開源許可協(xié)議之間的區(qū)別與聯(lián)系,主要圍繞的就是幾個(gè)核心問(wèn)題:
- 修改源代碼后,是否允許閉源?
- 每一個(gè)修改過(guò)后的文件,是否都必須放置版權(quán)說(shuō)明?
- 是否需要對(duì)每一個(gè)修改過(guò)的文件提供說(shuō)明文檔?
- 新增代碼是否需要使用同樣的許可證?
- 衍生軟件的廣告是否可以使用你的名字進(jìn)行促銷?
三、幾種常見(jiàn)開源許可協(xié)議的主要內(nèi)容
說(shuō)起各式各樣的開源許可協(xié)議,我們不得不提起GNU,它的全稱是“GNU's Not Unix!”(GNU并非Unix!)的首字母遞歸縮寫。
1985年Richard Stallman又創(chuàng)立了自由軟件基金會(huì)(Free Software Foundation)來(lái)為GNU計(jì)劃提供技術(shù)、法律以及財(cái)政支持。盡管GNU計(jì)劃大部分時(shí)候是由個(gè)人自愿無(wú)償貢獻(xiàn),但FSF有時(shí)還是會(huì)聘請(qǐng)程序員幫助編寫。當(dāng)GNU計(jì)劃開始逐漸獲得成功時(shí),一些商業(yè)公司開始介入開發(fā)和技術(shù)支持。當(dāng)中最著名的就是之后被Red Hat兼并的 Cygnus Solutions。
正因?yàn)橛辛薌NU計(jì)劃的大力推廣,后面的Linux才逐漸發(fā)展壯大,直至今日,它已經(jīng)走到30個(gè)年頭,在服務(wù)器領(lǐng)域可謂是一枝獨(dú)秀。
也正因?yàn)橛辛薒inux的蓬勃發(fā)展,慢慢才看到了越來(lái)越多的開源軟件走向大眾視野,整個(gè)軟件行業(yè)才走向了發(fā)展的快車道,今后也會(huì)是長(zhǎng)盛不衰,勇往直前。
下面著重說(shuō)一下各大流行的開源許可協(xié)議的核心內(nèi)容。
1、Apache開源許可協(xié)議
Apache (Apache License) :Apache許可協(xié)議,一般常用是2.0版本,Apache 2.0許可證是ASF(Apache Software Foundation,Apache軟件基金會(huì))在2004年發(fā)布的,以幫助ASF實(shí)現(xiàn)其目標(biāo):“通過(guò)開源軟件開發(fā)協(xié)作,提供可靠且長(zhǎng)久不衰的軟件產(chǎn)品”。ASF出品的軟件一般都采用Apache 2.0許可證。當(dāng)然,非ASF的項(xiàng)目也可以使用,Apache許可證設(shè)計(jì)出來(lái)是供所有人使用的。
它的核心內(nèi)容如下:
你可以隨便用!不會(huì)因版權(quán)和專利找你麻煩的!
不能用我的商標(biāo)!
你分發(fā)本作品或衍生作品時(shí),可以不再提供源碼!
你在分發(fā)時(shí),必須做到:
1)帶上本許可證!
2)保留本軟件的所有版權(quán)、專利等說(shuō)明!
3)你改過(guò)的文件,你得說(shuō)改了哪!
4)NOTICE文件中的信息得保留!
5)在遵循本許可證的條件下,你可以再許可!
6)本作品就這樣了,我不會(huì)負(fù)任何責(zé)任的!你想負(fù)責(zé)你可以負(fù),但別拉上我!
2、MIT開源許可協(xié)議
MIT (Massachusetts Institute of Technology):MIT許可協(xié)議之名源自麻省理工學(xué)院,又稱“X許可協(xié)議”或“X11許可協(xié)議”。
MIT內(nèi)容與三條款BSD許可證(3-clause BSD license)內(nèi)容頗為近似,但是賦予軟件被授權(quán)人更大的權(quán)利與更少的限制。
它的核心內(nèi)容是:
1)被授權(quán)人有權(quán)利使用、復(fù)制、修改、合并、出版發(fā)行、散布、再授權(quán)及販?zhǔn)圮浖败浖母北尽?/strong>
2)被授權(quán)人可根據(jù)程式的需要修改授權(quán)條款為適當(dāng)?shù)膬?nèi)容。
3)在軟件和軟件的所有副本中都必須包含版權(quán)聲明和許可聲明。
此授權(quán)條款并非屬copyleft的自由軟件授權(quán)條款,允許在自由/開放源碼軟件或非自由軟件(proprietary software)所使用。
此亦為MIT與BSD(The BSD license, 3-clause BSD license)本質(zhì)上不同處。
MIT條款可與其他授權(quán)條款并存。另外,MIT條款也是自由軟件基金會(huì)(FSF)所認(rèn)可的自由軟件授權(quán)條款,與GPL相容。
相對(duì)于BSD開源許可協(xié)議,MIT開源許可協(xié)議是當(dāng)下流行的開源許可協(xié)議中【最為寬松】的許可協(xié)議。
3、BSD開源許可協(xié)議
BSD (Berkeley Software Distribution) : 伯克利軟件分發(fā)許可協(xié)議。
BSD開源協(xié)議是一個(gè)給予使用者很大自由的協(xié)議。基本上使用者可以"為所欲為",可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。
但"為所欲為"的前提是當(dāng)你發(fā)布使用了BSD協(xié)議的代碼,或者以BSD協(xié)議代碼為基礎(chǔ)做二次開發(fā)自己的產(chǎn)品時(shí),需要滿足一些條件。
它的核心內(nèi)容是:
1)如果再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來(lái)代碼中的BSD協(xié)議。
2)如果再發(fā)布的只是二進(jìn)制類庫(kù)/軟件,則需要在類庫(kù)/軟件的文檔和版權(quán)聲明中包含原來(lái)代碼中的BSD協(xié)議。
3)不可以用開源代碼的作者/機(jī)構(gòu)名字和原來(lái)產(chǎn)品的名字做市場(chǎng)推廣。
可以說(shuō)BSD開源許可協(xié)議是當(dāng)下流行的開源許可協(xié)議中【較為寬松】的許可協(xié)議。
4、MPL開源許可協(xié)議
MPL (Mozilla Public License):Mozilla公共許可協(xié)議。
MPL是The Mozilla Public License的簡(jiǎn)寫,是1998年初Netscape的 Mozilla小組為其開源軟件項(xiàng)目設(shè)計(jì)的軟件許可證。MPL許可證出現(xiàn)的最重要原因就是,Netscape公司認(rèn)為GPL許可證沒(méi)有很好地平衡開發(fā)者對(duì) 源代碼的需求和他們利用源代碼獲得的利益。同著名的GPL許可證和BSD許可證相比,MPL在許多權(quán)利與義務(wù)的約定方面與它們相同(因?yàn)槎际欠螼SIA 認(rèn)定的開源軟件許可證)
它的核心內(nèi)容是:
1)允許免費(fèi)重發(fā)布、免費(fèi)修改,但要求修改后的代碼版權(quán)歸軟件的發(fā)起者。
2)這種授權(quán)維護(hù)了商業(yè)軟件的利益,它要求基于這種軟件的修改無(wú)償貢獻(xiàn)版權(quán)給該軟件。這樣,圍繞該軟件的所有代碼得版權(quán)都集中在發(fā)起開發(fā)人得手中。
3)但MPL是允許修改,無(wú)償使用的。
4)MPL軟件對(duì)鏈接沒(méi)有要求。(要求假如你修改了一個(gè)基于MPL協(xié)議的源代碼,則必須列入或公開你所做的修改,假如其他源代碼不是基于MPL則不需要公開其源代碼)
5、GPL開源許可協(xié)議
GPL (GNU General Public License) :GNU通用公共許可協(xié)議。
GNU通用公共許可協(xié)議是一個(gè)被廣泛使用的自由軟件許可協(xié)議條款,GPL 保證了所有開發(fā)者的權(quán)利,同時(shí)為使用者提供了足夠的復(fù)制,分發(fā),修改的權(quán)利。
它的核心內(nèi)容是:
1)可自由復(fù)制:你可以將軟件復(fù)制到你的電腦,你客戶的電腦,或者任何地方。復(fù)制份數(shù)沒(méi)有任何限制。
2)可自由分發(fā):在你的網(wǎng)站提供他人下載,拷貝到U盤送人。
3)可用來(lái)盈利:你可以在分發(fā)軟件的時(shí)候收費(fèi),但你必須在收費(fèi)前向你的客戶提供該軟件的 GNU GPL 許可協(xié)議,以便讓他們知道,他們可以從別的渠道免費(fèi)得到這份軟件,以及你收費(fèi)的理由。
4)可自由修改:如果你想添加或刪除某個(gè)功能,沒(méi)問(wèn)題,如果你想在別的項(xiàng)目中使用部分代碼,也沒(méi)問(wèn)題,唯一的要求是,使用了這段代碼的項(xiàng)目也必須使用 GPL 協(xié)議。
需要注意的是,分發(fā)的時(shí)候,需要明確提供源代碼和二進(jìn)制文件,另外,用于某些程序的某些協(xié)議有一些問(wèn)題和限制,使用 GPL 協(xié)議,你必須在源代碼代碼中包含相應(yīng)信息,以及協(xié)議本身。
6、LGPL開源許可協(xié)議
LGPL (GNU Lesser General Public License) :GNU寬通用公共許可協(xié)議
GNU 還有另外一種協(xié)議,叫做 LGPL (Lesser General Public Licence),它對(duì)產(chǎn)品所保留的權(quán)利比 GPL 少,總的來(lái)說(shuō),LGPL 適合那些用于非 GPL 或非開源產(chǎn)品的開源類庫(kù)或框架。因?yàn)?GPL 要求,使用了 GPL 代碼的產(chǎn)品必須也使用 GPL 協(xié)議,開發(fā)者不允許將 GPL 代碼用于商業(yè)產(chǎn)品。LGPL 繞過(guò)了這一限制。
LGPL是GPL的變種,也是GNU為了得到更多的甚至是商用軟件開發(fā)商的支持而提出的。與GPL的最大不同是,它有以下幾個(gè)核心內(nèi)容:
1)可以私有使用LGPL授權(quán)的自由軟件;
2)開發(fā)出來(lái)的新軟件可以是私有的而不需要是自由軟件;
3)任何公司在使用自由軟件之前應(yīng)該保證在LGPL或其它GPL變種的授權(quán)下。
四、學(xué)習(xí)開源許可協(xié)議的意義
通過(guò)對(duì)上面幾種常見(jiàn)的開源許可協(xié)議的學(xué)習(xí),至少我們肯定已經(jīng)打破了【開源就是免費(fèi)】的固化思想,也了解到了【開源并不是簡(jiǎn)簡(jiǎn)單單把源代碼公開而已】。
從上面的分析,我們可以簡(jiǎn)單對(duì)上面6中常見(jiàn)開源許可協(xié)議在寬松到嚴(yán)謹(jǐn)?shù)姆较蜃鰝€(gè)簡(jiǎn)單排序:
MIT > BSD > Apache > LGPL > Mozalla (MPL) > GPL
在今后使用/學(xué)習(xí)一些開源軟件/框架的時(shí)候,多一個(gè)心眼,了解一下它使用的是什么開源許可協(xié)議,如果你想基于這個(gè)開源軟件/框架進(jìn)行一些商業(yè)行為,請(qǐng)務(wù)必了解清楚該開源許可協(xié)議的核心內(nèi)容,以免將來(lái)在版本問(wèn)題上受到法律的制裁。
好了,本期關(guān)于開源許可協(xié)議的介紹就到這里了,感興趣或者有疑問(wèn)的,歡迎留言評(píng)論。謝謝大家。
參考文章:
百度百科開源許可協(xié)議
幾種常見(jiàn)的許可協(xié)議
逐句深扒 Apache 許可協(xié)議原文,一文看懂!
詳細(xì)介紹 MPL (Mozilla Public License) 協(xié)議
幾種開源協(xié)議的比較
?
-
開源
+關(guān)注
關(guān)注
3文章
3368瀏覽量
42567 -
許可協(xié)議
+關(guān)注
關(guān)注
0文章
4瀏覽量
5813 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1293瀏覽量
40228
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論