要約

  • RFC 675は、サーフ、ダラル、サンシャインの共同著作として、プロセス間の通信を区別する規則を示し、他の技術者の貢献も明記している。著者名と謝辞は、貢献を具体的に評価する手掛かりになる。
  • Internet Societyの歴史解説が描くTCPの構想と初期実装には違いがある。仕様を書くこと、動く実装を作ること、利用を広げることは、同じ成果として扱えない。

1974年12月の仕様書に並ぶ三つの名前

サーフの功績を考える出発点は、抽象的な発明者像ではなく、残された文書である。1974年12月付のRFC 675、Specification of Internet Transmission Control Programは、Vinton Cerf、Yogen Dalal、Carl Sunshineの三人を著者として挙げる。サーフが技術仕様の作成に参加したことを示す、具体的な記録だ。

共同著者であるという事実は軽くない。議論を文章にし、相手に伝えられる形の仕様を共同で提示したという評価の根拠になる。一方、名前が三つ並んでいることから、執筆量が三等分だったとも、すべての設計判断を三人が同じ程度に担ったとも言えない。サーフが一人で最終決定したという読み方にも、この記録だけでは進めない。

ここで区別すべきなのは、貢献の存在と、貢献の配分である。前者は共同著者の記載によって確認できる。後者には、誰がどの案を出し、どの部分を変更し、どの判断を引き受けたかを示す別の記録が必要になる。サーフを具体的に評価することと、共同作業の内訳を分かったことにすることは、別の作業だ。

通信の相手をどう区別するか

この仕様書が扱う内容は、単なる将来像ではない。RFC 675の命名に関する規定では、ネットワーク通信をプロセス間の通信として捉える。一つのプロセスが複数のポートを持ち、他のプロセスとの通信の流れを区別できる。また、ソケット名を一意に識別するため、ネットワーク識別子、TCP識別子、ポート名を組み合わせる構成を示す。

重要なのは、区別するための単位を文書に落とし込んでいる点だ。プロセス同士が通信するという説明だけでは、同じプロセスが関わる複数の通信をどう見分けるかが残る。ポートを用いる規則は、その問いを具体化する。さらに、ポート名を単独で扱うのではなく、他の識別子と組み合わせることで、通信端点の名前を構成する。

この仕組みは、サーフたちが何に取り組んだのかを、肩書や名声よりも明瞭にする。提案の意味を他者が検討し、実装を考えるための、明示的な規則があるからだ。ただし、ここで説明しているのは1974年の文書の構成である。ネットワーク識別子やTCP識別子を、説明なしに現代のIPアドレスという言葉へ置き換えれば、文書が示す範囲を越えてしまう。

また、規則が具体的であることと、その規則に沿ったプログラムが実際に動いたことも同義ではない。仕様書は実装に向けた検討対象を与えるが、それだけで動作試験や利用実績の記録になるわけではない。サーフの共同著者としての貢献は、この区別を保っても十分に評価できる。

謝辞は貢献の記録であり、権限の一覧ではない

著者欄の外にも、設計に関わる人々が現れる。RFC 675の謝辞は、3ウェイ・ハンドシェイクと初期シーケンス番号の選択についてR. Tomlinsonの貢献を挙げる。さらに、プロトコル設計へのアイデアや助言に関して、D. Belsnes、J. Burchfiel、M. Galland、R. Kahn、D. Lloyd、W. Plummer、J. Postelを挙げている。

同じ文書は、初期の設計作業で論点の明確化を助けた人々として、R. Metcalfe、A. McKenzie、H. Zimmerman、G. LeLann、M. Elieにも謝意を示している。共同著者だけで完結しない貢献の記録が、仕様書そのものに含まれている。

この謝辞から読み取れるのは、文書が誰に何を帰しているかである。Tomlinsonへの記述は、特定の技術的要素に結び付いている。他の名前については、アイデア、助言、論点の整理という範囲の記載だ。その違いを消して、全員が同じ役割だったとまとめるべきではない。逆に、詳細が少ない人の貢献をなかったことにする根拠にもならない。

謝辞は、意思決定の組織図や権利関係を定める文書ではない。あるアイデアへの貢献が記されていても、それだけで排他的な発明や、実装を指揮した権限まで証明されるわけではない。共同著者と協力者を別々に確認する読み方は、サーフの評価を薄めるのではなく、どの種類の功績を論じているかを正確にする。

構想したサービスと、最初に動いたもの

仕様と実装を分けて考える理由は、後年の歴史解説にも表れる。Internet SocietyのA Brief History of the Internetによれば、サーフとボブ・カーンは、信頼性があり順序を保つ配送から、損失、破損、順序の入れ替わりが生じ得てもアプリケーションが下位のネットワークを利用できるデータグラムサービスまで、TCPが幅広いサービスを支えることを意図していた。

しかし、同解説が述べる初期のTCP実装が支えたのは仮想回線だけだった。解説は、それがファイル転送やリモートログインには適していた一方、高度なネットワークアプリケーションには適性が低かったとしている。これは、意図したサービスの範囲と初期実装の機能を、同じものとして読めないことを示す対比である。

ここから、サーフ個人が実装の範囲を狭めた、特定の協力者の批判を受けて方針を変えた、といった因果関係までは導けない。この対比だけでは、実装チーム、実装の正確な時期、サーフ個人の決定権限は特定できない。後年の解説に記された意図も、本人の動機を独立に確認したものとして扱うべきではない。

残る結論は、控えめだが明確である。サーフは、通信を具体的な規則で記述した仕様書の共同著者だった。その文書には、ダラルとサンシャインの名があり、Tomlinsonらへの技術的な謝辞もある。そこに記された設計上の貢献を認めることと、実装や普及の全成果を一人に帰すことの間には、埋めるべき証拠の距離がある。功績を丁寧に分けるほど、誰が何を残したのかが見えやすくなる。