IBMとMicrosoftの確執

話はOS/2 1.20をリリースした直後の1990年から始まります。IBMとMicrosoftの確執を語る上でJames Cannavino(ジェームズ・キャナビーノ)氏の存在は欠かせません。同氏は1988年末の時点でIBMのパーソナルコンピューター担当責任者に就任し、同社のIBM PS/2を中心とした部門を管理していました。前述のとおり、OS/2 1.0は1985年から開発が始まり、1987年12月にファーストバージョンが発売されましたので、必然的にIBM PS/2だけでなくOS/2も同氏の担当となります。

Cannavino氏は若い頃メインフレームのプログラム部門で働いた経験があることから、簡単なソースコードを読むことができたとか。そこで担当になったOS/2 1.xのソースコードを読んだところ、内容があまりにもひどかったとか。もちろんこの意見は同氏側から見た内容ですが、もう少し俯瞰(ふかん)的に見ると両社における"文化の違い"が原因だったように思えます。

例えば開発プロセス一つとっても両社のスタンスは違いました。IBMの場合、よく言えば組織的、悪く言えば官僚的。形式的に物事が進んでいきましたが、当時のMicrosoft(の開発部門)はハッカー文化をほどよく残したメンバーが多く、両社は水と油ほど違うスタンスで作業を進めていました。また、OS/2に対する"思い入れ"も大きく異なったのでしょう。

IBMからすればOS/2は自社製品を支えるOSですが、Microsoftは共同開発社であり、共同開発契約を結んだ1985年には、既にWindows 1.0をリリースしています。表向きにBill Gates(ビル・ゲイツ)氏は、「We believe OS/2 is the platform for the 90s(1990年代はOS/2の時代だ)」と当時のCOMDEXで発言していました。しかしそれは、うがった見方をすれば、契約的な理由もさることながら、当時最大の顧客だったIBMと仲違いするのは得策ではないと判断し、"歩みを共にする"ことをアピールしていたのではないでしょうか(執筆時点では、同発言をYouTubeで聞くことができます。興味のある方は発言内容で検索してください)。

このような見方をする理由として、1980年代後半のMicrosoftは、"Windows NTの父"と言えるDavid Cutler(デヴィッド・カトラー)氏や、天才と呼ばれつつ最終的にはCTO(Chief Technology Officer:最高技術責任者)の地位まで上り詰めたNathan Myhrvold(ネイサン・ミルボルト)氏といった優秀な人材を多く集めていたという事実があります(もっともMyhrvold氏は、同氏の会社であるDynamical Systems ResearchをMicrosoftが買収したことにより入社したため、スカウトという形ではありませんでした)。

実際の現場でも、後にCutler氏のチームに参加してWindows NTの開発に携わるSteve Wood(スティーブ・ウッド)氏は当時OS/2の開発に参加していましたが、同氏はOS/2を「埃まみれのバグだ」と切り捨てていました。このように、MicrosoftはWindows OSの開発を推し進めつつOS/2の開発に参加しており、開発現場の関係は冷え切った状態。そのため、前述のようなうがったような見方をしてもあながち間違いではないでしょう。

そしてOS/2を襲ったもうひとつの悲劇がハードウェアの進化でした。最初に述べたとおりOS/2はIBM PS/2のOSとして開発されましたが、同マシンは下が8086、上は80386DXというIntel製CPUでラインナップを組んでいます。そのため、OS/2のターゲットも80286に絞り込まれましたが、上位版である80386が大方の予想を覆して1985年にリリースとなります。

もちろん当初から80386をターゲットにOS/2を開発するという選択肢もありましたが、当時80386を搭載したマシンは希少な存在であり、潜在市場規模を限定する判断を下すのは厳しかったのでしょう。リリースタイミングをIBM PS/2に合わせなければならない、という大きな制限も課されていたことを踏まえても、OS/2はタイミングを逸したリリースであったことは間違いありません。

IBMの戦略が本当に間違っていたと断言できませんが、両社開発チームの温度差や商業的不振を踏まえますと、当時のOS/2は正しく評価されない悲しいOSと言えるでしょう。この頃はIBMが主導のOS/2 2.0、Microsoft主導のOS/2 3.0の開発が進められていました。そしてOS/2にとって大きな岐路となったのがバージョン2.0をリリースする2年前の1990年に、米コンピューター雑誌「InfoWorld」に掲載された一つの記事です。

以前から両社の間には悪感情が行き交い、MS-DOSのロイヤルティー分割やOS/2の開発費用の分担を求めてきたIBMと、それを不快に感じるMicrosoftの関係は爆発寸前に達していました。そこに油を注いだのが、酒場でGates氏がCannavino氏を嘲笑したというコラム記事です。執筆者は「コンピュータ帝国の興亡」でも有名なRobert X Cringely(ロバート・X・クリンジリー)氏でした。

両社はすぐに良好な関係を示す共同発表を行いましたが、感情が起因となる問題は怖いものです。蓄積してきた感情が爆発するがごとく、Microsoftは社内のOS/2開発チームをWindows NT開発チームに移動させ、開発中だったOS/2 3.0をWindows NTと改称しました。

ちなみにMicrosoftの方向転換の背景には諸説がありますが、ここでもう一つの説を紹介しましょう。Microsoft側のOS/2開発責任者だったPaul Maritz(ポール・マリッツ)氏は、自社がOS/2から撤退し、Windowsの開発に注力すべきだと1990年当初からGates氏に訴えていました。ちなみに同年はWindows OSで初めてヒットしたWindows 3.0をリリースした年です。

Gates氏は、当時最大の顧客であるIBMを裏切ることになるとPC/AT互換機全体でMicrosoft製品が使われなくなるリスクが発生するため、Maritz氏の訴えを退けてきました。しかし、突然意見を変えたのは1990年7月の話。以前からIBM側のWindows OS開発に対する圧力に嫌気がさしていたGatesは、Windows OSとOS/2の両者をサポートする新OSの開発に注力すると決定しました(その後IBMの開発陣に嘘だとばれてしまいますが……)。表面的にIBMと協力関係を保ちつつ、新しいWindows OSが完成するまでの時間を稼ぐという策士的な判断ですが、Gates氏が大きく舵を切った理由の一つにWindows 3.0の爆発的ヒットがあったのは事実でしょう。

いずれにせよ、この方向転換の結果、150人にも及ぶOS/2開発チームをCutler氏率いるWindows NT開発チームへ合流させ、IBMとMicrosoftの共通認識だった「コンシューマーOSはWindows 3.x、ワークステーション向けOSはOS/2」という看板を取り下げ、独立独歩の道を歩むのです(図03)。

図03 爆発的ヒットとなったWindows 3.0(画面は英語版)。1990年にリリースされています

2年遅れで登場したOS/2 2.x

前述のとおりIBMとMicrosoftの両社は訣別しましたが、それでも1991年には軽量化したバージョン1.3をリリースし、同年10月にはOS/2 2.0の発表を行いました。しかし、実際にバージョン2.0をリリースしたのは1992年3月31日。既にWindows 3.0で地盤固めを行っていたMicrosoftは、ほぼ同時と言える同年4月6日にWindows 3.1をリリースしています。ちょうどOS/2 2.0 vs Windows 3.1という構図が生まれたわけです(図04)。

図04 IBMが独自開発したOS/2 2.0。DOSを同時に複数実行するMVDMが備わっています

両社の訣別によりIBMが独自開発したOS/2 2.0は32ビット化し、Windows 3.0との互換性を持つWIN-OS/2、オブジェクト管理を実現したWPS(Workplace Shell:ワークプレースシェル)でデスクトップを彩るなど、なかなか興味深い機能が備わっています。しかし、もっとも魅力的だったのは複数のDOS実行環境を用意できるMVDM(Multi-Virtual DOS Machine)ではないでしょうか。

複数のDOS環境はプリエンプティブマルチタスク環境で動作するだけでなく、それぞれ異なるアドレス空間で実行可能だったことから、バージョン1.x時代に問題となったコンベンショナルメモリー問題も解決しています。1990年初頭にWindows 3.x用アプリケーションがなかったわけではありませんが、やはり過去の資産であるIBM/MS-DOSアプリケーションを使用するユーザーは多く、当時のWindows 3.xよりも安定動作するOS/2 2.0は"最強のDOS環境"と評されました。

ちなみにWindows 3.xでも同様の仕組みは用意されています。それはVDM(Virtual DOS machine:仮想DOSマシン)という形式で実装されましたが、一部のリクエストに対して仮想デバイスドライバーを用いていましたので、すべてのIBM/MS-DOSアプリケーションが正しく動作するわけではありませんでした。VDMはその後も改良を重ね、Windows NT系で使用されるNTVDMに進化しましたが、64ビット版のWindows OSは仮想86モードが使用できませんので、NTVDMは存在しません。

加えてWIN-OS/2も、大きなアドバンテージの一つとなりました。これはMicrosoftと交わしていたライセンスにより、Windows 3.xのモジュールをOS/2のMVDM上で実行するというものです。繰り返しになりますが、MVDMの安定度の高さから、過去のIBM/MS-DOSだけでなくWindows 3.xも本家より安定しましたので、OS/2 2.0は統合プラットフォームとして一つの完成に達したと言えるでしょう。

しかし、新しいソフトウェアにバグは付きもの。OS/2 2.0も例外ではありません。例えばOS/2 2.0は32ビット化をうたっていますが内部的には16ビットコードが残っていますし、その関係からデバイスドライバーを作成するときには特殊なテクニックが必要になりました。また、WPSでは設定情報をテキストであるINIファイルに記述していましたが、何らかのタイミングでINIファイルが破損するとGUI環境が崩れてしまう問題も発生しています(ただし同様の問題はWindows 3.xでも発生していました)。

このようにOS/2 2.0は魅力的なOSに仕上がっていたため、一定のOSシェアを確保できそうに思えましたが、ここでもいくつかの問題が発生しています。もっとも大きな問題となったのは、リリースタイミングでした。前述したWPSはOS/2の独自色を打ち出す意味では成功しましたが、OS/2 2.0のリリースを遅らせた要因の一つ。1992年の時点では、Microsoftが先行してコンピューターのプリインストール市場を席巻し、新たに登場したOS/2を採用するベンダーは数える程度でした。

1993年5月には、グラフィックサブシステムを32ビット化し、WIN-OS/2にマルチメディア機能を提供するMMPM/2(Multimedia Presentation Manager)を追加したバージョン2.10をリリース。1993年後半には、マイナーバージョンアップ版である2.11をリリースしています。ちなみに同バージョンからは、Windows 3.1環境に上書き導入することが可能なパッケージを用意しました。これはWIN-OS/2が用いるWindows 3.1モジュールおよびライセンス料が含まれないため、低価格化を実現できました。

バージョン2.0から続く安定度や32ビット化など、OS/2が持つアドバンテージはますます高まり、当時DOS/V系と呼ばれた日本のコンピューター雑誌ではOS/2 2.11の体験版を収録しています。蛇足ですが、この頃の筆者は某コンピューター雑誌のスタッフとして働いており、日本アイ・ビー・エムから送付された大量のFD(フロッピーディスク)をCD-ROMに収録するため、ディスクイメージ化を半自動化するためのバッチファイルを書いていました。懐かしい思い出の一つです。

このようにIBM本社はもちろん、日本アイ・ビー・エムなど各国の支社もOS/2の普及に努力しました。日本国内では女優の山口智子さんが出演した「DOSも走る、Windowsも走る。OS/2なら一緒に走る」というテレビCMも流されましたが、結果はふるわず。1993年9月をもってIBMとMicrosoftの間で結ばれていたソースコードの相互公開契約が満了し、OS/2は独立の道を進むことになります。