MS-DOS 4.0 のソースコードをオープンソースとして公開
- Microsoft は IBM と協力し、オープンイノベーションの精神のもとで MS-DOS 4.00 のソースコードを MIT ライセンスで公開した
- 10年前には MS-DOS 1.25 と 2.0 のソースコードを Computer History Museum に公開し、参照用として再配布したことがある
- このコードは約45年前の 8086 アセンブリコードで全面的に書かれたオペレーティングシステムであり、歴史的に重要な位置を占める興味深い内容となっている
DOS 4.0 の複雑で興味深い歴史
- DOS 4.0 には Microsoft が IBM と一部のコードを共同開発したものの、広く配布されなかった Multitasking DOS という DOS ブランチも存在したため、バージョンの歴史がやや複雑で興味深いものになっている
英国の研究者 Connor "Starfrost" Hyde の発見
- 英国の研究者 Connor "Starfrost" Hyde は最近、元 Microsoft CTO の Ray Ozzie に連絡を取り、彼のソフトウェアコレクションの一部について話し合った
- Ray はフロッピーディスクの中から、Lotus 在籍時代に受け取った DOS 4.0 の未公開ベータバイナリを発見した
- Starfrost は Microsoft OSPO に連絡し、DOS 4、MT-DOS、そして後に OS/2 となるものの関係を文書化する取り組みの一環として、DOS 4 のソース公開を打診した
- この新しい Ozzie ベータバイナリは、インターネットで見つかる Multitasking DOS バイナリの後期バージョンよりもはるかに初期のもので、未公開版であり、
ibmbio.com のソースも含まれている
Microsoft の追加の取り組み
- Microsoft の Scott Hanselman は、インターネットアーキビストであり愛好家でもある Jeff Sponaugle の協力を得て、このオリジナルディスクをイメージ化し、「Ozzie Drop」の原本印刷資料を注意深くスキャンした
- Microsoft は IBM の仲間たちとともに、これが共有する価値のあるオペレーティングシステム史の興味深い一部だと考えている
- Jeff Wilcox と OSPO は Microsoft のアーカイブを調査したが、MT-DOS の完全なソースコードは見つからず、今回公開する MS-DOS 4.00 と追加のベータバイナリ、文書の PDF、ディスクイメージなどを発見した
- さらに新たな発見があれば、このリリースを更新する予定である
謝辞
- Ray Ozzie、Starfrost、Jeff Sponaugle、Larry Osterman、IBM OSPO の仲間たち、Greaseweazle、Fluxengine、Aaru Data Preservation Suite、HxC Floppy Emulator などのデジタル考古学ソフトウェアの作者たちに感謝を表する
- 何よりもこのコードの原著者たちに感謝する。その一部は今も Microsoft と IBM で働いている
自分で実行してみる
- このソフトウェアを自分で実行して探索したい場合は、当時の IBM PC XT や新しい Pentium で直接動かすことも、オープンソースの PCem や 86box エミュレータで動かすこともできる
GN⁺ の意見
- 今回のソースコード公開は、歴史的価値の高い意義ある出来事に見える。MS-DOS は PC の歴史の中で重要な位置を占めているだけに、多くの人にとって興味深い資料になるだろう
- ただし DOS 4.0 は未完成のバージョンであり、実際に広く使われたわけではないため、実際に使われた DOS である 3.x や 5.0、6.x 系のソースも公開されるとよさそうだ
- 未完成版のソースであっても、当時の OS 開発手法やコードスタイルなどをうかがえる点で意義はあるが、実際の製品に使われたコードを見ることにはまた別の価値があるだろう
- 古いフロッピーディスクの内容を復元する作業は簡単ではなかったはずだが、関連ツールが発展してきたことで可能になったのだと思う。今後も過去の遺物をデジタル考古学として復元する試みが増えることを期待したい
- ソースとあわせてビルド可能な環境も提供されれば、MS-DOS を自分でビルドして改変してみる機会にもなりそうだ。レガシー OS を学ぶうえで大いに役立つだろう
1件のコメント
Hacker News の意見
オリジナルの IBM XT とモノクロディスプレイアダプタで MS-DOS 4.0 の動作に成功したとのこと。小さなゲーム、Turbo Pascal、DOS プロンプトの間を 1 つのキーで切り替えられて素晴らしかったという。
MS-DOS のソースコードでは、開発者がフラストレーションを感じたときによく使っていた悪態は "brain damaged" だったようだ。
IBM XT 上で MS-DOS 4.0 が動作する短い動画が共有された。Scott がフロッピーディスクを入手し、公開許可を得たことを大いに称賛する声が上がっている。
ソースコードに "Dam multiplan!" というコメントがあり、表計算アプリケーションの Multiplan への悪態ではないかと推測されている。
このソースコードには、ポリシーが施行される前に書かれたと思われる罵り言葉が含まれているようだ。
MS-DOS のソースコードがオープンソース化されたのは良いことだが、外部からの働きかけで実現した点は残念だという声もある。企業内部で歴史的なソースコードを公開しようとする動きが不足しているように見える。
MS-DOS 5.11 以降は TSR やメモリマネージャなどが安定していた記憶があるという。5.x、6.x 系のソースコードも公開されれば興味深いだろう。
MS-DOS 4.0 の発売(1986年)からオープンソース化(2024年)まで 37 年かかった。このペースなら Windows XP は 2038 年ごろにオープンソース化されるだろう、という予想もある。
MS-DOS 4.x は大半のヴィンテージ DOS ソフトウェアを実行できるため、ソースコード公開には大きな意義がある。
MS-DOS 4 は全体的に出来の良くないバージョンで、広く使われてはいなかった。3.3 や 5.0 のほうが一般的だった。MUF (Microsofts Undocumented Features) の一覧を覚えている人がいるだろうか、という声もある.