微软公司开源了MS-DOS4.00的源代码,揭示了计算机历史上的一个重要里程碑,这值得称赞。但这家科技巨头在发布过程中的失误,可能会给渴望研究几十年前代码的历史学家和档案保管人员带来不必要的麻烦。
正如OS/2博物馆的软件策展人MichalNecasek所指出的那样,正确的做法是将源代码转入Git仓库,而不是提供原始存档。他提出了一个很好的观点:"历史悠久的源代码应该以ZIP、tar或7z等文件归档的形式发布,并保留所有时间戳和每个字节的原样。Git根本就不是一个合适的工具"。
将源代码扔进Git后,微软可能以多种方式破坏了文件,例如,Git忽略了原始时间戳,带走了关于每个文件最后修改时间的潜在有价值的元数据。更糟糕的是,UTF-8编码的转换把一些代码变成了乱码,破坏了构建过程。
正如Necasek所强调的,几十年前的源代码不仅仅是文本,它本质上是二进制数据,需要完全保存,不能做任何修改。重新编码会导致程序崩溃,因为像MASM5.10和MicrosoftC5.1这样过时的工具自然无法处理像UTF-8这样的Unicode格式,而当时还不存在这种格式。
虽然MS-DOS4.00代码的可用性对于研究从MS-DOS到Windows发展历程的软件历史学家来说无疑是一个福音,但GitHubbing方法可能会不必要地破坏将代码作为真实档案材料进行构建和分析的努力。
不过,一位用户名为"starfrost"的评论者声称,他们与微软合作发布了这一版本,并在原文中表示,他们有可能获得原始ZIP文件。不过可能无法获得时间戳,因为"数据保护法规定源文件必须匿名"。
此外,Necasek还表示,他可以通过将代码复制到PCDOS2000虚拟机并在其中运行构建过程来成功构建整个代码。因此,如果你想构建代码,这是一个不错的选择。
微软更明智的做法是直接从内部备份中以干净的ZIP或7z压缩包形式提供源代码,并进行适当编码,以原始形式保留每个字节。计算机的遗产对于业余爱好者来说实在是太珍贵了。
值得称赞的是,微软还额外提供了来自RayOzzie档案的测试版二进制文件、原始文档和磁盘映像,以方便用户进行仿真。
【查看完整讨论话题】 | 【用户登录】 | 【用户注册】