企業ユーザーがWindowsを使ううえで,知っているとちょっと役に立つ「Windowsの豆知識」を紹介するWindows談話室。第2回では,「Windows Server 2008」が今まさにそのフェーズにある「評価版」の正体を解説する。

Windows担当デスク(以下デスク):最近,マイクロソフトがリリースする新製品の評価版には,「ベータ」と呼ばれるものだけではなく,「CTP(Community Technology Preview)」と呼ばれるものがあるようだけれども,「ベータ」と「CTP」にはどのような違いがあるのかな?

Windows担当記者(以下記者):言葉の意味としては,ベータが「広く一般に公開する評価版」で,CTPが「配布する対象を限定した評価版」ということになります。

 新製品の開発にあたっては,数カ月に1度CTPをリリースし,適当なタイミングでCTPとして用意していたビルドを「ベータ1」や「ベータ2」と名付けるのが,最近のマイクロソフトの流儀になっています。そのため,評価版を広く一般に公開しなくていいようなマイナーな製品の場合,公開されるのはCTPだけで,ベータが公開されないことすらあります。

デスク:ベータとCTPの違いは名前だけ,ということか。

記者:そうとも言い切れません。マイクロソフトがCTPをリリースするようになったのは2004~2005年頃のことなのですが,ベータしかリリースしていなかった頃と比べて,より頻繁に評価版がリリースされるようになりました。

 かつて,ベータしか無かった頃は,評価版は「アルファ」「ベータ1」「ベータ2」「RC(製品候補版)」しか入手できず,リリースの間隔も半年ほどあいていました。しかしCTPが頻繁にリリースされるようになったので,今はその時の最新の評価版が入手できるようになったのです。

 また最近,マイクロソフトは評価版に関するスタンスを大きく変えています。かつてのベータとは「バグを洗い出すためにある」ようなものでした。つまり,未完成のコンポーネントが収められているのがベータだったわけです。しかしマイクロソフトは最近,「CTPには,その時点で完成しているコンポーネントしか収容しない」と言っています。未完成のコンポーネントは収容しなくなったのです。

 この変化は,大きいと思います。評価版を使うユーザーが,バグに悩まされることが減り,新機能の純粋な「評価」に専念できるようになります。実際にこのようなスタンスでリリースされた「Windows Server 2008 ベータ3」は,私の取材先である大手システム・インテグレータでも好評で「すぐに製品としてリリースできるほどだ」という声も挙がっていました。

 逆に,CTPに入れられる「完成したコンポーネント」が少ない場合,CTPがリリースできなかったり,リリースできたとしても新機能が搭載されなかったりしてしまいます。製品出荷まで間がある「SQL Server 2008」が正にこの状態で,「SQL Server 2005との違いがわからない」との評判でした。

デスク:マイクロソフトはどうしてCTPをリリースするようになったのだろう?

記者:今は「MSDN」や「TechNet」といった技術者向けの会員制情報サービスに,ソフトウエア・ダウンロード機能がありますから,評価版をCDにプレスする必要がなく,機敏に配布できるようになったということがあると思います。

 また私は,マイクロソフトの開発方針にも大きな変化があったのではないかとにらんでいます。マイクロソフトがCTPをリリースするようになった最初の製品群は,「SQL Server 2005」や「Visual Studio 2005」,「.NET Framework 2.0」でした。これらの製品で思い起こされるのは,開発が総じて非常に遅れた,ということです。

 実はこれらの製品には,SQL Server 2005(開発コード名:Yukon)には.NET Framework 2.0と連携する「SQL CLR」という機能が含まれており,Visual Studio 2005は.NET Framework 2.0とSQL Server 2005用の開発ツールである,という関係がありました。それぞれが深い依存関係にあったので,「Aの開発遅れがBの開発を遅らせ,Bの開発遅れがCの開発を遅らせ,Cの開発遅れがAの開発を遅らせる(逆のルートもあり)--」という負のスパイラルを発生させ,開発が遅れに遅れた,と言われています。

 特に,SQL Server 2005の開発遅れは,非常に深刻な問題を引き起こしました。SQL Server 2005は当初,2003年内に出荷されるはずでしたが,結局2005年末まで,開発が長引きました。そのため,SQL Server 2005をベースにした他の製品もキャンセルされてしまったのです。

 代表例が「Longhorn(後のWindows Vista,Windows Server 2008)」のストレージ・サブシステムである「WinFS」でしょう。WinFSはSQL Server 2005がベースになるはずでしたが,2004年中に開発が断念されてしまいました。また,「Exchange Server 2003」の次期バージョンも,当初はデータベースがSQL Server 2005をベースにしたものになるはずでした。しかし,その計画は破棄され,現在の「Exchange Server 2007」は,非常に古いデータベースである「Jetデータベース」を基に開発されています。

 マイクロソフトがCTPをリリースするようになった背景には,こういった教訓があるのではないかと思っています。今のように,評価版には「完成したコンポーネント」しか入っていないのであれば,評価版に含まれるコンポーネントに依存した機能も,安心して開発できるようになるのではないでしょうか?

デスク:本当にそうなると,心強いだろうな。