前些天,微软开源了DOS4.0,这其实算不上什么大新闻,因为:
1. 这是个非常古老的,没人用的操作系统;
2. 这不是DOS第一次开源了,1.25版,2.0版在6年前已经开源了
有意思的是,网友发现,开源以后,一个叫做mzbik的人心急火燎地修改了其中一行代码的注释:
这个注释的意思是:“脑子有问题的Tim Patterson......”
mzbik把Tim Patterson改成了缩写TP,其他保持不变。
这就有意思了。
Tim Patterson是谁?为啥脑子有问题?
mzbik又是谁?他为啥要这么做?
1
上世纪七十年代末,八十年代初,正是个人电脑开始爆发的前夜。
美国华盛顿州的西雅图,有个叫西雅图计算机产品(简称SCP)公司决定采用Intel的8086来组装个人电脑,但是却没有合适的操作系统可用。
于是公司的蒂姆·帕特森 (Tim Paterson)写了一个操作系统,名称叫做QDOS,意思是Quick and Dirty Disk Operating System,Quick and Dirty,这名称,公司竟然叫得出口。
QDOS是仿照流行的PC操作系统CP/M编写的,二者非常相似,这样CP/M上的软件就可以轻松移植到QDOS。
1980年7月,0.1版本完成。
如果QDOS就这样发展下去的话,应该也不会差。
但是它的命运却被微软和盖茨彻底改变了。
1981年,盖茨抓住了一个千载难逢的机会:为蓝色巨人IBM的PC提供操作系统。
这时候的盖茨绝对是空手套白狼,他连操作系统都没有,就敢和IBM签合同。
微软和同在西雅图的SCP公司之前有业务往来,这时候盖茨就发现了QDOS,他非常果断,立刻用5万美元买断QDOS,并且把作者蒂姆·帕特森也挖了过来,让他把QDOS移植到配有8088 CPU的IBM PC上。
当然,不能叫QDOS这么难听的名字了,新名字叫MS-DOS。
商业天才盖茨认为将来肯定有其他厂商去模仿IBM PC,一定会用他的MS-DOS, 所以坚决禁止IBM买断DOS,一定要保留权利将MS-DOS授权给其他计算机厂商。
这可能是微软历史上最有影响力的决定,盖茨抓住了个人电脑爆发的风口。
随后,在每一台PC兼容机上,MS-DOS几乎是唯一的操作系统,微软帝国成型了。
MS-DOS的作者Tim Paterson自然功不可没,不过Tim有点不“安分”,曾经三进宫微软,第一次是1981年5月到1982年四月,开发出第一版的MS-DOS后就离开创业了。
他离开后,Mark Zbikowski成为DOS的开发主管,接手了DOS的开发工作,从DOS2.0一直干到DOS4.0。
Mark Zbikowski在微软也是一个传奇程序员,他给DOS贡献了分层目录结构,和可安装设备驱动(后来成了即插即用),后来参与了Windows NT的开发,是文件系统架构师和开发经理。
就像PK把自己的名字雕刻在Zip文件格式中一样,Mark Zbikowski 也把自己的名字刻在了DOS可执行文件里,这种文件的Magic Number是:4D 5A ,即MZ。
Mark Zbikowski 是“从一而终”的典范, 这位哈佛的高材生被鲍尔默招募后,一口气在微软工作了25年,成为继比尔·盖茨和史蒂夫·鲍尔默之后,第三位达成这个成就的人。
2
眼尖的同学可能已经发现,Mark Zbikowski 就是GitHub上的mzbik !
很明显,mzbik对40多年前的这条注释印象极为深刻,弄不好就是他自己写的 :-)
所以DOS4.0一开源,他立刻就想起了这件事,心急火燎地把它改掉了。
如果不是有个叫OwnedByWuigi用户手快,fork了最早发布的DOS4.0代码仓库,我们可能永远都不知道有这回事儿。
https://github.com/OwnedByWuigi/DOS/blob/ffd70f8b4fb77e2e6affbf1fad2fd8c349f0369f/v4.0/src/DOS/STRIN.ASM#L70
程序员经常在代码注释中看到脏话,比如: