前些天,微软开源了DOS4.0,这其实算不上什么大新闻,因为:
1. 这是个非常古老的,没人用的操作系统;
2. 这不是DOS第一次开源了,1.25版,2.0版在6年前已经开源了
图片
有意思的是,网友发现,开源以后,一个叫做mzbik的人心急火燎地修改了其中一行代码的注释:
图片
图片
这个注释的意思是:“脑子有问题的Tim Patterson......”
mzbik把Tim Patterson改成了缩写TP,其他保持不变。
这就有意思了。
Tim Patterson是谁?为啥脑子有问题?
mzbik又是谁?他为啥要这么做?
上世纪七十年代末,八十年代初,正是个人电脑开始爆发的前夜。
美国华盛顿州的西雅图,有个叫西雅图计算机产品(简称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
程序员经常在代码注释中看到脏话,比如:
图片
之前我还写过一篇文章《脏话越多,代码越好》
但这些脏话一般是骂代码烂,不会骂人,在DOS源码中这么指名道姓地骂Tim Patterson,说人家脑子有问题就太过分了。
Mark Zbikowski 也是,把Tim Patterson改成TP,这不是欲盖弥彰,更加引发大家的好奇吗?难道Mark就是为了吸引大家的注意力?
Tim Patterson被骂的原因,恐怕只有当事人才能说清楚了。
3
微软开源了DOS,但它们是最不重要的几个版本,最流行的3.x、5.x、6.x版本却没有开源。
另外,国外网友Bryan Lunduke(前微软员工)特别指出,微软这次开源DOS4.0,很多科技媒体争相报道,但是它其实根本无法编译!你根本无法构建一个可以工作的MS-DOS 4.0。
这样的开源相当于把自家不用的,破旧的老古董拿出来晒了晒,这样的开源又有什么意义上呢?
图片
微软号称拥抱了开源,拥抱了Linux,自家也确实有不少产品开源,最著名的就是VS Code,但是在自家操作系统的开源上,它是非常保守的。