几种开源软件授权协议
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
Open Source Initiative (http://opensource.org)?組織通過批準(zhǔn)的開源協(xié)議目前有58種。
我們?cè)诔R姷拈_源協(xié)議如GPL, LGPL, BSD,?MIT等都是OSI批準(zhǔn)的協(xié)議。
如果要開源自己的代碼,最好也是選擇這些被批準(zhǔn)的開源協(xié)議。
Translated from?http://opensource.org/licenses/
GPL (GNU General Public License)
Licence:?http://opensource.org/licenses/gpl-2.0.php
GPL的出發(fā)點(diǎn)是代碼的開源/免費(fèi)使用和引用/修改/衍生代碼的開源/免費(fèi)使用,但不允許修改后和衍生的代碼做為閉源的商業(yè)軟件發(fā)布和銷售。
這也就是為什么我們能用免費(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嚴(yán)格要求使用了GPL類庫的軟件產(chǎn)品必須使用GPL協(xié)議,對(duì)于使用GPL協(xié)議的開源代碼,商業(yè)軟件或者對(duì)代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發(fā)的基礎(chǔ)。
我使用的一些GPL開源軟件:Linux, OpenJDK, GCC, WordPress
LGPL (GNU Lesser General Public License)
Licence:?http://opensource.org/licenses/LGPL-3.0
它對(duì)作品的使用保留了更少的權(quán)利。通常,LGPL適用于一些類庫,它允許這些類庫能夠被非GPL或非開源軟件引用。因?yàn)镚PL要求,要想使用GPL保護(hù)下的代碼,你必須把你的軟件也置于GPL協(xié)議之下。開發(fā)者不能夠在商業(yè)的和具有私有權(quán)的軟件里使用GPL協(xié)議下的程序。而LGPL放棄了這些限制,它不要求其它程序也必須使用相同的協(xié)議才能使用這些代碼程序。
我使用的一些LGPL開源軟件:QWT, Lomboz, MySQL Connector
MPL License(Mozilla Public License)?
Licence:?http://opensource.org/licenses/mit-license.php
這種授權(quán)維護(hù)了商業(yè)軟件的利益,它要求基于這種軟件的修改無償貢獻(xiàn)版權(quán)給該軟件。這樣,圍繞該軟件的所有代碼的版權(quán)都集中在發(fā)起開發(fā)人得手中。但MPL是允許修改,無償使用的。
MPL軟件對(duì)鏈接沒有要求。假如你修改了一個(gè)基于MPL協(xié)議的源代碼,則必須列入或公開你所做的修改,假如其他源代碼不是基于MPL則不需要公開其源代碼。
我使用的一些MPL開源軟件:Firefox Addin, MapWindow
BSD
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é)議。
BSD 協(xié)議有很多分支,有兩個(gè)版本格外的重要:
新BSD協(xié)議/修訂版BSD協(xié)議?http://opensource.org/licenses/BSD-3-Clause
簡(jiǎn)化BSD 協(xié)議/FreeBSD協(xié)議?http://opensource.org/licenses/BSD-2-Clause
新BSD協(xié)議("3-clause license")無任何限制的允許你以任何目的二次分發(fā)這種軟件,唯一的要求是必須保留拷貝權(quán)的聲明和協(xié)議里的軟件權(quán)利放棄條款。這種協(xié)議還有一個(gè)限制,未經(jīng)許可不得使用這個(gè)作品的所有曾經(jīng)捐助者的署名。新BSD協(xié)議和簡(jiǎn)化BSD協(xié)議的最主要的區(qū)別是后者刪除了署名條款。
我使用的一些BSD開源軟件:FreeBSD
MIT (MIT)
Licence:?http://opensource.org/licenses/MIT
MIT是和BSD一樣寬范的許可協(xié)議,作者只想保留版權(quán),而無任何其他了限制。也就是說,你必須在你的發(fā)行版里包含原許可協(xié)議的聲明,無論你是以二進(jìn)制發(fā)布的還是以源代碼發(fā)布的。
這種協(xié)議最基本的條款:
我使用的一些MIT開源軟件:Putty, JQuery, Emacs
Apache Licence
Licence:?http://www.apache.org/licenses/LICENSE-2.0
Apache Licence是著名的非盈利開源組織Apache http://apache.org/?采用的協(xié)議。
1、需要給代碼的用戶一份Apache Licence。
2、如果你修改了代碼,需要在被修改的文件中說明。
3、在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標(biāo),專利聲明和其他原來作者規(guī)定需要包含的說明。
4、如果在發(fā)布的產(chǎn)品中包含一個(gè)Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現(xiàn)為對(duì)Apache Licence構(gòu)成更改。
Apache Licence也是對(duì)商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時(shí)候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。
我使用的一些Apache Licence開源軟件:Ant, Hadoop, Camel, Karaf ...... Apache is my favorite open source foundation.
轉(zhuǎn)載于:https://my.oschina.net/xiangchen/blog/97295
總結(jié)
以上是生活随笔為你收集整理的几种开源软件授权协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle RAC更改VIP IP地址
- 下一篇: 函数重载二义性:error C2668: