Linux:一位猫奴的意外逆袭
作者:Vamei,嚴(yán)禁任何形式轉(zhuǎn)載。
?
1991年年中,林納斯·托瓦茲(Linus Torvalds)在自己房間里敲著鍵盤。他全神貫注地盯著14寸的黑色屏幕,都沒感覺到自己的小貓Randi在扒自己的褲腿。
Linus Torvalds
這臺(tái)電腦價(jià)格高達(dá)3500美元,對(duì)于任何一個(gè)芬蘭家庭來說都是奢侈品。更何況,托瓦茲的父母沒有太多閑錢來贊助兒子。托瓦茲把獎(jiǎng)學(xué)金和零用錢加在一起,付了電腦三分之二的錢。剩下的三分之一,要在接下來的三年里分期支付。拿到電腦之后,托瓦茲連著幾個(gè)月都耗在上面。不過,托瓦茲的母親對(duì)此并沒有太大意見,只是偶爾會(huì)提醒托瓦茲吃飯。倒是妹妹薩拉會(huì)在隔壁咆哮,逼著正在撥號(hào)上網(wǎng)的哥哥讓出電話線。
由于父母早年離異,所以托瓦茲大部分時(shí)間都是跟著母親長(zhǎng)大的。他的外公是一位統(tǒng)計(jì)學(xué)教授,因此有一臺(tái)工作用的Commodore電腦。這個(gè)品牌的電腦和BBC Micro一樣,都曾在歐洲流行。不知是為了培養(yǎng)外孫,還是純粹的偷懶,外公經(jīng)常會(huì)口述程序,讓托瓦茲敲入到電腦里。年幼的托瓦茲很快發(fā)現(xiàn),這個(gè)其貌不揚(yáng)的“盒子”并不介意用戶是個(gè)兒童。只要輸入程序,電腦就會(huì)根據(jù)指令工作,不多也不少。除了服兵役的那將近一年的時(shí)間,托瓦茲把大部分時(shí)間都花在電腦編程上。進(jìn)了赫爾辛基大學(xué)時(shí),托瓦茲已經(jīng)有了豐富的編程經(jīng)驗(yàn)。
托瓦茲寫了一個(gè)終端模擬程序。通過這個(gè)程序,托瓦茲可以通過電話線連接到學(xué)校機(jī)房的電腦,再通過機(jī)房的電腦在互聯(lián)網(wǎng)上收發(fā)郵件。在90年代初,電子郵件還是少數(shù)“極客”才能玩得轉(zhuǎn)的高科技,一般人甚至不知道電子郵件是什么。因此,當(dāng)托瓦茲向妹妹展示終端模擬器時(shí),薩拉一臉茫然,完全不知道哥哥在拽什么。托瓦茲很難向妹妹解釋清楚這個(gè)程序厲害的地方。這個(gè)程序是用匯編語言寫的,可以直接和電腦硬件互動(dòng)。換句話說,對(duì)于一臺(tái)沒有安裝類似Windows這樣的操作系統(tǒng)的電腦,托瓦茲可以讓它運(yùn)行《魔獸爭(zhēng)霸》。當(dāng)然,托瓦茲實(shí)現(xiàn)的功能要比游戲簡(jiǎn)單得多。下一步,他把Unix操作系統(tǒng)下常用的文本交互器bash嫁接到自己的終端模擬程序上。有了這個(gè)文本交互界面,家里的電腦就像學(xué)校里的Unix一樣好用。
?
當(dāng)然,如果能直接安裝Unix,托瓦茲不用費(fèi)這么大的周折。Unix是一個(gè)操作系統(tǒng)程序,比Windows年長(zhǎng)了20歲。貝爾實(shí)驗(yàn)室的肯·湯普森想在一臺(tái)PDP-11型號(hào)的電腦上玩一款叫做《太空旅行》的游戲,就編寫了最初的Unix。和之前的操作相比,Unix非常簡(jiǎn)單。計(jì)算機(jī)的各項(xiàng)活動(dòng),無論用戶交互,還是編譯程序,都組織成結(jié)構(gòu)相似而在運(yùn)行上相互獨(dú)立的“進(jìn)程”。進(jìn)程之間可以通過文本形式相互通信,從而能協(xié)同工作。計(jì)算機(jī)上的數(shù)據(jù),從程序文本,到配置信息,再到硬件接口,都儲(chǔ)存成文件。Unix與其說是一個(gè)程序,倒不如說是一套關(guān)于操作系統(tǒng)的哲學(xué)。肯·湯普森就好像計(jì)算機(jī)世界里的牛頓,把計(jì)算機(jī)可以實(shí)現(xiàn)的復(fù)雜活動(dòng)分解成幾條簡(jiǎn)單的物理定律。Unix流行了將近半個(gè)世紀(jì),并影響了非Unix陣營(yíng)的其他操作系統(tǒng),如微軟的MS-DOS和Windows。
Unix之父與PDP-11
擁有貝爾實(shí)驗(yàn)室的AT&T(美國(guó)電信電報(bào)公司)有政府禁令在身,不能涉足軟件業(yè)務(wù)。因此AT&T允許教育機(jī)構(gòu)免費(fèi)Unix。因此,Unix系統(tǒng)在大學(xué)里傳播得很快。肯·湯普森的母校伯克利大學(xué)推出了一個(gè)更加好用的BSD(Berkeley Software Distribution)版本。這些計(jì)算機(jī)系的大學(xué)生用慣了Unix系統(tǒng),所以步入社會(huì)之后,也把Unix系統(tǒng)推廣到IT公司。Unix成為黃金萬兩的生意,并衍生出各種各樣的商用版本。赫爾辛基大學(xué)也在剛剛購置的小型機(jī)安裝了Unix系統(tǒng),可以讓十多個(gè)學(xué)生同時(shí)在線使用。托瓦茲就是這臺(tái)電腦的常客之一,并很快喜歡上Unix。他不但花了一整個(gè)夏天去鉆研操作系統(tǒng)的經(jīng)典教材,還學(xué)會(huì)了用來開發(fā)Unix程序的C語言。只可惜,Unix對(duì)于家用并不免費(fèi),一個(gè)最便宜的Unix系統(tǒng)也要數(shù)千美元。已經(jīng)負(fù)債累累的托瓦茲可負(fù)擔(dān)不起。
移植好bash之后,托瓦茲已經(jīng)能在自家電腦上體驗(yàn)到使用Unix的痛快。他很快又給自己的電腦安裝了C語言編譯器gcc。由于Unix下的大部分應(yīng)用程序都是用C編寫,托瓦茲意識(shí)到,自己已經(jīng)打開了通往Unix世界的大門。他又一次充滿了創(chuàng)造者的驕傲。
?
1991年8月,托瓦茲在Minix新聞組上發(fā)帖:
各位Minix用戶,大家好。我正在制作一個(gè)(免費(fèi))的操作系統(tǒng)(只是作為愛好,不會(huì)像gnu那樣專業(yè))。這個(gè)項(xiàng)目從4月就啟動(dòng)了,并將要準(zhǔn)備好。我想聽聽大家的意見,特別是大家喜歡或不喜歡Minix的地方,因?yàn)槲业牟僮飨到y(tǒng)將會(huì)和Minix有些像。我正在移植bash和gcc。這意味著接下來的幾個(gè)月里,我將獲得一些實(shí)質(zhì)性的成果…… 此外,它沒有用Minix的代碼……
在那個(gè)時(shí)候,Minix是操作系統(tǒng)世界里的明星。編寫Minix的是生活在阿姆斯特丹自由大學(xué)的一位計(jì)算機(jī)教授,安德魯·塔能鮑姆。為了教學(xué)方便,他仿照Unix編寫了Minix這款操作系統(tǒng),并開放源代碼,以便學(xué)生更好地理解操作系統(tǒng)的原理。他編著的操作系統(tǒng)教材,也非常暢銷。托瓦茲就是借著那本700多頁的教科書,才摸清操作系統(tǒng)的原理。多年之后,托瓦茲在阿姆斯特丹自由大學(xué)演講時(shí),曾拿著同一本書想獲得塔能鮑姆的簽名。很不巧,塔能鮑姆正好不在城里。
Minix并不如Unix成熟,但比起托瓦茲的操作系統(tǒng)還是強(qiáng)很多。Minix已經(jīng)有不少擁躉。還有不少高手給Minix編寫補(bǔ)丁,已經(jīng)大大提高了Minix的可用性。托瓦茲自己工作時(shí),主要用的就是Minix。因此,托瓦茲在Minix新聞組里發(fā)布自己的操作系統(tǒng),看起來就像是闖入瓷器店惹事的公牛。意外的是,托瓦茲在新聞組里獲得了不少支持。發(fā)帖不久,就有Minix用戶向Linus反饋,說明自己想要的功能。有的用戶還為托瓦茲建立FTP服務(wù)器,用于上傳正式發(fā)布的操作系統(tǒng)代碼。Minix用戶看起來有些薄情背,但這應(yīng)該歸咎于塔能鮑姆。他有言在先,不希望人們拓展他的源代碼。即使有熱心用戶編寫了改進(jìn)程序,塔能鮑姆也不會(huì)把這些改進(jìn)加入到正式發(fā)行版本里。因此,人們只能編寫非正式的補(bǔ)丁并私下交流。Minix的發(fā)展陷入停滯。
相反,托瓦茲采用了GPL協(xié)議。任何用戶都可以自由地使用并修改GPL協(xié)議的代碼,但基于此修改出的代碼,也必須遵照GPL協(xié)議開放,供他人使用或修改。這個(gè)行動(dòng)充滿了理想主義的味道,意味著托瓦茲不能從自己編寫的程序獲得直接的經(jīng)濟(jì)利益。考慮到托瓦茲的父母都曾是學(xué)生運(yùn)動(dòng)領(lǐng)袖,他的父親還是芬蘭左翼的重要成員,有人疑心是家庭的文化讓托瓦茲輕視物質(zhì)。但按照托瓦茲自己的解釋,他用GPL的唯一原因,就是懶。有了GPL協(xié)議,愛好者們可以毫無顧忌地貢獻(xiàn)代碼。他只要從中擇優(yōu),加入到正式版本中,就可以省了自己去開發(fā)的麻煩。這一“詭計(jì)”確實(shí)奏效。愛好者們不但貢獻(xiàn)了代碼,還湊錢幫托瓦茲付了電腦的欠債。他們還用托瓦茲的名字“林納斯”命名這個(gè)操作系統(tǒng)為“Linux”。最后一個(gè)字母,按照Unix的傳統(tǒng)改成字母“x”。
圈內(nèi)的很多人都不看好Linux。在Linux大約一年后,Unix之父肯·湯姆普森和Minix之父安德魯·塔能鮑姆公開批評(píng)Linux的實(shí)現(xiàn)方式。塔能鮑姆甚至是說,如果托瓦茲是他班上的學(xué)生,那這個(gè)學(xué)生的成績(jī)一定不及格。開源運(yùn)動(dòng)領(lǐng)袖艾里克·雷蒙后來回憶說,當(dāng)他閱讀Linux內(nèi)核代碼時(shí),他有每一個(gè)理由相信Linux會(huì)最終失敗。顯然,這些人低估了社區(qū)愛好者的重要性。即便托瓦茲不是最天才的程序員,但社區(qū)的力量能讓任何天才程序員都跟不上Linux的速度。另一方面,托瓦茲在保持開源理想的同時(shí),又有足夠的實(shí)用精神。Linux采用了GPL協(xié)議,但托瓦茲并不鼓吹“自由軟件就是好”的絕對(duì)論斷。在他看來,無論是哪一種力量,商業(yè)也好,非商業(yè)也要好,只有能促進(jìn)Linux的發(fā)展,就都可以為L(zhǎng)inux所用。在遇到問題時(shí),托瓦茲也不會(huì)陷入“完美系統(tǒng)”的潔癖。他愿意接受一個(gè)不甚完美的方案,然后快速迭代,不斷地優(yōu)化方案。同樣采用GPL協(xié)議、但更富有理想主義的GNU項(xiàng)目也在內(nèi)核開發(fā)上敗給了Linux。
1995年,用于HTTP服務(wù)的Apache服務(wù)器發(fā)布。互聯(lián)網(wǎng)服務(wù)商發(fā)現(xiàn),可以把同樣免費(fèi)的Linux和Apache服務(wù)器結(jié)合在一起,廉價(jià)地搭建網(wǎng)站所需的服務(wù)器。此時(shí)的Linux已經(jīng)以瘋狂的速度演進(jìn)了很多年,已經(jīng)足夠強(qiáng)健,完全可以勝任網(wǎng)站服務(wù)器的工作。內(nèi)容豐富的網(wǎng)頁取代電郵和新聞組,成為互聯(lián)網(wǎng)的主流。基于這套技術(shù),最早的一批互聯(lián)網(wǎng)公司建立起來,如雅虎、亞馬遜、以及中國(guó)的搜狐。“dot-com"熱潮給Linux打了一劑強(qiáng)心針,托瓦茲的照片出現(xiàn)在福布斯的封面。在網(wǎng)絡(luò)服務(wù)器市場(chǎng)上,Linux徹底打敗微軟的Windows NT,成為大多數(shù)互聯(lián)網(wǎng)公司的選擇。網(wǎng)景、甲骨文、IBM等公司開始支持Linux系統(tǒng),甚至同意把自己的部分代碼公開,貢獻(xiàn)給開源運(yùn)動(dòng)。
《福布斯》雜志的封面
來自芬蘭的窮小子打敗了統(tǒng)治天下的比爾·蓋茨,這本來就是話題性十足的故事線。更多人感到困惑,免費(fèi)的Linux究竟怎么賺錢。記者們搶著給托瓦茲打電話,想要獲得獨(dú)家采訪的機(jī)會(huì)。他們意外地發(fā)現(xiàn),接電話的并非助手,而是這個(gè)傳奇英雄本人。事實(shí)上,托瓦茲也從來沒有私人助手。盡管Linux項(xiàng)目有數(shù)萬的參與者,但這些參與者組織成了不同的項(xiàng)目。托瓦茲真正需要打交道的,只是幾十個(gè)項(xiàng)目領(lǐng)導(dǎo)人。另一方面,盡管領(lǐng)導(dǎo)著人類歷史上規(guī)模最大的軟件合作項(xiàng)目,甚至坐擁著Linux這個(gè)商標(biāo),托瓦茲并不富有。1997年,托瓦茲帶著妻子和剛出生的女兒遷居美國(guó),他的賬戶只有幾千美元的余額。在美國(guó)的第一個(gè)晚上,托瓦茲不得不和妻子擠在充氣床墊上。
不過,如果托瓦茲愿意,他完全可以憑自己的身份獲得更好的生活。微軟的史蒂夫·巴爾默對(duì)Linux極為警惕,而史蒂夫·喬布斯曾親自邀請(qǐng)托瓦茲加盟蘋果。紅帽Linux和VA Linux這樣提供Linux服務(wù)和支持的公司也成立起來,獲得令人矚目的成功。托瓦茲接受了這些公司表達(dá)感謝而贈(zèng)送給他的期權(quán),卻不愿到其中任何一家任職。托瓦茲樂意看到Linux在商業(yè)上的突破。他只是在做個(gè)人選擇時(shí)極為謹(jǐn)慎,免得自己因?yàn)樯虡I(yè)利益而無法保持中立。
不過,生活總是給托瓦茲帶來意外的驚喜。隨著紅帽Linux和VA Linux的上市,托瓦茲手里的股票價(jià)值一度高達(dá)2000萬美元。但托瓦茲還是住在普通的房子里,把大部分時(shí)間花在維護(hù)Linux上。真正令托瓦茲驕傲的是,社會(huì)徹底改變了對(duì)像他這樣的極客的看法。極客不再是70-80年代留著長(zhǎng)胡子穿著拖鞋整日躲在黑暗房間里的怪胎。相反,人們把他們看做技術(shù)先鋒。大公司愿意出高薪聘用參與Linux核心項(xiàng)目的程序員。除了高超的技術(shù),這些為開源社區(qū)做貢獻(xiàn)的極客們還能帶來一種已經(jīng)改變了歷史的軟件開發(fā)方式。
如今的技術(shù)頭條被人工智能、手機(jī)、虛擬現(xiàn)實(shí)、物聯(lián)網(wǎng)占據(jù),托瓦茲的Linux似乎有些過時(shí)。但I(xiàn)BM的超級(jí)電腦、谷歌的安卓手機(jī)、虛擬現(xiàn)實(shí)和物聯(lián)網(wǎng)的嵌入式設(shè)備上,都運(yùn)行著Linux系統(tǒng)。就連樹莓派這樣的超小型電腦,都可以毫無困難地運(yùn)行Linux。在四分之一個(gè)世紀(jì)的時(shí)間里,Linux已經(jīng)成為技術(shù)世界不可或缺的基礎(chǔ)設(shè)施。如今,托瓦茲的女兒已經(jīng)大學(xué)畢業(yè),他的貓也從白色的Randi變成了黑色的Minky。但這位極客的大部分時(shí)間,都還是對(duì)著黑色的屏幕,全神貫注地寫程序。
?
歡迎閱讀“騎著企鵝采樹莓”系列文章
總結(jié)
以上是生活随笔為你收集整理的Linux:一位猫奴的意外逆袭的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有限元与离散元
- 下一篇: 贷款违约预测带有真实银行数据的端到端ml