Windows Serverを中心に、ITプロ向け教育コースを担当

不都合な真実

»

 月刊「Windows Server World」の連載コラム「IT嫌いはまだ早い」の編集前原稿です。もし、このコラムを読んで面白いと思ったら、ぜひバックナンバー(2007年10月号)をお求めください。もっと面白いはずです。なお、本文中の情報は原則として連載当時のものですのでご了承ください。

■□■

 いまの世の中、あらゆるところでコンピュータが使われている。コンピュータのトラブルは、社会的な問題になることもある。コンピュータとその応用技術であるITの責任は重い。そのため、自社にとって都合の悪い事実を公開しなければならないケースも多い。今月は、こうした「不都合な真実」について考える。

●不都合な真実

 IT業界で最も多い「不都合な真実」は、プログラムのバグ(欠陥)である。何しろ「プログラムにバグがあるかどうかを完全に判定する方法はない」という定理(「計算可能数、ならびにそのヒルベルトの決定問題への応用」)があるくらいだ。

 もちろんバグを十分に少なくすることは可能だし、実際にプログラムの分量に対するバグの比率は確実に減っている。しかし、プログラムにバグがないことを完全に保証するのは不可能である。

 企業にとって不都合であっても、真実であれば公開すべきである。問題は「いつ公開すべきか」だ。今回は、遅すぎた例と早すぎた例を紹介する。

●Pentiumのバグ

 公開が遅すぎた例に、インテルPentiumプロセッサの、通称「FDIV問題」がある(インテルによる英語の解説もある)。1994年に見つかったこの問題は、通常なら12~13桁の精度があるはずが、特定の数値を扱う割り算に限って、3~6桁目で違う値になってしまうというものだ。原因は、CPU内部のプログラムが使う数表の転記ミスだったという。

 当初、インテルは問題の影響を過小評価していた。実際に計算結果が異なってしまう可能性はあまり高くないこと、高精度な計算が必要な人は多くないというのがその理由だ。

 インテル社外の専門家もFDIV問題の影響を受ける人はかなり少ないだろうと推定した。しかし、可能性が低くても計算ミスの可能性があるというのは嫌なものである。騒ぎが大きくなり、最終的にインテルは、該当CPUを無償交換することになった。

 また、マイクロソフトは、WindowsにPENTNTというコマンドを追加し、FDIV問題の有無判定と回避ができるようにした(WindowsXPまでは標準搭載されていた)。

 インテルの失敗は、問題が社内で発見されたあとも、それを隠そうとしたことにある。これに懲りたのか、インテルはCPUのエラー(インテルはバグとは言わない)は常に公開されるようになった。

 また、新しいCPUでは、コンピュータの起動時に修正プログラムを読み込めるようにした。この修正は通常BIOSの初期化時に行われるが、OS起動時に行われることもある。実はCPUのバグというのは意外に多い。これで新しい問題が発生しても、返品という事態は避けられるだろう。

●母ババ問題

 公開が早すぎて非難された例もある。Windowsのユーザー管理システムであるActive Directoryは、ユーザー名にひらがなやカタカナを使った場合、濁点や半濁点の有無を区別しない(促音や拗音も区別しない)。

 そのため「おがた(緒方)」と「おかだ(岡田)」の両方を同時に登録することはできない。もともとは、ヨーロッパ言語にあるアクセント記号(ウムラウトなど)の有無を無視するための仕様だという。

 日本語化するときに、濁音や半濁音をどうするかは簡単に決められない。緒方と岡田は明らかに違う姓であるが「やまざき(山崎)」と「やまさき(山崎)」を同一視しても問題はないだろう。むしろ同一視した方が都合がいいかもしれない。

 この問題はActive Directoryの完成直後に発覚し、通称「母ババ問題」と呼ばれた。「母」と「ばば(婆)」が同一視されるからだ。マスコミに母ババ問題を指摘されたマイクロソフト株式会社の成毛真社長(当時)は

確かにハハ事業部とかババ事業部を区別できないが、それのどこが問題か。そんな事業部があれば教えて欲しい。

と反論したそうだ(正確な発言記録は発見できなかったが、概ねこういうニュアンスだったと会場にいた人から聞いた)。

 実は、母ババ問題はオブジェクト名だけに発生し、検索用の氏名や部署名には影響しない。実用上の問題は皆無と言ってよい。あれから7年。Windows Server 2008 ベータ3でも母ババ問題が発生しているのは、それほど大きな問題ではなかったという証拠だ(*1)。

 そもそも、母ババ問題が致命的なバグではないということは、Active Directoryの専門家であればすぐに分かることだ。

 専門家でなくても「なぜ濁音の有無を区別する必要があるのか」を追求すれば、「区別しなければならない場合と区別しなくてもいい場合がある」ことに気付く。

 さらに追求すれば、区別しないといけない場合は名前の検索のときだけだということも分かるはずだ。そして、母ババ問題は検索用の属性には影響しない。「致命的なバグ」と主張していた自称IT専門家もいたが、もう少し考えて発言して欲しい。

 母ババ問題を糾弾したのは、IT専門誌よりも一般紙が多かったように記憶している。また、IT専門誌の中でも技術系のサイトよりニュースサイトの方が厳しい調子だった。たとえば日経BPのWebサイトは「ああ情けない!--発売直前、Win 2000日本語版独自バグ発生」と見出しを付けた。

 記者の皆さんがActive Directoryの勉強をしている暇がないことは分かるが、せめて専門家の意見を聞いて欲しかった。大方「母とババの区別が付かない」と誰かがあおるのを聞いて、そのまま記事にしたのであろう。筆者は新聞記事を見ながら1人で茶々を入れていた。「母はそのうち婆(ババ)になるし、父もそのうち爺(ヂヂ)になる」。

 実はこの問題、その他のバグや不具合を含めて、Windows 2000発売と同時にマイクロソフト自身によりサポート技術情報として一般公開された。そして、その情報を入手したマスコミが「最初から欠陥と分かっている商品を売るつもりか」と迫ったらしい。つまり、問題の公開が早すぎたために非難されたというわけだ。

 確かに、発売後数カ月してから情報を公開していれば「最初から欠陥と分かっている」とは言われなかっただろう。しかし、それが誠実な態度だろうか。

 実は、マイクロソフトのパートナー企業からは「早く公開してもらって良かった」と、深く感謝されたという。筆者は、マイクロソフトの行動は正しかったと思うし、これからも続けてほしいと思う。

●結局どうすべきか

 CPUはハードウェア製品であり、欠陥があれば交換の対象になる。一方、ソフトウェア製品の場合は、よほど大きな問題でもない限り、交換をする義務も習慣もない。両者を同一に論じることはできないが、1つ言えることがある。インテルの対応は誰からも感謝されなかったが、マイクロソフトの対応は、少なくとも一部の企業からは高く評価されたという点だ。

 問題が発見されたら、誰でも隠しておきたいと思う。「ばれなければいい」と思うのは自然な感情だ。しかし、万一ばれた場合にどうなるかを考えてほしい。プロジェクト管理技法では、リスクというのは「発生可能性×被害額」で評価する。ばれる可能性が少なくても、ばれた結果の影響が大きければ、リスクとしては大きくなる。

 すべての会社は継続を前提に運営されている。そのため、ビジネスは長期的な損得勘定をするべきである。「損得勘定抜きで」とは言わない。営利企業にそんなことができるはずがない。問題は短期的な損得勘定だけで進めようとする点だ。

 混ぜものをしているのに「牛肉100%」と言い張ったり、賞味期限の切れた原材料を使ったりすることは、短期的には利益向上につながるかもしれないが、長期的には致命的な問題を引き起こす。

 もちろん、すべての情報を即座に一般公開すべきだとは言わない。適切なタイミングと適切な方法を選択する必要がある。母ババ問題も、契約パートナー企業にだけ先行で公開するという方法もあったのではないかという気はする。

 では、もし自分が「不都合な真実」を知ってしまったらどうするべきか。最悪なのは、自分のブログで勝手に公開することである。それでは、単に自社が攻撃されるだけだ。

 「上司に相談する」のは模範解答だが、効果がないことも多い。「上司の上司に相談する」が一応の正解。少なくとも筆者はそう教わった。

 影響が及ぶ顧客と懇意であれば、顧客の担当者にこっそり打ち明けるのも悪くない。ただし、顧客が自分の味方になるとは限らないので慎重に。

 社会的な影響が大きいのであれば、監督省庁に密告するなり、マスコミにリークする方法もある。ただし、密告がばれた場合は会社に居所がないかもしれない。

 最も「不都合な真実」は、公開時期が遅れることで会社を倒産させることもある。そうなると何をしても結果は大して変わらない。自分にとって得な方法を選択しよう。

 いずれにしても、あらゆる問題は、何らかの方法で公開せざるを得ない。被害を最小限に抑えるには、桜の木を切ってしまったジョージ・ワシントンの戦略を採用しよう。

怒られる前に謝る。

(*1)しかし、フランスの首都「パリ」と、インドネシアのリゾート地「バリ」を同一視してしまうのはどうかと思う。

■□■Web版のためのあとがき■□■

 米国初代大統領ジョージ・ワシントンの話はご存じだと思うが、一応書いておく。

 ワシントンが子どものころ、いたずらで庭のサクラの木を切ってしまった。正直に親に話したら叱られなかったというものである。

 ワシントンはなぜ桜の木を切ったのか。米国人の知人によると「みんなが疑問に思うのだけど、誰も理由を知らない」という。

 そして、この話を聞いたあと、いたずらしたことを正直に告白したところ、お話とは違って、親や教師に怒られてしまうのだとか。

 知人は「米国の子どもは、ここで教訓の無意味さと、人生の不条理さを学習する」と断言していた。

 そういうわけで、謝ったら許してくれるとは考えない方がいい。ただ、経験から言うと、少なくともビジネスにおいては、先に謝った場合はお金で決着が付くことが多い。さすがに現金のやりとりはないが、無償で製品やサービスを提供するとか、大幅に値引きを行うことで損害を相殺してもらうことはある。

 ところが、謝らずに隠そうとすると、取引の永久停止や訴訟という事態に発展する可能性もある。そこまでこじれるのは実際に体験したことはないが、たまに新聞や雑誌の記事になる。

 本当のことを言っても信用してもらえないケースもある。まるで「狼少年」である。中国で、段ボールを薬品で処理して挽肉の増量に使っていたという報道があった。後に、この報道はねつ造であり、段ボールを挽肉に混ぜた事実はないとされた。

 ところが、筆者の回りでは「ねつ造」という報道が中国政府の報道操作であり、第一報が正しかったとする意見が多い。中国は、そこまで疑われる国なのだろうか。1000年前にはローマ帝国と並ぶ先進国だったのに残念なことである。

 そういえば、日本の文化の多くは中国に由来している。多くの日本人が、中国へ留学したものだ。

 ところが、最近は、中国の人が日本に留学に来ている。当然、授業料は発生している。奨学金もあるようだが、全額負担ではないだろう。そういうわけで、中国人の研修生が日本人に言うネタがある。

漢字は無料で教えてあげましたよね。

 どこまで本気か分からないので、どう対応していいか分からない。中国人と接する機会のある人は、場が和むようなうまい切り返しを考えておくと良いだろう。

Comment(2)

コメント

ごんべえ

昔のことなら、遣隋使、遣唐使は、朝貢としてそれなりに貢物を持っていったんじゃないでしょうか?

横山哲也

もちろんそうなんでしょうけど、そこは「ネタ」ということで。

コメントを投稿する