皇帝の衣装

Web サービス関連の標準の多さには誰しも眉をひそめるところだろう。一つの仕様を実装しようとして文書を読み出すとさまざまな関連仕様のリンクをたどっていかなければならず、それらの文書を集めていけば、あっという間に二桁の URI や PDF が集まることになる。
そんな気持ちを代表しているのが Tim Bray のポストだ。
彼がたどった Web サービス関連の仕様を列挙して(ここできちんとリンクを張っているところが偉いと思う)、最後に "Is this the future? Is the emperor dressed?" とまとめている。確かに仕様の表面だけをたどっていくと Bray 氏のような感想になるし、ましてや彼は XML で最も偉い人の一人だ。思わずうんうんそうだと同意して愚痴の一つでも言いたくなるが、ここではそれは我慢してなぜこのような状況になっているのかを考察してみたい(ちなみにこのネタは xml-dev でもスレッドができていた)。

そもそも仕様が雨後の筍のようにポコポコ出てくる状態は Web サービスに限ったことではない。Web が出てきて W3C が仕様をどんどん策定してきた当時に、〜ML がいっぱいあってわけがわからない、という声をあちこちで聞いたものである。このように仕様の数が膨大になることはコンピュータやインターネット関連ではよくあることだ。RFC は現在 三千番台まで行っていて、これを全部完全に把握している人はほとんどいないだろうし、W3C の TR のページのリストも97年当時から比べると非常に長大化している。

古きよき時代の標準化に比べると、今の技術の標準化に要求されるスピードは段違いに速いはずだ。W3C は ISO などのスピードの遅いデジュール標準を目の敵にしてる(と書くとちょっと語弊があるかな)。ISO は基本的に各国の代表が参加し、国レベルの投票で標準化が行われる。一つの仕様が策定されるまでには数年以上が必要となる。
要求されるスピードが速くなったという話は何も標準化に限ったことではない。一般によく言われるのはシステムの開発スピードが上がっているということだろう。経営判断のスピードが重視され、システム構築にかける時間が減り…という話はよくセミナーーなんかで聞く話だ。注目すべきはその解決の手法の一つとして、Web サービスが取り上げられるところだと思う。つまりこれらの話は全てリンクしているわけだ。Web サービスは上記のようなシステムをすばやく簡単に作るためのものだから、その仕様そのものの策定スピードも必然的に速くなる必要がある。
では仕様を策定するスピードを下げる要因は何か。一番大きいのはネゴシエーションだろう。ISO で言えば各国、W3C で言えば各会員の間でさまざまな調整が必要になる。必然的に調整のために多くの会議を開催しなければならず、仕様策定のペースは落ちる。各国、各社の思惑が衝突すればさらに長い時間が必要となる。W3C は ISO が各国の思惑の間で立ち往生する姿をみて、企業間のコンソーシアムとして発足し、ISO よりも素早い標準化活動を誇った。しかし W3C の影響力が増すと、結局は各社の思惑が衝突し標準化プロセスは鈍足になっていった。この傾向は OASIS でも同様だろう。結局スピードを上げるには少数の有力なプレイヤーでデファクト仕様を作ってしまうしかない。
マイクロソフトIBM がやっているのはまさにこれだ。
ただしMS+IBMの標準化プロセス、が他人にまったく門戸を開いていないわけではない。そのプロセスには一般からのフィードバックが含まれており、それにしたがって改定が行われる可能性がある。これをオープンな標準と呼ぶかどうかは微妙なところだが、密室で決められているわけではないと言える。
でも、それらの標準をコントロールする権限はエディタ企業にあることは確かだ。何か要求を出したとして、彼らがノーといえばその要求は通らないだろう。このようなプロセスが他のベンダーに受け入れられるわけがない。
が、結局のところマイクロソフトIBMもそんなことは百も承知で戦略的に WS-* の標準化を行っているのだろう。誰がなんと言おうと彼らの影響力を持ってすればデファクト標準を作るのはたやすいことだし、そして何よりもこの世界ではスピードが最も大切なことだからだ。W3COASIS ではここまでのスピードは出せない。
このようなベンダー間の争いの間で、一介の Web サービスエンジニアはどうすればいいのか。建設的な意見を述べれば、自分の必要とする標準に積極的にコミットしてよりよい世界を作っていくべきなのだが、現実的には半分あきらめるしかないだろう。ただ、そこで愚痴を言うだけに終わってしまうのは格好が悪いと思う。愚痴は自己満足に過ぎず、何も生み出さないからだ。技術者ならば物を作ってなんぼだろう。
これ以上書くとボロが出そうなので、これくらいにしておこう。

そもそも本題の雨後の筍上体についてはあまりきちんと書けなかった。また WS-* などについては、「なぜ車輪を再発明する、既存の仕様を使いまわせばいいじゃないか」というような議論がどこかの blog でなされていたのだが、残念ながらロストしてしまった。また思い出したら書くことにしよう。