要約

  • 1993年5月のRFC 1459は、すでに数年にわたって開発・運用されていたIRCを記述した。「Experimental」は文書の区分であり、稼働中のサービスがなかったという意味ではない。
  • 著者は世界規模のネットワークを描き、主要ネットワークの平均利用者数が2年間で10倍になったと報告した。ただし、集計方法や母数を示す独立した統計は掲載されていない。
  • 同じ文書はサーバーの木構造、当時の実装バージョン、すでに認識されていた拡張性の問題も記録している。

最初のRFCをシステムの誕生日のように読むと、順序を取り違える。IRCの場合、RFC 1459は運用中のシステムを撮った一枚の記録に近い。J. OikarinenとD. Reedがまとめたこの文書は1993年5月に公表され、ステータス欄ではExperimentalとされた。しかし要約は、それより前の四年間を振り返る。最初は掲示板システム(BBS)の利用者同士が会話するために実装され、その後に開発が続いたという。まだネットワークが存在しない構想を発表したのではなく、すでに使われながら変化していたプロトコルを記述しようとしていた。

後の文書は、もう少し明確な年を記している。2000年のRFC 2810は、IRCが1989年から開発され、RFC 1459が1993年5月に最初の正式な文書になったと述べる。これは後年の回顧であり、最初の稼働記録そのものではない。それでも二つのRFCを合わせれば、運用と非公式な改良が先行し、およそ四年後に公刊文書が続いたという慎重な時系列を組み立てられる。

1993年の要約は、IRCがサーバーとクライアントから成る世界規模のネットワークを支えていたとも述べる。さらに、主要ネットワークにつながる平均利用者数が過去二年間で10倍になったとする。母数、計測方法、時系列データは示されていない。著者が重要な状況として記した点は歴史資料として残すべきだが、独立検証済みの利用者調査として扱うことはできない。「世界規模」も著者の説明であって、設置状況を網羅した地図ではない。

文書に示された構成を見ると、なぜ拡大が負荷になったのかがわかる。サーバーは木構造をなし、それぞれがクライアントを受け入れ、別のサーバーにつながってメッセージを枝に沿って届ける。木構造は経路の重複を避ける一方、共有状態を小さくはしなかった。RFC 1459の9.1節は、各サーバーが他のすべてのサーバーと利用者を把握し、変更を速やかに反映する必要があると指摘する。経路を短くし、枝を十分に広げながら、サーバー数は抑えたいという設計上の緊張があった。各ノードは会話を中継するだけでなく、広いネットワーク像も維持しなければならない。

実装に関する節は、別の時間的な境界も示す。著者は、当時の唯一の現行実装はIRC server 2.8だったと記す。それ以前の版は文書の一部しか実装していないことがあり、後方互換性のために仕様とソフトウェアに差も生じていた。これは著者たちが当時記録した実装状況であって、すべてのサーバー、クライアント、派生版を数えた調査ではない。むしろ、文書とプログラムが同じ速度で固定されていなかったことを示す。

Experimentalという区分と、ネットワークが稼働していた事実は、別の問いに答える。ExperimentalはIRCが仮想のものだったという意味ではなく、利用者がいたこともInternet Standardになった証拠ではない。現在のIETF Datatrackerの記録はRFC 1459をLegacyとし、IETFが承認しておらず、標準化プロセスに正式な地位がないと説明する。現在の記録を1993年の表示に置き換えてはならない。それでも、RFCとして公開されたことと標準として承認されたことが同じではない点は明らかだ。

2000年には、アーキテクチャ、チャンネル管理、クライアントプロトコル、サーバープロトコルがRFC 2810、RFC 2811、RFC 2812、RFC 2813に分けて記述された。いずれもInformationalであり、RFC 2810はInternet Standardを定める文書ではないと明記する。記述が細分化されたことは、文書化が続いた証拠ではあるが、全域への展開や制度的な採用を証明するものではない。

RFC 1459が残したのは、稼働中のサービスを当時の著者がどう記録し、その時点ですでにどんな拡張性の課題を認めていたかという資料だ。歴史は「RFCがIRCを作った」ではない。利用者と実装と運用上の制約を持つプロトコルが、最初の正式な記述より先に存在し得るという順序である。