0.3 開(kāi)源共享精神

2023-05-09 17:12 更新

簡(jiǎn)單來(lái)說(shuō),開(kāi)源軟件的特點(diǎn)就是把軟件程序與源代碼文件一起打包提供給用戶,讓用戶在不受限制地使用某個(gè)軟件功能的基礎(chǔ)上還可以按需進(jìn)行修改,或編制成衍生產(chǎn)品再發(fā)布出去。用戶具有使用自由、修改自由、重新發(fā)布自由以及創(chuàng)建衍生品的自由。這也正好符合了黑客和極客對(duì)自由的追求,因此國(guó)內(nèi)外開(kāi)源社區(qū)的根基都很龐大,人氣也相當(dāng)高。

坦白來(lái)講,每位投身于Linux行業(yè)的技術(shù)人或者程序員只要聽(tīng)到開(kāi)源項(xiàng)目就會(huì)由衷地感到自豪,這是一種從骨子里帶有的獨(dú)特情懷。開(kāi)源的企業(yè)不單純是為了利益,而是互相扶持,努力服務(wù)好更多的用戶。開(kāi)源軟件最重要的特性有下面這些。

  • 低風(fēng)險(xiǎn):使用閉源軟件無(wú)疑把命運(yùn)交付給他人,一旦封閉的源代碼沒(méi)有人來(lái)維護(hù),你將進(jìn)退維谷;而且相較于商業(yè)軟件公司,開(kāi)源社區(qū)很少存在倒閉的問(wèn)題。

  • 高品質(zhì):相較于閉源軟件產(chǎn)品,開(kāi)源項(xiàng)目通常是由開(kāi)源社區(qū)來(lái)研發(fā)及維護(hù)的,參與編寫、維護(hù)、測(cè)試的用戶量眾多,一般的bug還沒(méi)有等爆發(fā)就已經(jīng)被修補(bǔ)。

  • 低成本:開(kāi)源工作者都是在幕后默默且無(wú)償?shù)馗冻鰟趧?dòng)成果,為美好的世界貢獻(xiàn)一份力量,因此使用開(kāi)源社區(qū)推動(dòng)的軟件項(xiàng)目可以節(jié)省大量的人力、物力和財(cái)力。

  • 更透明:沒(méi)有哪個(gè)笨蛋會(huì)把木馬、后門等放到開(kāi)放的源代碼中,這樣無(wú)疑是把自己的罪行暴露在陽(yáng)光之下。

但是,如果開(kāi)源軟件為了單純追求“自由”而犧牲程序員的利益,這將會(huì)影響程序員的創(chuàng)造激情,因此世界上現(xiàn)在有60多種被開(kāi)源促進(jìn)組織(Open Source Initiative)認(rèn)可的開(kāi)源許可協(xié)議來(lái)保證開(kāi)源工作者的權(quán)益。對(duì)于那些只知道一味抄襲、篡改、破解或者盜版他人作品的不法之徒,終歸會(huì)在某一天收到法院的傳票。對(duì)于準(zhǔn)備編寫一款開(kāi)源軟件的開(kāi)發(fā)人員,也非常建議先了解一下當(dāng)前最熱門的開(kāi)源許可協(xié)議,選擇一個(gè)合適的開(kāi)源許可協(xié)議來(lái)最大限度保護(hù)自己的軟件權(quán)益。

GNU GPLGNU General Public License,GNU通用公共許可證):只要軟件中包含了遵循GPL協(xié)議的產(chǎn)品或代碼,該軟件就必須也遵循GPL許可協(xié)議且開(kāi)源、免費(fèi),因此這個(gè)協(xié)議并不適合商用軟件。遵循該協(xié)議的開(kāi)源軟件數(shù)量極其龐大,包括Linux系統(tǒng)在內(nèi)的大多數(shù)的開(kāi)源軟件都是基于這個(gè)協(xié)議的。GPL開(kāi)源許可協(xié)議最大的4個(gè)特點(diǎn)如下所示。

  • 復(fù)制自由:允許把軟件復(fù)制到任何人的電腦中,并且不限制復(fù)制的數(shù)量。

  • 傳播自由:允許軟件以各種形式進(jìn)行傳播。

  • 收費(fèi)傳播:允許在各種媒介上出售該軟件,但必須提前讓買家知道這個(gè)軟件是可以免費(fèi)獲得的;因此,一般來(lái)講,開(kāi)源軟件都是通過(guò)為用戶提供有償服務(wù)的形式來(lái)盈利的。

  • 修改自由:允許開(kāi)發(fā)人員增加或刪除軟件的功能,但軟件修改后必須依然基于GPL許可協(xié)議授權(quán)。

BSDBerkeley Software Distribution,伯克利軟件發(fā)布版)許可協(xié)議:用戶可以使用、修改和重新發(fā)布遵循該許可的軟件,并且可以將軟件作為商業(yè)軟件發(fā)布和銷售,前提是需要滿足下面3個(gè)條件。

  1. 如果再發(fā)布的軟件中包含源代碼,則源代碼必須繼續(xù)遵循BSD許可協(xié)議。

  1. 如果再發(fā)布的軟件中只有二進(jìn)制程序,則需要在相關(guān)文檔或版權(quán)文件中聲明原始代碼遵循了BSD協(xié)議。

  1. 不允許用原始軟件的名字、作者名字或機(jī)構(gòu)名稱進(jìn)行市場(chǎng)推廣。

Apache許可證版本(Apache License Version)許可協(xié)議:在為開(kāi)發(fā)人員提供版權(quán)及專利許可的同時(shí),允許用戶擁有修改代碼及再發(fā)布的自由。該許可協(xié)議適用于商業(yè)軟件,現(xiàn)在熱門的Hadoop、Apache HTTP Server、MongoDB等項(xiàng)目都是基于該許可協(xié)議研發(fā)的,程序開(kāi)發(fā)人員在開(kāi)發(fā)遵循該協(xié)議的軟件時(shí),要嚴(yán)格遵守下面的4個(gè)條件。

  1. 該軟件及其衍生品必須繼續(xù)使用Apache許可協(xié)議。

  1. 如果修改了程序源代碼,需要在文檔中進(jìn)行聲明。

  1. 若軟件是基于他人的源代碼編寫而成的,則需要保留原始代碼的協(xié)議、商標(biāo)、專利聲明及其他原作者聲明的內(nèi)容信息。

  1. 如果再發(fā)布的軟件中有聲明文件,則需在此文件中標(biāo)注Apache許可協(xié)議及其他許可協(xié)議。

MPLMozilla Public License,Mozilla公共許可)許可協(xié)議:相較于GPL許可協(xié)議,MPL更加注重對(duì)開(kāi)發(fā)者的源代碼需求和收益之間的平衡。

MITMassachusetts Institute of Technology)許可協(xié)議:目前限制最少的開(kāi)源許可協(xié)議之一,只要程序的開(kāi)發(fā)者在修改后的源代碼中保留原作者的許可信息即可,因此普遍被商業(yè)軟件所使用。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)