玩編程,開源協(xié)議不懂可不行!
今天和大家分享一些開源協(xié)議的知識。這些協(xié)議縮寫詞在各種代碼、文檔中隨處可見,比如
GPL
、BSD
、MIT
、Mozilla
、Apache
和LGPL
等等。開源協(xié)議的作用
開源協(xié)議規(guī)定了你在使用開源軟件時的權(quán)利和責(zé)任,也就是規(guī)定了你可以做什么,不可以做什么。開源協(xié)議雖然不一定具備法律效力,但是當(dāng)涉及軟件版權(quán)糾紛時,開源協(xié)議也是非常重要的證據(jù)之一。對于準(zhǔn)備編寫一款開源軟件的開發(fā)人員,也非常建議先了解一下當(dāng)前最熱門的開源許可協(xié)議,選擇一個合適的開源許可協(xié)議來最大限度保護(hù)自己的軟件權(quán)益。如何選擇開源協(xié)議
世界上的開源許可證(Open Source License)大概有上百種,今天我們來介紹下幾種我們常見的開源協(xié)議。大致有GPL
、BSD
、MIT
、Mozilla
、Apache
和LGPL
這6種。詳細(xì)介紹常用開源協(xié)議
GNU GPL協(xié)議
GNU General Public License
,GNU通用公共許可證)。只要軟件中包含了遵循 GPL 協(xié)議的產(chǎn)品或代碼,該軟件就必須也遵循 GPL 許可協(xié)議,也就是必須開源免費,不能閉源收費,因此這個協(xié)議并不適合商用軟件。遵循 GPL 協(xié)議的開源軟件數(shù)量極其龐大,包括 Linux 系統(tǒng)在內(nèi)的大多數(shù)的開源軟件都是基于這個協(xié)議的。BSD協(xié)議
Berkeley Software Distribution
,伯克利軟件發(fā)布版)協(xié)議。BSD 協(xié)議給予用戶極大的權(quán)利,用戶可以使用、修改和重新發(fā)布遵循該許可的軟件,并且可以將軟件作為商業(yè)軟件發(fā)布和銷售,前提是需要滿足下面三個條件:- 如果再發(fā)布的軟件中包含源代碼,則源代碼必須繼續(xù)遵循 BSD 許可協(xié)議。
- 如果再發(fā)布的軟件中只有二進(jìn)制程序,則需要在相關(guān)文檔或版權(quán)文件中聲明原始代碼遵循了 BSD 協(xié)議。
- 不允許用原始軟件的名字、作者名字或機構(gòu)名稱等進(jìn)行市場推廣。
Apache 協(xié)議
MIT協(xié)議
MIT協(xié)議具體為(Massachusetts Institute of Technology
)協(xié)議,又稱「X條款」或「X11條款」。目前限制最少的開源許可協(xié)議之一(比 BSD 和 Apache 的限制都少),只要程序的開發(fā)者在修改后的源代碼中保留原作者的許可信息即可,因此普遍被商業(yè)軟件所使用。使用 MIT 協(xié)議的軟件有 PuTTY、X Window System、Ruby on Rails、Lua 5.0 onwards、Mono 等。GUN LGPL協(xié)議
GUN LGPL協(xié)議具體是(GNU Lesser General Public License
,GNU 寬通用公共許可證)。LGPL 是 GPL 的一個衍生版本,也被稱為 GPL V2,該協(xié)議主要是為類庫設(shè)計的開源協(xié)議。LGPL 允許商業(yè)軟件通過類庫引用(link)的方式使用 LGPL 類庫,而不需要開源商業(yè)軟件的代碼。這使得采用 LGPL 協(xié)議的開源代碼可以被商業(yè)軟件作為類庫引用并發(fā)布和銷售。但是如果修改 LGPL 協(xié)議的代碼或者衍生品,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協(xié)議。因此LGPL協(xié)議的開源代碼很適合作為第三方類庫被商業(yè)軟件引用,但不適合希望以 LGPL 協(xié)議代碼為基礎(chǔ),通過修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。END
來源:玩轉(zhuǎn)嵌入式版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。
▍