Linux為什么能成功?
Linux,這個始于1991年由Linus Torvalds開發(fā)的類Unix操作系統(tǒng)內(nèi)核已經(jīng)成為開源世界的中心,人們不禁追問為什么Linux成功了,而包括GNU HURD和BSD在內(nèi)的那么多相似的項目卻失敗了?
自由軟件和開源世界的發(fā)展史中最令人不解的問題之一是為什么Linux取得了如此輝煌的成功,然而其它同樣嘗試打造自由開源、類Unix操作系統(tǒng)內(nèi)核的項目卻沒能那么成功?這個問題難以回答,但我總結(jié)了一些原因,在下面與大家分享。
不過,首先得明確:當(dāng)我談?wù)揕inux是一個巨大的成功時所表達(dá)的含義。我這樣說是相對于其它類Unix操作系統(tǒng)內(nèi)核的,后者中一些是開源的,一些不是,而且它們繁榮發(fā)展的時期是Linux誕生的時期。GNU的HURD,一個發(fā)起于1991年5月的Free(自由)的內(nèi)核,便是其中之一。其它的包括現(xiàn)在大部分人都沒聽說過的Unix,比如由加州大學(xué)伯克利分校開發(fā)出來的BSD的各種各樣Unix衍生版,由微軟主導(dǎo)的Unix系統(tǒng)Xenix,包括Minix在內(nèi)的學(xué)術(shù)版本Unix,和在AT&T贊助下開發(fā)的最初的Unix。在更早的數(shù)十年內(nèi),它對于學(xué)術(shù)界和商業(yè)界的計算發(fā)展至關(guān)重要,但到19世紀(jì)90年代就已經(jīng)幾乎已經(jīng)消失在人們的視野里。
相關(guān)閱讀
開源舊事:黑客文化和黑客倫理的起源追蹤Unix和個人計算機(jī):重新詮釋Linux起源此外,得說明的是,我這里說的是內(nèi)核,而不是完整的操作系統(tǒng)。在很大程度上,Linux內(nèi)核的成功歸功于GNU整個項目。GNU這個項目產(chǎn)生了一套至關(guān)重要的工具,包括編譯器、調(diào)試器和BASH shell的實(shí)現(xiàn),這些對于構(gòu)建一個類Unix操作系統(tǒng)是必需的。但是GNU的開發(fā)者們從沒開發(fā)出一個HURD內(nèi)核的可行版本(盡管他們?nèi)栽诓恍概χ校O喾矗琇inux呈現(xiàn)出來的則是一個將GNU各個部分緊密連接在一起的內(nèi)核,盡管這超出了GNU的初衷。
因此,值得人們?nèi)プ穯枮槭裁碙inux,一個由Linus Torvalds這個芬蘭的無名程序員于1991年——和HURD同一年——發(fā)起的內(nèi)核,能夠經(jīng)受考驗(yàn)并發(fā)展壯大?在當(dāng)時的大環(huán)境下,很多擁有強(qiáng)力商業(yè)支持的、由當(dāng)時炙手可熱的黑客領(lǐng)頭的類Unix內(nèi)核都沒能夠發(fā)展起來。為了說明這個問題,我找到了一些和這個問題相關(guān)的解釋。為此我研究了自由軟件和開源世界的發(fā)展史,和不同解釋的優(yōu)缺點(diǎn)。
Linux采用去中心化的開發(fā)方式這個觀點(diǎn)來源于Eric S. Raymond的文章,“大教堂與市集”和其相關(guān)資料。這些資料驗(yàn)證了一種情形:當(dāng)大量的貢獻(xiàn)者以一種去中心化的組織結(jié)構(gòu)持續(xù)不斷地協(xié)同合作時,軟件開發(fā)的效率最佳。Linux的開發(fā)證明了這一點(diǎn),與之相反的是,比如,GNU HURD采用了一種相對更集中化的方法來管理代碼開發(fā)。其結(jié)果如同Raymond所言,顯然在十年的時間里都沒能成功構(gòu)建出一個完整的操作系統(tǒng)。
在一定程度上,這個解釋有道理,但仍有一些明顯的不足。舉例來說,Torvalds在指導(dǎo)Linux代碼開發(fā)過程中毫無爭議地承擔(dān)起一個更加有權(quán)威的角色,他可以決定接受或拒絕代碼,這一點(diǎn)并非Raymond和其他人所想的那樣。其次,這個觀點(diǎn)不能解釋除了沒能開發(fā)出一個可行的系統(tǒng)內(nèi)核外GNU仍然成功地生產(chǎn)出那么多優(yōu)秀的軟件。如果只有去中心化的開發(fā)方式才能很好地指導(dǎo)開源軟件世界里的項目,那么GNU所有的編程工作都應(yīng)該是徒勞無功的,但事實(shí)并非如此。
Linux是實(shí)用型的,而GNU是空想型的個人而言,我覺得這個說法是最引人注目的,即Linux之所發(fā)展得如此迅速是因?yàn)樗膭?chuàng)建者是一個實(shí)用主義者,他起初只是想寫一個內(nèi)核,使其能夠在他家里的電腦上運(yùn)行一個裁剪過的Unix操作系統(tǒng),而不是成為以改變世界為目標(biāo)的自由軟件的一部分,而后者正是GNU項目的一貫?zāi)繕?biāo)。
然而,這個解釋仍然有一些不能完全讓人信服的地方。特別是,盡管Torvalds本人信奉實(shí)用主義的原則,但無論以前還是現(xiàn)在,并非所有參與到他的項目中的成員都和他一樣信奉這一原則。盡管如此,Linux仍然取得了成功。
而且,如果實(shí)用主義是Linux持續(xù)發(fā)展的關(guān)鍵,那么就要再問一遍:為什么GNU除了沒能開發(fā)出一個內(nèi)核外還是成功地開發(fā)出這么多有用的工具?如果擁有某一種對軟件的堅定政治信仰是追求成功的項目路上的絆腳石,那么GNU早應(yīng)該是一個徹頭徹尾的失敗者,而不會是一個開發(fā)了那么多如今依然為IT世界提供堅實(shí)基礎(chǔ)的優(yōu)秀軟件包的開拓者。
最后(但并不是最不重要),許多誕生于19世紀(jì)80年代末期和90年代初期的Unix變體,尤其是一些BSD分支,都是實(shí)用主義的產(chǎn)物。它們的開發(fā)者們致力于開發(fā)出可以自由分享而不是受到高昂商業(yè)證書限制的Unix變體,但他們對于編程或者共享代碼并非完全局限于意識形態(tài)。Torvalds同樣如此,因此很難說Linux和成功和其它Unix項目的失敗是意識形態(tài)在作怪。
操作系統(tǒng)設(shè)計當(dāng)談到Linux的成功時,不可忽視的是Linux和其它Unix變體之間的諸多技術(shù)差異。Richard Stallman,GNU項目的創(chuàng)始人,在一封給我的電子郵件中解釋了為什么HURD的開發(fā)進(jìn)度頻頻滯后:“GNU Hurd確實(shí)不是一次實(shí)用上的成功。部分原因是它的基本設(shè)計使它像是一個研究項目。(我之所以選擇這樣的設(shè)計,是考慮到這是快速實(shí)現(xiàn)一個可用內(nèi)核的捷徑。)”
就Torvalds獨(dú)自編寫出Linux的所有代碼這點(diǎn)而言,Linux也有別于其它Unix變體。當(dāng)他在1991年8月第一次發(fā)布Linux時他的一個初衷就是擁有一個屬于他自己的Unix,而不用別人的代碼。這點(diǎn)特性使得Linux區(qū)別于同時期的大部分Unix變體,后者一般是從AT&T Unix或伯克利的BSD中衍生出基礎(chǔ)代碼。
我并不是一個計算機(jī)科學(xué)家,所以我沒有資格去評判是否Linux代碼就優(yōu)于其他Unix代碼,以此來解釋Linux的成功。雖然這并不能解釋Linux和其它Unix內(nèi)核在文化和人員上的不同,但這個觀點(diǎn)對我來說解釋得通,因?yàn)樗坪踉诶斫釲inux成功這一點(diǎn)上操作系統(tǒng)設(shè)計比代碼更加重要。
Linux背后的社區(qū)提供了有力支持Stallman也寫到Linux成功的“主要原因”是“Torvalds使Linux成為一個自由軟件,所以相比Hurd有更多來自社區(qū)的支持涌入Linux的發(fā)展中。”但這對于Linux的成長軌跡并非是一個完美的解釋,因?yàn)樗荒苷f明為什么自由軟件的開發(fā)者們追隨了Torvalds而不是HURD或其它某個Unix,但它仍然點(diǎn)明了這種變化是Linux盛行的很大一部分原因。
對于自由軟件社區(qū)決定支持Linux有一個更全面的理由可以用來解釋為什么開發(fā)者們這么做。起初,Linux只是一個默默無聞的小項目,以任何標(biāo)準(zhǔn)來衡量,它比同時期其它的一些嘗試創(chuàng)建一個更加自由的Unix,比如NET BSD和386/BSD,都要顯得微不足道。同樣,最初并不清楚Linux和自由軟件運(yùn)動的目標(biāo)是否一致。創(chuàng)建伊始,Torvalds只是在一份防止Linux不被商業(yè)使用的證書下發(fā)布了Linux。至于后來他為了保護(hù)源代碼的開放性轉(zhuǎn)向使用GNU的通用公開證書則是后話了。
所以,這些就是我所找到的Linux作為一個開源操作系統(tǒng)之所以取得成功的解釋,可以肯定Linux的成就在某些方面(但比如桌面版的Linux從未成為它的支持者希望成為的樣子)已經(jīng)是可以衡量的成功。總之,Linux業(yè)已與其它任何類Unix操作系統(tǒng)不同的方式成為了計算機(jī)世界的基石。也許源于BSD的蘋果公司的OS X和iOS系統(tǒng)也很接近這一點(diǎn),但它們沒有在其它方面像Linux影響互聯(lián)網(wǎng)一樣扮演著如此重要的中心角色。
對于為什么Linux能成為現(xiàn)在的樣子,或者為什么它在Unix世界的競爭對手們幾乎全部變得默默無聞的問題,你有其它的想法嗎?如果有,我很樂意聽到你的想法。(誠然,BSD的變體如今仍有一批追隨者,而一些商用的Unix對于Red Hat(RHT)為他們的用戶提供支持來說也仍然十分重要。但這些Unix中沒有一個能夠像Linux一樣幾乎征服了從Web服務(wù)器到智能手機(jī)的每一個領(lǐng)域。)
via: thevarguy.com 翻譯:linux.cn
相關(guān)文章:
1. fxksmdb.exe 是什么進(jìn)程 fxksmdb.exe可以關(guān)閉嗎2. 統(tǒng)信UOS個人版(V201030)正式發(fā)布 新增功能匯總3. 錄屏怎么保存gif動圖? UOS錄屏生成Gif動畫的技巧4. Win10電腦制作定時關(guān)機(jī)代碼bat文件教程5. Win10提示無法正常啟動你的電腦錯誤代碼0xc0000001的解決辦法6. 華為筆記本如何重裝系統(tǒng)win10?華為筆記本重裝Win10系統(tǒng)步驟教程7. Win10莫名其妙自動安裝軟件怎么辦?Win10禁止電腦自動安裝軟件教程8. 怎么刪除Win11中的臨時文件?Win11刪除臨時文件的兩種方法9. Win10專業(yè)版激活密鑰及激活教程10. WmiPrvSE.exe是什么進(jìn)程?WMI Provider Host占用很高CPU的解決方法
