最近,米Microsoftがアプリケーションの下位互換性を機能として提供しないケースが増えている。Windows Vistaにおいて,「SQL Server Desktop Engine(MSDE)」をはじめとするいくつかのマイクロソフト製品の互換性がないのがその典型だ。

 Windows VistaにおけるMSDEとの非互換性は,ユーザーにとってはもちろん問題になるだろう。しかしMicrosoftは明らかに,わざわざリソースを割いて非互換性を解消しようと考えていなかった。Microsoftから見れば,非互換性問題は「Win-Win」な状況であるとさえ言えるかもしれない。製品の設計から互換性機能を削ることによって,Microsoftは新製品をより早く市場に出荷できるし,ユーザーに対して各ソフトウエアのアップグレードを迫れるようになる。

 筆者は,この戦術はどう考えても偽りに満ちていると思うし,ユーザーはこのやり方に怒りを覚えると思う。

 Microsoftは必ず,新製品は自社製品と最も緊密に統合されていると言うし,恐らく自社のユーザーやコミュニティに耳を傾ける気持ちはあるようだ。しかし,非互換性戦略によって,ユーザーは最新版へのアップグレードが強いられるわけで,これがユーザーにとって利益にならないことは明らかだ。ただし誤解しないでほしいのは,筆者はMSDEの熱心なユーザーではないし,これからアプリケーションを開発するなら,どんな状況でもMSDEではなく「SQL Server Express」を推奨する。

 しかし,多くのサード・パーティ製アプリケーションがMSDEを使っている。サード・パーティは,Windows Vistaがリリースされる前に,自社のソフトを修正しなければならない。よってMicrosoftの非互換性戦略の影響をまず受けるのはサード・パーティだが,少なくとも彼らはこの状況を認識しているだろう。本当に迷惑を被るのは,MSDEがWindows Vistaで動作しないことを知らずにいて,Windows Vistaにアップグレードしたときに初めてそのことに気づき,愕然とする大勢のユーザーである。

 Windnows Vistaへの移行に取り残されたのはMSDEだけではない。Microsoftの最も重要な開発製品であるVisual Studio 2005は,Service Pack 1(SP1)がリリースされるまでWindows Vistaとの完全互換性は実現されない。しかしそのSP1は,まだベータ版のままだ。

 Visual Studio 2005はWindows Vistaでも動作するが,Windows Vistaのユーザー・アカウント・コントロール(UAC)でいくつか問題を起こす。さらに「Visual Studio .NET 2003」や「Visual Studio .NET 2002」などの,もっと以前のバージョンは,Windows Vistaで全くサポートされない。

 開発者は一般のユーザーよりも早く最新技術を取り入れる傾向があるが,それでもVisual Studio .NET 2003はもちろん,Visual Studio 6をいまだに使っている組織もたくさん存在する。Visual Studio製品のアップグレードは,MSDEのアップグレードよりも多少難しい点がある。MSDEからSQL Server 2005 Expressへのアップグレードには時間と手間が必要だが,どちらの製品もMicrosoftのWebサイトから無料でダウンロードできるので,少なくともこのアップグレードには余計な費用は発生しない。Visual Studio 2005の場合はそうはいかない。Visual Studio .NET 2003からVisual Studio 2005 Professionalへのアップグレードには,549ドルの費用がかかる。しかもこの金額は,接続クライアント数に応じて増えるのだ(ただし,オンライン・ショップではもっと安く購入できる。例えばAmazon.comではVisual Studio 2005が488.61ドルで売られている)。

 SQL Server 2005 Expressのような新しい製品でさえも,Windows Vistaへのアップデート問題と無縁ではない。なぜなら,SQL Server 2005 Expressを実行しているシステムをWindows Vistaへのアップグレードするためには,アップグレード前にSQL Server 2005 Express SP2を適用しておく必要があるからだ(しかもまだSP2は公開されていない)。

 下位互換性は,少なくともMicrosoft製品のこれまでのバージョンでは,洗練された特徴ではなかったが,必要不可欠な機能であった。下位互換性を切り捨てたことは,基本的にエンジニアリングや顧客関係の両面で失敗と言える。Windows Vistaへのアップグレードを検討しているユーザーは,まず下調べをして,使っているアプリケーションがWindows Vistaで動作するかどうかを確認する必要がある。言い換えれば,「石橋を叩いて渡れ」ということだ。