PR
Microsoft MVP: Windows - Networking
NTTデータ
基盤システム事業本部 システム方式技術ビジネスユニット 第一技術統括部 第一システム方式技術担当 シニアエキスパート
高橋 基信氏

著者紹介
 1970年生まれ。1993年早稲田大学第一文学部哲学科卒。同年NTTデータに入社。「日本Sambaユーザ会」役員や「日本Windows NTユーザ会」スタッフを務め,オープン・ソース,Microsoft双方のコミュニティ活動にかかわる。日経Windowsプロ「トラブル解決Q&A」の常連回答者。著書に「アンドキュメンテッドMicrosoftネットワーク」がある。趣味はピアノと声楽。

 マイクロソフトの企業向け製品は「最短10年間」サポートされることになっている。しかし,ちょっと見方を変えると,この10年という期間は一気に短くなってしまうことにお気付きだろうか。

 その理由は,サービス・パック(SP)の存在である。SPのサポート期間は「新しいSPが登場してから最短12カ月(Windows XP SP2やWindows Server 2003 SP1のように仕様変更が大きい場合は最短24カ月)」である。よって,サポート切れを避けるためには,SPのリリース間隔を考えると,大体1~2年ごとにSPを適用する必要が生じることになる。

 SPを適用することによって製品の実装が変更され,システムが動作しなくなってしまったという苦い経験をお持ちの方もいるだろう。マイクロソフトも「Windows XP Service Pack 2に含まれる修正一覧」のような資料を出しているが,この修正一覧は頻繁に更新される(SPが出た時点で完璧な修正一覧がない)し,アプリケーションにどのような影響を及ぼすか示されていない。SP適用によって何が起きるのか,網羅的に示した資料が存在しないのだ。

 結局,基幹システムなど重要なシステムにSPを適用するためには,動作試験をやり直すしかない。しかも動作確認の結果,実装が変更になっていたとしても,通常は「仕様である」の一言で片付けられてしまう。泣く泣くシステム側で対応せざるを得ず,その際の費用も当然ユーザー持ちだ。

 結局,SPを適用するということは,製品をバージョンアップすることとあまり大差がない。見方を変えると,1~2年ごとバージョンアップを強いられる——と言うことに他ならない。

 皮肉なことに,サポート体制が弱くなる「延長サポート・フェーズ」に入るとSPがリリースされなくなるので,ようやくこのバージョンアップから解放される。

サービス・パックは必要か?

 マイクロソフトの資料「修正プログラムよりサービス・パックが優れている理由」をみても,SPはバグを修正するものと位置付けられている。にもかかわらず,SPの適用には躊躇(ちゅうちょ)してしまう。

 その理由を凝縮すると「何が起きるか分からないこと」に尽きる。もし「SPが既存のバグ修正の集合体」なのであれば,「Microsoft Updateなどで日々アップデートしてあるシステムは,SPを適用してもトラブルが発生しない」はずだ。

 しかし実際のところ,SPにはMicrosoft Updateなどで公開されていたバグ修正以外に,(1)機能強化などを目的とした実装の変更,(2)Microsoft Updateや「ダウンロードセンター」で公開されていなかったバグ修正(図)も含まれている。リリース・ノートなどで明示されている修正もあるが,マイクロソフト自身が予期していない実装の変更が発生していることも珍しくない。

図●ソフトウエア更新プログラム(Software Update)の種別

 しかもSPは「一括で適用するか,しないか」といった選択肢しかない。SP適用によって互換性が損なわれることが分かった場合,互換性を損なう機能だけをインストールしたくないという要望は多いと思う。しかし,そうした方法は提供されていない。さらにSPをアンインストールしたときも,完全に元の状態に戻らない場合の方が多い。アンインストールを行った場合,インストール前とは異なる「第三の状態」となると見なさざるを得ない。  こうした実情を踏まえ,常々マイクロソフトに要望しているのは,SPの廃止である。バグやセキュリティぜい弱性の修正は,個別の更新プログラムで対処できる。マイクロソフトとして適用してほしい更新プログラムは,商用UNIXベンダーが行っているように「推奨更新プログラム集」を作成して,その内容を定期的に更新してもらうようにする。これをSPと称すればよいだろう。

 個々の更新プログラムにおいて,挙動の変更は極力行わないことを徹底するのは言うまでもないことである。バグ修正やセキュリティぜい弱性への対応で挙動が変更される場合は,必ずリリースノートなどのドキュメントにその点を網羅する。

 もちろん,そうは言っても,予期せぬ挙動の変更が発生すること自体はやむを得ないだろう。しかし,それはバグとして元の挙動に戻すか,やむを得ず戻せない場合はドキュメントに追記していけばよい。少なくとも,挙動が変わっても「仕様」で処理しようとする今のマイクロソフトの姿勢は問題だと認識されるべきであろう。

ソフトウエアのあるべき品質保証とは

 いろいろと書いたが,ご存知のようにマイクロソフト製品に限らず,市販されているソフトウエアは基本的に無保証である。挙動がどう変わろうが,品質が低かろうが,サポート期間が短かろうが,いわゆる瑕疵(かし)にはならない。法律上も,ソフトウエアは無体物のため,PL(製造物責任)法の適用外である。もっとも仮にPL法レベルの製造物責任を問われてしまっては,ソフトウエアの価格を数十~数百倍にしないと,とても採算が合わなくなるだろう。

 残念ながら,ソフトウエアには必ずバグがあるというのが現状である。市販ソフトウエアの価格を維持したまま,いわゆる瑕疵担保責任をとれというのは非現実的である。しかし,無保証の下に,数年ごとのバージョンアップを強要されている現状は容認すべきではない。ソフトウエア業界の現状を踏まえた,なんらかの製造物責任の考え方があってもよいのではないか。

 例えば,発売後X年間はセキュリティぜい弱性のパッチを無償,もしくは合理的な価格で提供すること,パッチと機能変更の抱き合わせ配布は認めない,無保証とする場合はソース・コードの公開義務を発生させる,アンインストールで現状復帰できることを保証させるなど——。いろいろな状況を考えると,一筋縄ではいかない課題だと思っているが,将来機会があったら取り組んでみたい。


(日経Windowsプロ2006年1月号より)


Microsoft MVPとは…
 Microsoft MVP(Most Valuable Professional)とは,MS製品のユーザー会やメーリングリストなどでユーザーのサポートをしている人の中でも,特に貢献度が高いとMSが認定したプロフェッショナル。Windows ServerやSQL Serverなど部門ごとに認定されている。