今週のざっくばらん
オペレーティング・システムの地政学(4)
今週は、Windows 95 以降のパソコン用のOSについて書いてみます。
Windows 98 と Windows ME
Windows 98 (1998年)と Windows ME(2000年)は Windows 95 をそのまま継承したOSで、内部では MS-DOS 時代の 16bit のコードと 32bit のコードが混在して動いています。Windows 98 は、Internet Explorer と Windows Explorer を融合したことが独占禁止法にひっかり、長期の裁判により多額の罰金が課せられたでけでなく、多くの人たちを疲弊させ、最終的には Bill Gates の引退にまで繋がりました。
私はエンジニアとしてWindows98の設計と実装を担当していたため、この件に関してはとても複雑な気持ちがです。エンジニアの仕事は「問題を解決すること」にあり、当時の私に目の前にあった課題は「インターネットの台頭により、WindowsやOfficeの相対的な価値が下がる可能性がある」という問題であり、Internet Explorer と Windows Explorer の融合はそれに対する私なりの答えだったのです。
Windows 2000、Windows XP
Windows 2000 (1999年)と Windows XP (2001年)は、Windows NTカーネルの上に、Windows 95 のGUI(グラフィックス・ユーザーインター・フェイス)を乗っけたものです。
Cairo プロジェクトが破綻した後、Windows NT チームは上層部の指示で独自のGUIの開発を続けていましたが、Windows 95 の市場での成功を見たNTのエンジニアたちが、(上層部を飛び越して)Windows 95 チームから直接ソースコードを入手し、移植した後に上層部にプレゼンした結果、GUIが統一されることになったという隠れた美談があります。上司が何を言おうが、自分が会社にとって良かれと思うことを貫くことが成功に繋がった、良い例です。
Windows Vista、Windows 7
Windows Vista は、Windows XP がリリースされてから5年後の2006年にリリースされましたが、 このギャップは、Winows の歴史の中でも最大のものです。
Microsoft は、もともと Windows XP の後を注ぐ OS として、GUI を全て .Net で実装し直し、ファイルシステムにデータベース機能を持たせた Blackcomb と呼ばれる OS を計画していました。しかし、Blackcomb を一気に実装するにはあまりにも時間がかかるため、その間を埋める OS として Longhorn というプロジェクトを立ち上げました。
Microsoft は莫大な予算を注ぎ込んで Longhorn の開発を進めましたが、開発が進むにつれ、仕様が肥大化し、2004年の時点で「このままではリリース出来ない」ことが明確になり、全てをリセットして Windows XP のコードベースからリスタートしたことが決まったそうです。
当時、Microsoft を離れていた私のところにも「戻って来て、助けて欲しい」という連絡が来ましたが、相当悲惨な状況だったようで、社内では「Cairo の再来」と言われたそうです。Cairoと同じく、あまりにも多くの人材を一気に投じて「画期的な次世代OS」を作ろうとした結果の破綻です。
結果として、Windows Vista のリリースは大きく遅れた上に、中途半端な形でリリースされたため、動作も不安定で、市場での評判はとても悪いものでした。
Microsoft は、2009年にリリースされた Windows 7 で Windows XP が抱えていた問題を解決しましたが、結果として言えば、Microsoft にとってのこの10年間は、「暗黒の10年」と呼んでも良いほどの悲惨な時期でした。
この期間、Microsoft はパソコン市場でのOSのシェアを大きく失うことはありませんでしたが、この期間に Windows OS の持つ価値は大きく薄れ、市場での Microsoft の存在感が大きく弱まったことは疑いのない事実です。
Windows 8、Windows 10
Longhorn の失敗で痛い目を見た Microsoft は、GUIの全面描き直しをあきらめ、コードベースはそのままに見た目だけを大きく変えた Windows 8 を2012年にリリースしました。タッチスクリーンを意識したタイリング形のユーザーインターフェイスで、当時、並行して進められていた Windows 10 Mobile と共通のものです。
この記事は約
NaN 分で読めます(
NaN 文字 / 画像
NaN
枚)