爲何 Linus 一個人就能寫出這麼強的系統,中國卻做不出來?
爲何 Linus 一個人就能寫出這麼強的系統,中國卻做不出來?
要想回答這個問題,必須得回到Linux誕生之時去看一看。
0 1
Linus的技術
現在能手搓操作系統的人確實很多,可是如果我們穿越到80年代末,事情就完全不同了。
那個時候歐美的人還都忙着攢電腦,在中國,電腦更是隻能在機房才能看到的稀罕物,程序員都很少,更別說寫操作系統了。
沒有Web,沒有Google,沒有人教你“30天自制操作系統”,資料極其匱乏,就連Intel CPU的相關資料都很難找到。
在這種情況下,讓你手搓個操作系統,把彙編、保護模式、鏈接和裝載、進程管理、內存管理、文件系統、IO管理統統搞定,在一臺386的機器上跑起來,難度絕非今日科比。
但是Linus就是在這種情況下,參考了Minix,獨自開發了一個操作系統出來。
毫無疑問,Linus是一個傑出的程序員。
當然,他不是一蹴而就的,他是先在自己的386上寫了一個多線程的程序,然後發展成了終端模擬器,爲了讓終端模擬器開機就能運行,從BIOS開始,寫引導程序,搞定實模式和保存模式的切換,後來爲了保存數據,又添加了磁盤驅動,I/O管理......最後赫然發現:自己寫了一個操作系統。
完整的故事可以看看這篇漫畫《》
此時中國第一代程序員的傑出代表是求伯君,嚴援朝,鮑嶽橋等人,我想他們應該也有這個能力搞出來。
不過當時有個非常重要更緊急的任務:讓電腦支持中文,在上面跑中文應用軟件。
所以就有了CCDOS, UCDOS, WPS,CCED,沒人會想着從頭兒寫個操作系統。
0 2
Linus 開創了一種開發模式
一般人寫出來自己玩玩也就算了,Linus卻把它放到了BBS上,廣泛徵求意見,接受批評。
他還接受網友提交的改進代碼,從而Linux變得更強,更好。
在那個年代,這是一件非常了不起的事情。
Linus先是自己滾了一個小雪球,然後吆喝說:快來了,這裡有個好玩的東西,我們一起玩吧!
在互聯網的大潮推動下,無數操作系統的精英都能加入進來,把這個小雪球滾成了一個大雪球。
無意之間,Linus 開創了一種全新的互聯網的協作方式,一種大規模的開源開發方法,他證明,成千上萬的人可以爲一個項目做出貢獻,這個項目的商業價值不亞於一家公司花費數十億美元做出的產品,這是一項偉大的社會學發明。
作爲鮮明對比的是GNU Hurd。
Richard Stallman於 1983 年 9 月創立了GNU 項目,計劃創建一個自由的 GNU操作系統。
如果Richard Stallman能及早地把操作系統給開發出來,估計沒有Linux什麼事了。
但是GNU Hurd的開發採用了一種“教堂”的模式,是有計劃地修建而成的,宏偉的黑客精神紀念碑。
Hurd的開發舉步維艱,Linux都快佔領全世界了,它還無法拿出一個可以在生產環境上使用的、穩定的系統。
而Linux更像是一個“嘈雜的大集市”,它是在 Internet 去中心化的鬆散組織結構中開發出來的。
Linux的協作方式,更加適應互聯網時代。
大集市的開發方式,80年代就已經存在,但是規模都沒有Linux那麼大——僅僅內核就有近2萬人,算上其他模塊得有數十萬人蔘與開發。
有了Linux成功的榜樣,像Apache等開源軟件如雨後春筍般發展起來,開源開始統治世界。
中國1994年5月17日才正式接入全球互聯網,兩個月前,Linux 1.0已經發布了。
隨後幾年中國和全世界類似,都是在Linux內核的基礎上搞自己的發行版,藍點Linux,紅旗Linux,衝浪Linux,甚至聯想都弄了一個幸福Linux,一時間熱鬧非凡。
這個時候Linux已成大勢,中國不可能從頭兒開發一個操作系統了。
0 3
Linus的領導力
Linus是IT界頂級網紅,表面看,他脾氣暴躁,懟天懟地懟空氣,一眼不和就開始噴,fuck,shit之類的詞經常出現在郵件列表中,他在Linux 開發環境中培養了一種辱罵文化。
但是大家想想,一個有數十萬人蔘與開發的,2000多萬行代碼的操作系統,僅僅靠暴躁的脾氣能管理得了嗎?
單靠Linus一個人,絕對無法review那麼多的代碼,更不可能合併那麼多的請求。
必定有個強大的核心團隊,緊密地圍繞着Linus,一直追隨着他,爲Linux不斷做出貢獻。
Linus養成了一種“無爲而治”的風格,把權力授權給核心開發小組,放手讓各個核心去做自己想做的事情,即使出錯,也讓他們自己去糾正,而不是自己出面。
這種方式非常有效,Linux迅速發展,每個與Linux相關的人都給與他最高的信任。
Linus 被證明是一個合格的獨裁者。
他可能很強硬,但他很公平。
他可能固執己見,但他很少犯錯誤。
他可能對開發人員很苛刻,但他對用戶很友善。
中國肯定也有這樣領導特質的程序員,但是Linus在恰當的時間出現了,可遇而不可求。
最後總結一下:Linux這麼強的操作系統,不是Linus一個人寫出來的,他在合適的時間發起了這個項目,並且找到了一種有效的開發方式,用卓越的領導能力組織起了幾十萬人的協作開發,最終發展成了全世界最流行的操作系統。
現在想複製Linux的成功幾乎不可能了,也沒有必要了,基於開源的Linux做開發多好!
全文完,覺得不錯的話點個贊或者在看吧!
近期爆文: