Linux:一位貓奴的意外逆襲

Vamei發表於2017-04-16

作者:Vamei,嚴禁任何形式轉載。

 

1991年年中,林納斯·託瓦茲(Linus Torvalds)在自己房間裡敲著鍵盤。他全神貫注地盯著14寸的黑色螢幕,都沒感覺到自己的小貓Randi在扒自己的褲腿。

Linus Torvalds

這臺電腦價格高達3500美元,對於任何一個芬蘭家庭來說都是奢侈品。更何況,託瓦茲的父母沒有太多閒錢來贊助兒子。託瓦茲把獎學金和零用錢加在一起,付了電腦三分之二的錢。剩下的三分之一,要在接下來的三年裡分期支付。拿到電腦之後,託瓦茲連著幾個月都耗在上面。不過,託瓦茲的母親對此並沒有太大意見,只是偶爾會提醒託瓦茲吃飯。倒是妹妹薩拉會在隔壁咆哮,逼著正在撥號上網的哥哥讓出電話線。

由於父母早年離異,所以託瓦茲大部分時間都是跟著母親長大的。他的外公是一位統計學教授,因此有一臺工作用的Commodore電腦。這個品牌的電腦和BBC Micro一樣,都曾在歐洲流行。不知是為了培養外孫,還是純粹的偷懶,外公經常會口述程式,讓託瓦茲敲入到電腦裡。年幼的託瓦茲很快發現,這個其貌不揚的“盒子”並不介意使用者是個兒童。只要輸入程式,電腦就會根據指令工作,不多也不少。除了服兵役的那將近一年的時間,託瓦茲把大部分時間都花在電腦程式設計上。進了赫爾辛基大學時,託瓦茲已經有了豐富的程式設計經驗。

託瓦茲寫了一個終端模擬程式。通過這個程式,託瓦茲可以通過電話線連線到學校機房的電腦,再通過機房的電腦在網際網路上收發郵件。在90年代初,電子郵件還是少數“極客”才能玩得轉的高科技,一般人甚至不知道電子郵件是什麼。因此,當託瓦茲向妹妹展示終端模擬器時,薩拉一臉茫然,完全不知道哥哥在拽什麼。託瓦茲很難向妹妹解釋清楚這個程式厲害的地方。這個程式是用匯編語言寫的,可以直接和電腦硬體互動。換句話說,對於一臺沒有安裝類似Windows這樣的作業系統的電腦,託瓦茲可以讓它執行《魔獸爭霸》。當然,託瓦茲實現的功能要比遊戲簡單得多。下一步,他把Unix作業系統下常用的文字互動器bash嫁接到自己的終端模擬程式上。有了這個文字互動介面,家裡的電腦就像學校裡的Unix一樣好用。

 

當然,如果能直接安裝Unix,託瓦茲不用費這麼大的周折。Unix是一個作業系統程式,比Windows年長了20歲。貝爾實驗室的肯·湯普森想在一臺PDP-11型號的電腦上玩一款叫做《太空旅行》的遊戲,就編寫了最初的Unix。和之前的操作相比,Unix非常簡單。計算機的各項活動,無論使用者互動,還是編譯程式,都組織成結構相似而在執行上相互獨立的“程式”。程式之間可以通過文字形式相互通訊,從而能協同工作。計算機上的資料,從程式文字,到配置資訊,再到硬體介面,都儲存成檔案。Unix與其說是一個程式,倒不如說是一套關於作業系統的哲學。肯·湯普森就好像計算機世界裡的牛頓,把計算機可以實現的複雜活動分解成幾條簡單的物理定律。Unix流行了將近半個世紀,並影響了非Unix陣營的其他作業系統,如微軟的MS-DOS和Windows。

Unix之父與PDP-11

擁有貝爾實驗室的AT&T(美國電信電報公司)有政府禁令在身,不能涉足軟體業務。因此AT&T允許教育機構免費Unix。因此,Unix系統在大學裡傳播得很快。肯·湯普森的母校伯克利大學推出了一個更加好用的BSD(Berkeley Software Distribution)版本。這些計算機系的大學生用慣了Unix系統,所以步入社會之後,也把Unix系統推廣到IT公司。Unix成為黃金萬兩的生意,並衍生出各種各樣的商用版本。赫爾辛基大學也在剛剛購置的小型機安裝了Unix系統,可以讓十多個學生同時線上使用。託瓦茲就是這臺電腦的常客之一,並很快喜歡上Unix。他不但花了一整個夏天去鑽研作業系統的經典教材,還學會了用來開發Unix程式的C語言。只可惜,Unix對於家用並不免費,一個最便宜的Unix系統也要數千美元。已經負債累累的託瓦茲可負擔不起。

移植好bash之後,託瓦茲已經能在自家電腦上體驗到使用Unix的痛快。他很快又給自己的電腦安裝了C語言編譯器gcc。由於Unix下的大部分應用程式都是用C編寫,託瓦茲意識到,自己已經開啟了通往Unix世界的大門。他又一次充滿了創造者的驕傲。

 

1991年8月,託瓦茲在Minix新聞組上發帖:

各位Minix使用者,大家好。我正在製作一個(免費)的作業系統(只是作為愛好,不會像gnu那樣專業)。這個專案從4月就啟動了,並將要準備好。我想聽聽大家的意見,特別是大家喜歡或不喜歡Minix的地方,因為我的作業系統將會和Minix有些像。我正在移植bash和gcc。這意味著接下來的幾個月裡,我將獲得一些實質性的成果…… 此外,它沒有用Minix的程式碼……

在那個時候,Minix是作業系統世界裡的明星。編寫Minix的是生活在阿姆斯特丹自由大學的一位計算機教授,安德魯·塔能鮑姆。為了教學方便,他仿照Unix編寫了Minix這款作業系統,並開放原始碼,以便學生更好地理解作業系統的原理。他編著的作業系統教材,也非常暢銷。託瓦茲就是藉著那本700多頁的教科書,才摸清作業系統的原理。多年之後,託瓦茲在阿姆斯特丹自由大學演講時,曾拿著同一本書想獲得塔能鮑姆的簽名。很不巧,塔能鮑姆正好不在城裡。

Minix並不如Unix成熟,但比起託瓦茲的作業系統還是強很多。Minix已經有不少擁躉。還有不少高手給Minix編寫補丁,已經大大提高了Minix的可用性。託瓦茲自己工作時,主要用的就是Minix。因此,託瓦茲在Minix新聞組裡釋出自己的作業系統,看起來就像是闖入瓷器店惹事的公牛。意外的是,託瓦茲在新聞組裡獲得了不少支援。發帖不久,就有Minix使用者向Linus反饋,說明自己想要的功能。有的使用者還為託瓦茲建立FTP伺服器,用於上傳正式釋出的作業系統程式碼。Minix使用者看起來有些薄情背,但這應該歸咎於塔能鮑姆。他有言在先,不希望人們擴充他的原始碼。即使有熱心使用者編寫了改程式序,塔能鮑姆也不會把這些改進加入到正式發行版本里。因此,人們只能編寫非正式的補丁並私下交流。Minix的發展陷入停滯。

相反,託瓦茲採用了GPL協議。任何使用者都可以自由地使用並修改GPL協議的程式碼,但基於此修改出的程式碼,也必須遵照GPL協議開放,供他人使用或修改。這個行動充滿了理想主義的味道,意味著託瓦茲不能從自己編寫的程式獲得直接的經濟利益。考慮到託瓦茲的父母都曾是學生運動領袖,他的父親還是芬蘭左翼的重要成員,有人疑心是家庭的文化讓託瓦茲輕視物質。但按照託瓦茲自己的解釋,他用GPL的唯一原因,就是懶。有了GPL協議,愛好者們可以毫無顧忌地貢獻程式碼。他只要從中擇優,加入到正式版本中,就可以省了自己去開發的麻煩。這一“詭計”確實奏效。愛好者們不但貢獻了程式碼,還湊錢幫託瓦茲付了電腦的欠債。他們還用託瓦茲的名字“林納斯”命名這個作業系統為“Linux”。最後一個字母,按照Unix的傳統改成字母“x”。

圈內的很多人都不看好Linux。在Linux大約一年後,Unix之父肯·湯姆普森和Minix之父安德魯·塔能鮑姆公開批評Linux的實現方式。塔能鮑姆甚至是說,如果託瓦茲是他班上的學生,那這個學生的成績一定不及格。開源運動領袖艾裡克·雷蒙後來回憶說,當他閱讀Linux核心程式碼時,他有每一個理由相信Linux會最終失敗。顯然,這些人低估了社群愛好者的重要性。即便託瓦茲不是最天才的程式設計師,但社群的力量能讓任何天才程式設計師都跟不上Linux的速度。另一方面,託瓦茲在保持開源理想的同時,又有足夠的實用精神。Linux採用了GPL協議,但託瓦茲並不鼓吹“自由軟體就是好”的絕對論斷。在他看來,無論是哪一種力量,商業也好,非商業也要好,只有能促進Linux的發展,就都可以為Linux所用。在遇到問題時,託瓦茲也不會陷入“完美系統”的潔癖。他願意接受一個不甚完美的方案,然後快速迭代,不斷地優化方案。同樣採用GPL協議、但更富有理想主義的GNU專案也在核心開發上敗給了Linux。


1995年,用於HTTP服務的Apache伺服器釋出。網際網路服務商發現,可以把同樣免費的Linux和Apache伺服器結合在一起,廉價地搭建網站所需的伺服器。此時的Linux已經以瘋狂的速度演進了很多年,已經足夠強健,完全可以勝任網站伺服器的工作。內容豐富的網頁取代電郵和新聞組,成為網際網路的主流。基於這套技術,最早的一批網際網路公司建立起來,如雅虎、亞馬遜、以及中國的搜狐。“dot-com"熱潮給Linux打了一劑強心針,託瓦茲的照片出現在福布斯的封面。在網路伺服器市場上,Linux徹底打敗微軟的Windows NT,成為大多數網際網路公司的選擇。網景、甲骨文、IBM等公司開始支援Linux系統,甚至同意把自己的部分程式碼公開,貢獻給開源運動。

《福布斯》雜誌的封面

來自芬蘭的窮小子打敗了統治天下的比爾·蓋茨,這本來就是話題性十足的故事線。更多人感到困惑,免費的Linux究竟怎麼賺錢。記者們搶著給託瓦茲打電話,想要獲得獨家採訪的機會。他們意外地發現,接電話的並非助手,而是這個傳奇英雄本人。事實上,託瓦茲也從來沒有私人助手。儘管Linux專案有數萬的參與者,但這些參與者組織成了不同的專案。託瓦茲真正需要打交道的,只是幾十個專案領導人。另一方面,儘管領導著人類歷史上規模最大的軟體合作專案,甚至坐擁著Linux這個商標,託瓦茲並不富有。1997年,託瓦茲帶著妻子和剛出生的女兒遷居美國,他的賬戶只有幾千美元的餘額。在美國的第一個晚上,託瓦茲不得不和妻子擠在充氣床墊上。

不過,如果託瓦茲願意,他完全可以憑自己的身份獲得更好的生活。微軟的史蒂夫·巴爾默對Linux極為警惕,而史蒂夫·賈伯斯曾親自邀請託瓦茲加盟蘋果。紅帽Linux和VA Linux這樣提供Linux服務和支援的公司也成立起來,獲得令人矚目的成功。託瓦茲接受了這些公司表達感謝而贈送給他的期權,卻不願到其中任何一家任職。託瓦茲樂意看到Linux在商業上的突破。他只是在做個人選擇時極為謹慎,免得自己因為商業利益而無法保持中立。

不過,生活總是給託瓦茲帶來意外的驚喜。隨著紅帽Linux和VA Linux的上市,託瓦茲手裡的股票價值一度高達2000萬美元。但託瓦茲還是住在普通的房子裡,把大部分時間花在維護Linux上。真正令託瓦茲驕傲的是,社會徹底改變了對像他這樣的極客的看法。極客不再是70-80年代留著長鬍子穿著拖鞋整日躲在黑暗房間裡的怪胎。相反,人們把他們看做技術先鋒。大公司願意出高薪聘用參與Linux核心專案的程式設計師。除了高超的技術,這些為開源社群做貢獻的極客們還能帶來一種已經改變了歷史的軟體開發方式。

如今的技術頭條被人工智慧、手機、虛擬現實、物聯網佔據,託瓦茲的Linux似乎有些過時。但IBM的超級電腦、谷歌的安卓手機、虛擬現實和物聯網的嵌入式裝置上,都執行著Linux系統。就連樹莓派這樣的超小型電腦,都可以毫無困難地執行Linux。在四分之一個世紀的時間裡,Linux已經成為技術世界不可或缺的基礎設施。如今,託瓦茲的女兒已經大學畢業,他的貓也從白色的Randi變成了黑色的Minky。但這位極客的大部分時間,都還是對著黑色的螢幕,全神貫注地寫程式。

 

歡迎閱讀“騎著企鵝採樹莓”系列文章

相關文章