作者: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。但這位極客的大部分時間,都還是對著黑色的屏幕,全神貫注地寫程序。
歡迎閱讀“騎著企鵝采樹莓”系列文章
文章列表
留言列表