當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 嵌入式學(xué)習(xí):開源與閉源
開源指的是那些源代碼或源設(shè)計(jì)可以被大眾使用、修改發(fā)行的軟件或設(shè)計(jì)體,閉源就是不開放源代碼。
Linux 無疑是開源軟件里最最成功的一個(gè),不管是從它目前的生態(tài)建設(shè)角度,還是從業(yè)界評(píng)價(jià)來看,包括今天云計(jì)算的基礎(chǔ)也都倚賴Linux的貢獻(xiàn)和基石。當(dāng)然,像OpenStack、Hadoop 、Spark等也非常成功,這些開源項(xiàng)目都屬于底層技術(shù),在支撐今天整個(gè)大數(shù)據(jù)、云計(jì)算的發(fā)展。
開源并不意味著免費(fèi),開源只是說我們做了一個(gè)好東西,把它開放給大家使用,目的是希望大家更多地使用它,并反饋使用過程中的問題或者改進(jìn)方式,使得整個(gè)開源項(xiàng)目進(jìn)步得更快,能夠更好地共享給更多有需要的人,目前像 Linux、Hadoop、Spark等等,都是這么做的。但很多時(shí)候開源背后還是帶有很濃厚的商業(yè)背景。
做得比較大的開源項(xiàng)目背后都有商業(yè)公司在支撐,如果一個(gè)成功的開源項(xiàng)目背后沒有商業(yè)公司,這是不健康的,我們需要開源和商業(yè)之間的互補(bǔ)對(duì)稱來促進(jìn)整個(gè)社區(qū)和技術(shù)的不斷前進(jìn)答,這是一方面。
另一方面,從開源用戶的角度來看,“開源是不是免費(fèi)的”其實(shí)也是一個(gè)偽命題(這里的用戶指的是所有使用開源產(chǎn)品的企業(yè)或者個(gè)人)。開源看上去是不需要花版權(quán)的錢,但其實(shí)企業(yè)用戶招聘合適的開發(fā)人員、運(yùn)維人員把這個(gè)事情做完,成本可能比買商業(yè)版本更高。
從商業(yè)價(jià)值的角度來說,開源毋庸置疑已經(jīng)是基礎(chǔ)技術(shù)領(lǐng)域的必然趨勢,沒有開源的基礎(chǔ)技術(shù)是沒有生命力的,因?yàn)樗茈y被廣泛使用。在商業(yè)上,一個(gè)開源項(xiàng)目被大范圍使用后,可以使得整個(gè)技術(shù)升級(jí)換代成熟起來變得非常迅速,過去可能要經(jīng)過三年、五年、甚至十年的時(shí)間去進(jìn)化,因?yàn)殚_源的力量,在短短幾個(gè)月內(nèi)可能就完成了。從另外一個(gè)角度來說,開源的壯大又會(huì)反哺支撐商業(yè),畢竟還有很多客戶都是希望獲得商業(yè)的支持和價(jià)值。
對(duì)于開發(fā)者來說,開源與不開源很大的一個(gè)區(qū)別在于,你是一個(gè)孤軍奮戰(zhàn)的人,還是一個(gè)可以跟全世界最優(yōu)秀的開發(fā)者在一起的人。因?yàn)槿绻阕鲆粋(gè)閉門的項(xiàng)目,你所能夠溝通的、接觸的資源受應(yīng)用場景的限制,會(huì)非常有限。但如果你是做開源項(xiàng)目,不管你是自己領(lǐng)導(dǎo)開源還是參與開源,你都可以和全世界最優(yōu)秀的開發(fā)人員一起來玩技術(shù),一起在社區(qū)探討交流,這樣對(duì)于自己的成長是飛速的
我們想象一下一項(xiàng)任務(wù)的開發(fā)如果沒有開源的話,想要讓這個(gè)系統(tǒng)的所有的功能得以實(shí)現(xiàn)這整個(gè)過程都是要由等著它的開發(fā)廠商自己來解決的。而系統(tǒng)中自己產(chǎn)生的一些BUG,也只能等著開發(fā)廠商來修復(fù),如果開發(fā)廠商本身沒有發(fā)現(xiàn),這些BUG就會(huì)永遠(yuǎn)的存在。
所以由此看來開源和不開源的區(qū)別還是非常大的,它的作用也是很大的,開源最大的魅力就在于不依賴于某個(gè)廠商,大眾都可以修改代碼以滿足自己的需要,千萬個(gè)“自己的需要”就匯聚成了偉大的產(chǎn)品,任何違背這個(gè)理念的開源都是“偽開源”。
開源不是簡單的公布源代碼,如果有個(gè)人將自己開發(fā)的一款源代碼公布到網(wǎng)上之后,并沒有通過git、svn等把源碼管理起來,而且之后的修改匯總管理也是無人問津的,只能是提供對(duì)這個(gè)軟件感興趣的人進(jìn)行下載,然后自己在做進(jìn)一步的修改,讓自己用,這樣沒有做出貢獻(xiàn)的開源,就失去了開源背身的價(jià)值。