全5821文字
PR

 プリンストン大学で1999年の秋から行われている一般人向け講義「Computers in Our World」。最終回は、ソフトウエアの「標準」と「オープンソース」についてブライアン・カーニハン氏が語る。

 標準とは、いくつかの成果物がどのように作られるか、またはどのように機能することになっているかについて、正確かつ詳細に説明したものです。

 Wordの.docや.docxといったファイル形式のような標準は、「事実上の標準」(デファクトスタンダード)と呼ばれます。それらは正式に標準の地位にあるわけではないのですが、誰もがそれを使っているからです。

 「標準」という言葉は、政府機関やコンソーシアムなどの準中立的な団体によって開発および管理されている、何かが構築または運営される方法を定義する正式な説明に対して当てはめることが、最もふさわしいものです。その定義は十分に完全かつ正確であるため、別々の主体同士がそれについて話し合ったり、それぞれ独立した実装を提供したりすることができます。

 私たちは常にハードウエア標準から恩恵を受けていますが、その数がどれくらいあるのかは気にかけていないかもしれません。

 新しいテレビを購入した場合は、プラグのサイズと形状、およびそれらに提供される電圧に関する標準のおかげで、安心して自宅のコンセントに接続することができます(もちろんこれは他の国では成り立ちません。ヨーロッパへバカンスに出かけたときには、私の北米仕様のプラグをイギリスやフランスのコンセントに差し込むことができるようにする、巧みなアダプターをいくつも持参しなければなりませんでした)。

 地上波放送やケーブルテレビの標準のおかげで、テレビ自体が信号を受信して画像を表示してくれます。私はHDMI、USB、S-Videoなどのような標準的なケーブルとコネクターを介して、その他の装置を接続することができます。

 しかし、それぞれのテレビには、独自のリモコンが必要です。なぜならそれは標準化されていないからです。いわゆる「ユニバーサル」リモコンは、ある限られた動作にしか使用することができません。

 互いに競合する標準がある場合さえありますが、それは往々にして生産性を下げるようです(コンピューター科学者のアンドリュー・タネンバウムがかつて、「標準についての素晴らしいところは、選択肢がたくさんあることです」と言ったように)。

 歴史的な例としては、ビデオテープのベータマックスとVHS、そして高精細ビデオディスクのHD-DVDとBlu-rayなどが挙げられます。どちらの場合も、最後には1つの標準が勝ちましたが、米国の2つの互換性のない携帯電話技術のように、複数の規格が共存する可能性もあります。

 ソフトウエアの世界にも、ASCⅡやUnicodeなどの文字セット、CやC++などのプログラミング言語、暗号化と圧縮のためのアルゴリズム、そしてネットワークを介して情報を交換するためのプロトコルなど、様々な標準が存在しています。

 標準は、相互運用性と開かれた競争の世界にとって、とても大切です。

 標準は、独自に作成されたもの同士が一緒に働くことを可能にしてくれますし、プロプライエタリ(独占的に所有されている)なシステムがともすると利用者を囲い込もうとするのに対して、複数のサプライヤーが競い合う場所を提供してくれます。当然、プロプライエタリなシステムの持ち主は、利用者の囲い込みを好むものです。

 標準には不利な点もあります。もしそれが劣っていて時代遅れのものであるにもかかわらず、その使用が全員に強制された場合には、進歩が妨げられる可能性があります。とは言え、これは利点と比べたときにはささやかな欠点です。