1.14 開源協(xié)議是什么?有哪些?如何選擇?
開源協(xié)議規(guī)定了你在使用開源軟件時(shí)的權(quán)利和責(zé)任,也就是規(guī)定了你可以做什么,不可以做什么。
開源協(xié)議雖然不一定具備法律效力,但是當(dāng)涉及軟件版權(quán)糾紛時(shí),開源協(xié)議也是非常重要的證據(jù)之一。
對(duì)于準(zhǔn)備編寫一款開源軟件的開發(fā)人員,也非常建議先了解一下當(dāng)前最熱門的開源許可協(xié)議,選擇一個(gè)合適的開源許可協(xié)議來(lái)最大限度保護(hù)自己的軟件權(quán)益。
1) GNU GPL(GNU General Public License,GNU通用公共許可證)
只要軟件中包含了遵循 GPL 協(xié)議的產(chǎn)品或代碼,該軟件就必須也遵循 GPL 許可協(xié)議,也就是必須開源免費(fèi),不能閉源收費(fèi),因此這個(gè)協(xié)議并不適合商用軟件。
遵循 GPL 協(xié)議的開源軟件數(shù)量極其龐大,包括 Linux 系統(tǒng)在內(nèi)的大多數(shù)的開源軟件都是基于這個(gè)協(xié)議的。
2) BSD(Berkeley Software Distribution,伯克利軟件發(fā)布版)協(xié)議
BSD 協(xié)議基本上允許用戶“為所欲為”,用戶可以使用、修改和重新發(fā)布遵循該許可的軟件,并且可以將軟件作為商業(yè)軟件發(fā)布和銷售,前提是需要滿足下面三個(gè)條件:
如果再發(fā)布的軟件中包含源代碼,則源代碼必須繼續(xù)遵循 BSD 許可協(xié)議。
如果再發(fā)布的軟件中只有二進(jìn)制程序,則需要在相關(guān)文檔或版權(quán)文件中聲明原始代碼遵循了 BSD 協(xié)議。
BSD 對(duì)商業(yè)比較友好,很多公司在選用開源產(chǎn)品的時(shí)候都首選 BSD 協(xié)議,因?yàn)榭梢酝耆刂七@些第三方的代碼,甚至在必要的時(shí)候可以修改或者二次開發(fā)。
3) Apache 許可證版本(Apache License Version)協(xié)議
Apache 和 BSD 類似,都適用于商業(yè)軟件。Apache 協(xié)議在為開發(fā)人員提供版權(quán)及專利許可的同時(shí),允許用戶擁有修改代碼及再發(fā)布的自由。
現(xiàn)在熱門的 Hadoop、Apache HTTP Server、MongoDB 等項(xiàng)目都是基于該許可協(xié)議研發(fā)的,程序開發(fā)人員在開發(fā)遵循該協(xié)議的軟件時(shí),要嚴(yán)格遵守下面的四個(gè)條件:
該軟件及其衍生品必須繼續(xù)使用 Apache 許可協(xié)議。
如果修改了程序源代碼,需要在文檔中進(jìn)行聲明。
如果再發(fā)布的軟件中有聲明文件,則需在此文件中標(biāo)注 Apache 許可協(xié)議及其他許可協(xié)議。
4) MIT(Massachusetts Institute of Technology)協(xié)議
使用 MIT 協(xié)議的軟件有 PuTTY、X Window System、Ruby on Rails、Lua 5.0 onwards、Mono 等。
5) GUN LGPL(GNU Lesser General Public License,GNU 寬通用公共許可證)
LGPL 是 GPL 的一個(gè)衍生版本,也被稱為 GPL V2,該協(xié)議主要是為類庫(kù)設(shè)計(jì)的開源協(xié)議。
LGPL 允許商業(yè)軟件通過(guò)類庫(kù)引用(link)的方式使用 LGPL 類庫(kù),而不需要開源商業(yè)軟件的代碼。這使得采用 LGPL 協(xié)議的開源代碼可以被商業(yè)軟件作為類庫(kù)引用并發(fā)布和銷售。
但是如果修改 LGPL 協(xié)議的代碼或者衍生品,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協(xié)議。因此LGPL協(xié)議的開源代碼很適合作為第三方類庫(kù)被商業(yè)軟件引用,但不適合希望以 LGPL 協(xié)議代碼為基礎(chǔ),通過(guò)修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。
如何選擇開源協(xié)議
世界上的開源協(xié)議有上百種(有興趣的讀者請(qǐng)猛擊這里了解),很少有人能徹底搞清它們之間的區(qū)別,即使在最流行的六種開源協(xié)議——GPL、BSD、MIT、Mozilla、Apache 和 LGPL——之中做選擇,也很復(fù)雜。
烏克蘭程序員 Paul Bagwell 畫了一張分析圖,說(shuō)明應(yīng)該怎么選擇開源協(xié)議,大家看了一目了然,真是清爽。
圖片來(lái)自于阮一峰博客:如何選擇開源協(xié)議
Apache TCP/IP
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。