相互運用性を確保するには

あえて誤解を恐れずに言おう。

相互運用性を確保するには、圧倒的なシェアを持つソフトウェアがあったほうが良い。DNSにおけるBIND、SMTPにおけるSENDMAIL、HTTPにおけるNCSA MosaicとCERNのHTTPサーバー。標準技術が混沌としているときには、レファレンスコードとなる核が必要だ。IETFにおける標準化においてもリファレンスコードとしてランニングコードを重視しているのもそのためだろう。

相互運用性を達成するために、分厚い仕様書を作ったり、プラグフェスタをしたり。そういう努力ももちろん大事だが、実際には絶対的なソフトウェアが1つデファクトスタンダードとなり、その仕様が公平に公開されるほうが効率は良い。たすきがけ状態での確認よりも、ハブ&スポーク方式での確認のほうが楽なのは、中学生でもわかる簡単な順列・組み合わせの問題だ。

ただし、効率が良ければ、良い技術が確立されるとは限らない。また、組織(団体)としての健全性もまた別問題だ。

一度、今までのいくつかの代表的な標準の成立を整理してみるのも面白そうだ。