Windows NT の開発過程を描いた名作、『闘うプログラマー』に出てくるアルダス・ページメーカーのエピソードみたいだなと思いつつ読んだ。NT は Windows 95の前に発売されているので、似たようなことを先にやっているのだ。『闘うプログラマー』によれば、マイクロソフトが互換性を取るといったことについて、当時 PC Magazine 誌はこう書いている。
オペレーティング・システムの大手企業はいずれも、新しい OS を発表するにあたって、従来の OS との互換性を保証すると約束してきた。しかし、この約束がはたされたことは、一度もない。そして、今回だけはちがうと考える理由は、どこにもない。だから、これは誇張にすぎないと安心して断言できる。開発の最終段階の混乱のなで、最初に放棄されるのは、この互換性機能になる。
1990年代初頭のコンピュータ雑誌がそう書くのも無理はないことなのだが、NT 開発チームはこの挑戦を受けて立つしかなかった。再び『闘うプログラマー』を引用しよう。
これまでコンピューター・メーカーは、一歩前に進むたびに、過去のアプリケーション・ソフトをすべて放棄するようユーザーに強いる態度を取ってきた。性能を上げるためには、すべてを捨てて新しい船に移れとユーザーに言ってきた(もちろん、高性能の新しい船には乗らないというのであれば、古いソフトを使いつづけることができる)。一九八七年に OS/2 を発売したとき、マイクロソフトもこれとおなじ態度をとった。OS/2が失敗して、ゲイツは強烈な印象を受けている。この失敗を教訓に、ゲイツは技術革新の衝撃をよく理解できるようになった。大量のパソコン・ユーザーが一度にどこまでの革新を受け入れられるのかを判断できるようになったのだ。ユーザーは、過去を捨てずに未来に移行したいと望んでいる。だから、NTは、古いアプリケーションをサポートしなければならない。
そういうわけだから、互換性を取ることは NT チームにとって重要な問題であった。エミュレータを用意し、そこでウィンドウズや DOS用のソフトが動くように設計されたが、いわゆる行儀の悪いソフトが多数あり、特定のソフトが動くようになると他のソフトが動かないといった問題が発生した。
そして、後に 95チームがしたのと同じ、特定のソフトのためにフラグを立て、バグを迂回するという方法なども使い、最終的に互換性を維持することに(おおむね)成功したのだった。冒頭に書いたページメーカーの話は、最後の大問題として登場する印象的なエピソードだ。こちらにも地上の星を流してあげたい。
さて、リンク先の文章を読みながら私が考えたことは、Windows 95の開発過程を書いた本も読んでみたいが、それより、それほど仲がよかったとは聞いていない 9xチームと NTチームは、その後どのように動き、両者が合体した OS である Windows XPを完成させたか、そんな物語が読んでみたいと思った。
|