Linux作業系統誕生
在29年前的今天,1991年8月25日(農曆1991年7月16日),Linux作業系統誕生。Linux作業系統的誕生、發展和成長過程始終依賴著五個重要支柱:UNIX作業系統、MINIX作業系統、GNU計劃、POSIX標準和Internet網路。1981年IBM公司推出微型計算機IBMPC,這是第一款個人計算機(微機)。1981-1991年間MS-DOS作業系統一直是微機上作業系統的主宰。1991年,GNU計劃(開源計劃)已經開發出了許多工具軟體。最受期盼的GnuC編譯器已經出現,但還沒有開發出免費的GNU作業系統。即使是MINIX也開始有了版權,需要購買才能得到原始碼。1991年4月,Linus開始醞釀並著手編制自己的作業系統。剛開始,他的目的很簡單,只是為了學習Intel386體系結構保護模式執行方式下的程式設計技術。但後來Linux的發展卻完全改變了他的初衷。1991年初,Linus開始在一臺386sx相容微機上學習minix作業系統。透過學習,他逐漸不能滿足於minix系統的現有效能,並開始醞釀開發一個新的免費作業系統。根據Linux在comp.os.minix新聞組上釋出的訊息,可以知道他逐步從學習minix系統到開發自己的Linux的過程。1991年的4月份開始,linus茲幾乎花了全部時間研究386-minix系統(hackthekernel),並且嘗試著移植GNU的軟體到該系統。1991年4月13日linus在comp.os.minix上釋出說自己已經成功地將bash移植到了minix上。1991年7月3日,第一個與Linux有關的訊息是在在comp.os.minix上釋出的(當然此時還不存在Linux這個名稱,當時linus的腦子裡想的可能是FREAX,FREAX的英文含義是怪誕的、怪物、異想天開等)。其中透露了他正在進行Linux系統的開發,並且在Linux最初的時候已經想到要實現與POSIX(UNIX的國際標準)的相容問題了。1991年8月25日,在Linus的下一發布的訊息中,他向所有minix使用者詢問”Whatwouldyouliketoseeinminix?”(“你最想在minix中見到什麼?”),在該訊息中他首次透露出正在開發一個(免費的)386(486)作業系統,並且說只是興趣而已,程式碼不會很大,也不會象GNU的那肯·湯普遜和丹尼斯·裡奇樣專業。開發免費作業系統這個想法從4月份就開始醞釀了,希望大家反饋一些對於minix系統中喜歡那些特色不喜歡什麼等資訊,由於實際的和其它一些原因,新開發的系統剛開始與minix很象(並且使用了minix的檔案系統),並且已經成功地將bash(1.08版)和gcc(1.40版)移植到了新系統上,而且再過幾個月就可以使用了。Linus申明他開發的作業系統沒有使用一行minix的原始碼;而且由於使用了386的任務切換特性,所以該作業系統不好移植(沒有可移植性),並且只能使用AT硬碟。對於Linux的移植性問題,Linus當時並沒有考慮。但是Linux幾乎可以執行在任何一種硬體體系結構上。1991年的10月5日,Linus在comp.os.minix新聞組上釋出訊息,正式向外宣佈Linux核心系統的誕生(Freeminix-likekernelsourcesfor386-AT)。這段訊息可以稱為Linux的誕生宣言,並且一直廣為流傳。因此10月5日對Linux社群來說是一個特殊的日子,許多後來Linux的新版本釋出時都選擇了這個日子。所以RedHat公司選擇這個日子釋出它的新系統也不是偶然的。Linux的以後發展雖然完全超出linus的意料但是始終堅持著開源的規則,所以面對windows系統的強力攻勢linux就好像打不死的小強不但沒有死反而越來越多了,目前linux大概有300 發行版,版本眾多遠遠超出了其他作業系統的範圍,而且軟體業很開放,在linux下你可以定製任何東西(只要你有技術),這在windows或者mac下是不可想象的。Torvalds一定曾對Linux以及一系列相關軟體包能夠迅速「做大並專業化」感到吃驚。他當時有非常好的時機。網際網路剛剛起步,使得全球的開發者可以更方便、便宜地透過電子郵件實現協作。與此同時,從普通程式設計師到技術公司,都在尋找微軟Windows的替代品,因此,需求非常旺盛。Torvalds採用模組化的理念設計了Linux,這使得Linux比Windows更容易提高效能並適配到更多電腦中。現在,Linux以及其分支系統是目前世界上使用最廣泛的作業系統。小到微型醫療裝置,大到雲端計算伺服器,Linux都是驅動這些硬體執行的作業系統。而其最大的成功無疑是智慧手機作業系統上,2015年全球賣出了約15億臺智慧手機,大約有四分之三的作業系統都執行著基於Linux修改的Android。即便是曾經將開源軟體比作癌症的微軟,現在公開向Linux示愛。不過,Torvalds最大的貢獻是組織架構層面的。他展示了一種可能性,那就是組建了一個全球性的開發者社群,這些開發者原本是被認為是人群中的異類,但在這些人組成的社群裡,他們「製造」一系列改變世界的產品。現在,開源專案已經超過百萬,絕大多數都可以在GitHub找到「家」。GitHub上已經承載了1000萬開發者和2600萬個專案(不僅有程式碼,還有文字和資料)。在很多軟體市場中,尤其是一些非作業系統的軟體開發中,開放原始碼成為流行寫程式碼的方式。比如伺服器中的Apache,資料分析中的Hadoop、雲端計算領域的OpenStack等等,如果這些開源專案消失,網際網路或許也將在一聲尖叫中停止。但開源軟體並非完完全全的成功。一個顯而易見的事實,你很難從免費的產品裡賺到錢。只有一家Linux公司成為巨頭,那就是紅帽(RedHat),預計在2015年財年實現20億美元的收入,絕大多數收入來自銷售開源作業系統和開源軟體的支援服務。而開源軟體最大的受益者則是擁有大量資料中心的公司,比如亞馬遜、Facebook、谷歌(微博)等,因為不用向開源軟體付費,他們能夠向企業和普通消費者提供廉價的雲端計算服務。作為回報,很多公司也同時成為開源專案的最大貢獻者,有時候需要將公司內部整個軟體包都放在開源社群。比如,谷歌最近把Kubernetes開源,這個專案可以一群計算機裝置變成一個超級計算機。隨著計算越來越多地轉向雲端,開源軟體似乎變得無關緊要。其中一個原因就是雲端計算靈活方便的購買方式以及簡單的部署模式。儘管如此,Linux和他的追隨者們還在堅守,即便創始人也淡出視線。在Linux發展的早期,Torvalds扮演著最後仲裁者的決策。而現在,他似乎不再擔心他作為「領袖」的地位。日前的一個會議上,他對Linux能否在物聯網時代繼續發揮作用已經不再那麼熱心。或許,對於一個46歲的男人來說,Torvalds已經開始思考後Linux的生活,那麼,他會在他「孩子」25歲的時候退休嗎?