微軟開源了操作系統(tǒng),注釋中藏著一個大秘密!
前些天,微軟開源了DOS4.0,這其實算不上什么大新聞,因為:
1. 這是個非常古老的,沒人用的操作系統(tǒng);
2. 這不是DOS第一次開源了,1.25版,2.0版在6年前已經(jīng)開源了
圖片
有意思的是,網(wǎng)友發(fā)現(xiàn),開源以后,一個叫做mzbik的人心急火燎地修改了其中一行代碼的注釋:
圖片
圖片
這個注釋的意思是:“腦子有問題的Tim Patterson......”
mzbik把Tim Patterson改成了縮寫TP,其他保持不變。
這就有意思了。
Tim Patterson是誰?為啥腦子有問題?
mzbik又是誰?他為啥要這么做?
上世紀七十年代末,八十年代初,正是個人電腦開始爆發(fā)的前夜。
美國華盛頓州的西雅圖,有個叫西雅圖計算機產(chǎn)品(簡稱SCP)公司決定采用Intel的8086來組裝個人電腦,但是卻沒有合適的操作系統(tǒng)可用。
于是公司的蒂姆·帕特森 (Tim Paterson)寫了一個操作系統(tǒng),名稱叫做QDOS,意思是Quick and Dirty Disk Operating System,Quick and Dirty,這名稱,公司竟然叫得出口。
圖片
QDOS是仿照流行的PC操作系統(tǒng)CP/M編寫的,二者非常相似,這樣CP/M上的軟件就可以輕松移植到QDOS。
1980年7月,0.1版本完成。
圖片
如果QDOS就這樣發(fā)展下去的話,應該也不會差。
但是它的命運卻被微軟和蓋茨徹底改變了。
圖片
1981年,蓋茨抓住了一個千載難逢的機會:為藍色巨人IBM的PC提供操作系統(tǒng)。
這時候的蓋茨絕對是空手套白狼,他連操作系統(tǒng)都沒有,就敢和IBM簽合同。
微軟和同在西雅圖的SCP公司之前有業(yè)務往來,這時候蓋茨就發(fā)現(xiàn)了QDOS,他非常果斷,立刻用5萬美元買斷QDOS,并且把作者蒂姆·帕特森也挖了過來,讓他把QDOS移植到配有8088 CPU的IBM PC上。
當然,不能叫QDOS這么難聽的名字了,新名字叫MS-DOS。
圖片
商業(yè)天才蓋茨認為將來肯定有其他廠商去模仿IBM PC,一定會用他的MS-DOS, 所以堅決禁止IBM買斷DOS,一定要保留權(quán)利將MS-DOS授權(quán)給其他計算機廠商。
這可能是微軟歷史上最有影響力的決定,蓋茨抓住了個人電腦爆發(fā)的風口。
隨后,在每一臺PC兼容機上,MS-DOS幾乎是唯一的操作系統(tǒng),微軟帝國成型了。
MS-DOS的作者Tim Paterson自然功不可沒,不過Tim有點不“安分”,曾經(jīng)三進宮微軟,第一次是1981年5月到1982年四月,開發(fā)出第一版的MS-DOS后就離開創(chuàng)業(yè)了。
他離開后,Mark Zbikowski成為DOS的開發(fā)主管,接手了DOS的開發(fā)工作,從DOS2.0一直干到DOS4.0。
圖片
Mark Zbikowski在微軟也是一個傳奇程序員,他給DOS貢獻了分層目錄結(jié)構(gòu),和可安裝設備驅(qū)動(后來成了即插即用),后來參與了Windows NT的開發(fā),是文件系統(tǒng)架構(gòu)師和開發(fā)經(jīng)理。
就像PK把自己的名字雕刻在Zip文件格式中一樣,Mark Zbikowski 也把自己的名字刻在了DOS可執(zhí)行文件里,這種文件的Magic Number是:4D 5A ,即MZ。
圖片
Mark Zbikowski 是“從一而終”的典范, 這位哈佛的高材生被鮑爾默招募后,一口氣在微軟工作了25年,成為繼比爾·蓋茨和史蒂夫·鮑爾默之后,第三位達成這個成就的人。
2
眼尖的同學可能已經(jīng)發(fā)現(xiàn),Mark Zbikowski 就是GitHub上的mzbik !
很明顯,mzbik對40多年前的這條注釋印象極為深刻,弄不好就是他自己寫的 :-)
所以DOS4.0一開源,他立刻就想起了這件事,心急火燎地把它改掉了。
圖片
如果不是有個叫OwnedByWuigi用戶手快,fork了最早發(fā)布的DOS4.0代碼倉庫,我們可能永遠都不知道有這回事兒。
https://github.com/OwnedByWuigi/DOS/blob/ffd70f8b4fb77e2e6affbf1fad2fd8c349f0369f/v4.0/src/DOS/STRIN.ASM#L70
程序員經(jīng)常在代碼注釋中看到臟話,比如:
圖片
之前我還寫過一篇文章《臟話越多,代碼越好》
但這些臟話一般是罵代碼爛,不會罵人,在DOS源碼中這么指名道姓地罵Tim Patterson,說人家腦子有問題就太過分了。
Mark Zbikowski 也是,把Tim Patterson改成TP,這不是欲蓋彌彰,更加引發(fā)大家的好奇嗎?難道Mark就是為了吸引大家的注意力?
Tim Patterson被罵的原因,恐怕只有當事人才能說清楚了。
3
微軟開源了DOS,但它們是最不重要的幾個版本,最流行的3.x、5.x、6.x版本卻沒有開源。
另外,國外網(wǎng)友Bryan Lunduke(前微軟員工)特別指出,微軟這次開源DOS4.0,很多科技媒體爭相報道,但是它其實根本無法編譯!你根本無法構(gòu)建一個可以工作的MS-DOS 4.0。
這樣的開源相當于把自家不用的,破舊的老古董拿出來曬了曬,這樣的開源又有什么意義上呢?
圖片
微軟號稱擁抱了開源,擁抱了Linux,自家也確實有不少產(chǎn)品開源,最著名的就是VS Code,但是在自家操作系統(tǒng)的開源上,它是非常保守的。