Linux學(xué)習(xí)之路-開源許可證

GPL、BSD、MIT、Mozilla、Apache和LGPL的區(qū)別

image.png

BSD許可證(https://en.wikipedia.org/wiki/BSD_licenses

BSD開源協(xié)議是一個(gè)給于使用者很大自由的協(xié)議?;旧鲜褂谜呖梢浴睘樗麨椤?,可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。

但”為所欲為”的前提當(dāng)你發(fā)布使用了BSD協(xié)議的代碼,或則以BSD協(xié)議代碼為基礎(chǔ)做二次開發(fā)自己的產(chǎn)品時(shí),需要滿足三個(gè)條件:

1.如果再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議。
2.如果再發(fā)布的只是二進(jìn)制類庫/軟件,則需要在類庫/軟件的文檔和版權(quán)聲明中包含原來代碼中的BSD協(xié)議。
3.不可以用開源代碼的作者、機(jī)構(gòu)名字和原來產(chǎn)品的名字做市場(chǎng)推廣。
BSD 代碼鼓勵(lì)代碼共享,但需要尊重代碼作者的著作權(quán)。BSD由于允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布和銷售,因此是對(duì)商業(yè)集成很友好的協(xié)議。而很多的公司企業(yè)在選用開源產(chǎn)品的時(shí)候都首選BSD協(xié)議,因?yàn)榭梢酝耆刂七@些第三方的代碼,在必要的時(shí)候可以修改或者二次開發(fā)。

2.MIT許可證(https://opensource.org/licenses/MIT

MIT是和BSD一樣寬范的許可協(xié)議。你必須在你的發(fā)行版里包含原許可協(xié)議的聲明,無論你是以二進(jìn)制發(fā)布的還是以源代碼發(fā)布的。作者只想保留版權(quán),而無任何其他了限制,較BSD協(xié)議寬松。

一般使用 MIT 授權(quán)的項(xiàng)目,需在源文件頭部增加以下內(nèi)容:

Copyright [yyyy] [name of copyright owner]. All rights reserved.

//[yyyy] 表示該源文件創(chuàng)建的年份。緊隨其后的是 [name of copyright owner],即版權(quán)所有者。如果為個(gè)人項(xiàng)目,就寫個(gè)人名稱;若為團(tuán)隊(duì)項(xiàng)目,則宜寫團(tuán)隊(duì)名稱。

3.Apache許可證(http://www.apache.org/licenses/LICENSE-2.0

Apache Licence是著名的非盈利開源組織Apache采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵(lì)代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開源或商業(yè)軟件)。需要滿足的條件也和BSD類似:

1.需要給代碼的用戶一份Apache Licence;
2.如果你修改了代碼,需要再被修改的文件中說明。
在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標(biāo),專利聲明和其他原來作者規(guī)定需要包含的說明。
3.如果再發(fā)布的產(chǎn)品中包含一個(gè)Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現(xiàn)為對(duì)Apache Licence構(gòu)成更改。
4.Apache Licence也是對(duì)商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時(shí)候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。

該許可證要求在所有的源文件中的頭部放置以下內(nèi)容才能算協(xié)議對(duì)該文件有效:

Copyright [yyyy] [name of copyright owner]

//[yyyy] 表示該源文件創(chuàng)建的年份。緊隨其后的是 [name of copyright owner],即版權(quán)所有者。如果為個(gè)人項(xiàng)目,就寫個(gè)人名稱;若為團(tuán)隊(duì)項(xiàng)目,則宜寫團(tuán)隊(duì)名稱。

4.GPL許可證(https://www.apache.org/licenses/LICENSE-2.0

1980,一個(gè)叫Richard Stallman的美國(guó)人因?yàn)闊o法容忍軟件私有化,而建立了GPL許可證。他認(rèn)為,軟件的源代碼是全人類的財(cái)富,應(yīng)該允許程序員自由共享。

GPL許可證的核心含義是:允許任何人觀看、修改,并散播程序軟件里的原始程序碼,條件是如果你要發(fā)布修改后的版本就要連源代碼一起公布,不允許修改后和衍生的代碼做為閉源的商業(yè)軟件發(fā)布和銷售。Linux就是采用了GPL協(xié)議,這也就是為什么我們能用免費(fèi)的各種linux,包括商業(yè)公司的linux和linux上各種各樣的由個(gè)人,組織,以及商業(yè)軟件公司開發(fā)的免費(fèi)軟件了。

GPL協(xié)議的主要內(nèi)容是只要在一個(gè)軟件中使用(”使用”指類庫引用,修改后的代碼或者衍生代碼)GPL 協(xié)議的產(chǎn)品,則該軟件產(chǎn)品必須也采用GPL協(xié)議,即必須也是開源和免費(fèi)。這就是所謂的”傳染性”。GPL協(xié)議的產(chǎn)品作為一個(gè)單獨(dú)的產(chǎn)品使用沒有任何問題,還可以享受免費(fèi)的優(yōu)勢(shì)。

由于GPL嚴(yán)格要求使用了GPL類庫的軟件產(chǎn)品必須使用GPL協(xié)議,對(duì)于使用GPL協(xié)議的開源代碼,商業(yè)軟件或者對(duì)代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發(fā)的基礎(chǔ)。

5.LGPL許可證(http://opensource.org/licenses/lgpl-license

LGPL 允許以動(dòng)態(tài)鏈接使用開源庫。采用LGPL的代碼,一般情況下它本身就是一個(gè)第三方庫(LGPL最早的名字就是Library GPL),這時(shí)候開發(fā)人員僅僅用到了它的功能,而沒有對(duì)庫本身進(jìn)行任何修改,那么開發(fā)人員也不必公布自己的商業(yè)源代碼。但是如果修改LGPL協(xié)議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須開源,并且采用LGPL協(xié)議。

6.Mozilla許可證(https://www.mozilla.org/en-US/

Mozilla公共許可證(英語:Mozilla Public License,簡(jiǎn)稱MPL) 允許免費(fèi)重發(fā)布、免費(fèi)修改,但要求修改后的代碼版權(quán)歸軟件的發(fā)起者。要求所有再發(fā)布者都得有一個(gè)專門的文件就對(duì)源代碼程序修改的時(shí)間和修改的方式有描述。允許一個(gè)企業(yè)在自己已有的源代碼庫上加一個(gè)接口,除了接口程序的源代碼以MPL 許可證的形式對(duì)外許可外,源代碼庫中的源代碼就可以不用MPL許可證的方式強(qiáng)制對(duì)外許可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容