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