かつて MS-DOS は CP/M の盗用だという噂があり、それを証明できたら賞金を支払うという話がありました。この記事は事の顛末を個人的な興味から、また、何も知らない人がおかしな情報に惑わされることがないように簡単にまとめたものです。この話は日本語でもあちこちに情報が残っているので検索すれば見つかるでしょうし、古い話なので知っている人にとっては今更な内容でしょう。
CP/M は 1974 年にゲイリー・キルドールが開発した OS で、彼はデジタルリサーチ社(以下 DRI)の創業者です。MS-DOS (1981) や Apple DOS (1978) が誕生する前、CP/M は 8 ビット CPU のマイクロコンピュータ用の OS として広く使われており、当時は 16 ビットのコンピュータの標準 OS になるとさえ思われていました。ちなみにミニコンピュータの世界では PDP-11 用の DOS-11 が 1970 年、RT-11 が 1973 年にリリースされているなど、CP/M は最初の OS というわけではありません。メインフレームを含めればさらに前史があります。
1980 年、当時 IBM Personal Computer(現在の PC の遠い祖先、以下 IBM PC)を開発中だった IBM は、BASIC など開発していたマイクロソフトが OS を持っているのではないかと考えビル・ゲイツと接触しました。そしてビル・ゲイツの提案で、IBM PC 用の OS として CP/M を採用しようとしました。しかし DRI の弁護士でもあったキルドール夫人が秘密保持契約に拒否したこと(理由は諸説あります)で交渉は決裂し、IBM はマイクロソフトに新しい OS の開発を委託することになります。
しかし OS 開発に与えられた時間はわずかしかありませんでした。そこでマイクロソフトはシアトル・コンピュータ・プロダクツ(以下 SCP)のが開発した 86-DOS (QDOS) の全ての権利を最終的に 1981 年に取得し IBM PC 用に移植します。86-DOS はコンピュータキットを販売していた SCP が 16 ビット版の CP/M がリリースされないことに業を煮やしてティム・パターソンに開発させたものです。限定的にしか配布されていませんでしたが、すでに SCP と取引があり SCP 向けに BASIC を提供していたマイクロソフトは 86-DOS の存在を知っていたと思われます。これが後の MS-DOS となります(パターソンはその後マイクロソフトに雇用されます)。この時マイクロソフトは 86-DOS を IBM PC 用の OS に使用することを明かしておらず(IBM との秘密保持契約のため)、SCP はそのことを理由に 1986 年に訴訟を起こしますが、マイクロソフトが SCP に 92万5000ドルを支払うことで和解しています。
86-DOS はもちろん CP/M のソースコードを盗用して開発されたわけではありませんが、CP/M のマニュアルを見て開発しさらに改良を加えたもので、同じように動作するシステムコールを実装していました。ソフトウェア保護の法制度が整備されていなかったという話もありますが、現在の法律と照らし合わせたとしても、実装方法が異なれば同じシステムコールを実装しても盗用とはみなされません。例えば Linux や macOS が Unix と同じ関数を持っていたり、Wine が Windows の互換 API を実装しているのと同じことですし、昔は MS-DOS 互換の OS もありました(全く記憶にございませんが MEG-DOS や ALICE-DOS には大変お世話になりました)。しかしこれが MS-DOS が CP/M を盗用していると疑われることになる原因です。
PC DOS(IBM PC 用 MS-DOS)を入手したキルドールは PC DOS が CP/M を盗用したものであると主張しました。おそらくソースコードが盗まれたというよりも、メモリイメージやディスクイメージから逆アセンブルしてソースコードを作り出したと考えたのでしょう。CP/M は Intel 8080 CPU 用で、86-DOS は Intel 8086 CPU 用という違いがありますが変換ツールもあったようでゼロから作るよりは簡単でしょう。キルドールは訴訟を起こそうと弁護士に相談しましたが盗用の証拠とはみなされないと言われ、訴訟を起こす代わりに IBM に法的手段に訴えると言うことで IBM PC のオプションとして販売させることを認めさせました。しかし IBM は価格を CP/M を 240 ドル、PC DOS を 40 ドルに設定したため、CP/M は IBM PC 用の OS として主流になることはありませんでした。
噂の一つとして 1982 年に DRI はマイクロソフトと IBM を提訴し、新品の IBM PC の前でキーを数回叩くだけで、DRI に著作権表示を出力し裁判官を驚かせたというものがあります。しかし著作権表示を出力する方法について明らかになっておらず、このような訴訟が行われたという記録も残っていません。これは信憑性の低い噂話に過ぎません。
最終的に DRI は 1991 年にノベルに買収されました。キルドールは 1994年7月8日(金)にバイカーバー(バイク乗りたちのバー)での不慮の事故(または乱闘?)で頭を強く打ち、それが原因で(心臓発作を起こして?)3 日後に亡くなりました。当日は治療を拒否し、翌日9日に病院に搬送され即日退院、10日(日)再入院し、次の日の7月11日(月)に亡くなったとのことです。アルコール依存症を患っていたという話もあり「断定できないが殺人事件の可能性もある」という話もありましたが「気づいたら倒れていた」ぐらいしかわかっていないようです(参考)。陰謀論者が利用しそうな話ですが、犯人が存在するとしたら誰もそれを見ておらず、即死ではなく一度入院して退院しているのに誰かに殴られたと誰かに伝えていないのはおかしな話です。ちなみに 1994 年というのは(MS-DOS を起動時と互換性のためのみに利用する)ほぼ完全な 32 bit OS である Windows 95 発売の一年前で、(MS-DOS に全く依存しない)新しい Windows NT 3.1 が発売済みの頃です。つまり MS-DOS 時代が終わろうとしている頃なわけで、その頃になにかアクションを起こしても遅すぎるでしょう。1996年2月25日に放送された NHKの「新・電子立国 第5回 ソフトウェア帝国の誕生〜天才たちの光と影〜」では、キルドールが亡くなる直前とされる貴重なインタビュー映像が収録されており、キルドールは「マイクロソフトは何も発明していない。CP/M を 100% コピーした」と批判しています。キルドールは「Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry」という回顧本の草稿を書き上げ出版する予定でしたが、亡くなったことで出版されませんでした。この原稿の所有権は彼の子供らに引き継がれ、2016年にその一部が許可を得てコンピュータ歴史博物館で配布されています。
それから時は過ぎ、2012 年にコンサルティング会社を経営するボブ・ザイドマンは、米国の電気工学技術の学会誌「IEEE Spectrum」に「Did Bill Gates Steal the Heart of DOS?」という記事を掲載しました。ザイドマンは自社のフォレンジックソフトウェアを使って解析を行い、MS-DOS に CP/M を盗用したという証拠は見つからなかったと結論を出しました。
ただ上記の IEEE Spectrum のページに上部に加えられているように、著者のザイドマンはマイクロソフト社と関係(執筆当時モトローラモビリティ対マイクロソフト訴訟の専門家証人としてマイクロソフト社に協力)を公表していなかったとして遺憾の意を示しています。おそらくそれもあってか、IEEE Spectrum は 2016 年に MS-DOS が CP/M を盗用したという噂について明らかにしようとしました。MS-DOS のソースコードは Microsoft が 2014 年にコンピューター歴史博物館経由で公開されたもの(現在は GitHub 上に再公開)が用いられ、ザイドマンは再解析を行いました。その結果は、同じく MS-DOS に CP/M を盗用したという証拠は見つからないというものでした。
それでも(マイクロソフトとの関係を公表していなかったなどの理由で)ザイドマンの結論は疑われました。そこでザイドマンは、MS-DOS が CP/M の盗用であると証明できたら賞金を支払うと公表しました。
賞金は MS-DOS が CP/M の盗用であると証明できたら 10 万ドル、さらに キルドールまたは DRI の著作権表示を出力するソースコードを見つけたら 10 万ドルを最初の発見者に支払うというものです。このチャレンジは現在も有効のようで、現在も更新されている Zeidman Consulting サイトのトップページ上部の目立つ位置に掲示されています。
一連の顛末は、同サイトからリンクされた以下のページにも記載されています。
もうお気づきだと思いますが、賞金の話は MS-DOS が CP/M の盗用であることを証明してくれという願いからのものではなく、盗用ではないと結論づけたザイドマンが自身の自信ある結論を疑うというのなら間違いを証明してみせろというものです。MS-DOS(の前身となる 86-DOS)が CP/M を参考にしていたのは事実です。ですがそれは Linux が Unix を参考に作られたようなものです。外から見た時の形が似ていても、ソースコードが異なれば盗用とはみなされません。当時はそうやってさまざまな「互換機」や「互換 OS」が作られました。Linux もまた SCO が「Linux には UNIX のソースコードが流用されている」として訴訟を起こしましたが、ソースコードに盗用の証拠は見つからずもちろん敗訴です。
ビル・ゲイツは最初、IBM にゲイリー・キルドールが開発した CP/M を使用するように提案しました。理由があったにしろその交渉に失敗したのはキルドール自身のミスです。新・電子立国でキルドールは「IBM は CP/M の権利を買おうとしていた」と主張していますが、それが事実だとしても MS-DOS の権利はマイクロソフトのままなわけで交渉力の問題です。CP/M を盗用したというならば、それはビル・ゲイツではなく CP/M を参考にして 86-DOS を開発したティム・パターソンです。MS-DOS 程度の OS であればマニュアルから同等の機能を持つ OS を作るのは難しくありません。開発期間が短かった ビル・ゲイツは 86-DOS の権利を SCP から買い、86-DOS 開発者のティム・パターソンを雇いました。86-DOS の権利を買ったときに IBM が顧客だと知らせなかったのはフェアではないかもしれませんが、秘密保持契約のために明かすわけにはいかなかったでしょうし、その後 SCP に 92万5000 ドルを支払って和解しています。ビル・ゲイツは買うか真似しただけで自分で作っていないという話であれば、アップルのスティーブ・ジョブズなんで、macOS を自分で作ってないじゃないですか? macOS は 4.3BSD を利用して作られたものです。GUI もゼロックスのパクリということで有名ですし。
今もなお MS-DOS が CP/M の盗用だと信じている人がいるようですが、それならば一攫千金を狙ってザイドマンチャレンジに挑戦してみるのはいかがでしょうか? MS-DOS のソースコード も CP/M のソースコード も公開されていますし、比較するだけなら簡単でしょう。もっとも 10 年間近く世界中の人が挑戦しているはずの難問に打ち勝つのは相当困難でしょう。
その他の参考にしたページ