Featured image of post 伝説のプロトコルXanaduについて

伝説のプロトコルXanaduについて

目次

背景

  • Xanaduという、コンピュータ史上最も有名な「ベーパーウェア」と呼ばれるプロトコルについて調べていたところ、同じ構造を持つ別の事例(OSI参照モデルとTCP/IP)に気づいた
  • この記事では、両者に共通するパターンと、それを説明する理論的枠組み、さらに似ているが実は違う概念(拙速は巧遅に勝る、Jugaad、Less is More)を整理する

Xanadu: 伝説のベーパーウェア

  • Ted Nelsonが1960年に構想した、ハイパーテキストシステム
  • Nelsonは1963年に「hypertext」「hypermedia」という言葉自体を作り、1965年に発表した人物
  • Xanaduの構想は、後のWWWより先進的だった点が多い
    • Transclusion(トランスクルージョン): 他の文書の一部を「コピー」ではなく「生きた引用」として埋め込む仕組み。元の文書が更新されれば埋め込み先にも反映され、出典も自動的に保持される
    • 双方向リンク: WWWの一方向リンク(リンク先が消えればリンク切れになる)とは違い、リンクは双方向で、リンク切れが起きない設計
    • マイクロペイメントによる著作権管理: コンテンツが引用・転載されるたびに、元の作者に自動で少額の対価が支払われる仕組み
  • しかし実装は何十年も「来年完成する」と言われ続け、1995年にWired誌がGary Wolfの記事「The Curse of Xanadu」で「コンピュータ史上最も長く続いたベーパーウェア」と評した
  • 最初の不完全な実装がようやく1998年にリリースされ、2014年に「OpenXanadu」という一応動くバージョンが公開された

WWW: 雑だが広まった方

  • Tim Berners-Leeが1989〜1991年に作った、一方向リンクと単純なコピペだけのシンプルな仕組み
  • 双方向リンクもTransclusionもなく、リンク切れも起きるが、実装が簡単で、すぐに広まった
  • Xanaduが目指した厳密な参照管理ではなく、曖昧なリンクとコピーで十分、という設計が実際のインターネットの基盤になった

OSI参照モデル: もう一つの「正しい設計」

  • 国際標準化機構(ISO)が1978年から標準化を進めた、7層構成の包括的なネットワークモデル
  • モデルを先に設計し、それに合わせてプロトコル群を作るという、理論重視のアプローチ
  • 各国・各企業がそれぞれの思惑(自社の技術的優位性を規格に埋め込みたいなど)を持ち込んだ結果、仕様がどんどん複雑化し、読むだけで専門家が必要なレベルになった
  • 実装も重く、動き出すのが遅かった

TCP/IP: もう一つの「雑だが勝った」方

  • Vint CerfとBob Kahnが、ARPANETが急成長して既存プロトコルが限界を迎えるという、具体的な1つの問題を解決するために作った
  • 標準化委員会による設計ではなく、無料で、しかも既にBSD Unix上で動いていた現実的な代替
  • 結果的に「プロトコル戦争」に勝ち、現在のインターネットの基盤になった

Worse is Betterという理論的枠組み

  • プログラマーのRichard P. Gabrielが1989年のエッセイ(元は「Lisp: Good News, Bad News, How to Win Big」の一部)で示した対比
  • The Right Thing(MIT/Stanford流): 理論的に正しく、完全で、一貫性のある設計を目指す
  • Worse is Better(New Jersey流、AT&TのUnix/Cの流儀): 実装の単純さ・早さを優先し、多少雑でも実際に動いて広まることを優先する
  • Gabrielはこの対比を、Lisp(The Right Thing側)がC(Worse is Better側)に実務で負けていった理由として論じた
  • 後から「正しい設計」が完成した頃には、先に広まった「雑な設計」に利用者がロックイン(乗り換えコスト)されていて、もう置き換えられない、というのが核心の主張
  • XanaduとOSI参照モデルはどちらもThe Right Thing側、WWWとTCP/IPはどちらもWorse is Better側に位置づけられる

拙速は巧遅に勝る

  • 孫子の兵法にある言葉で、「兵聞拙速、未睹巧之久也」(戦では、下手でも速い方が勝った例は聞くが、上手だが遅かった例を見たことがない)という意味
  • Gabrielの主張と同じ構造を、紀元前の兵法書が既に指摘していたことになる

Jugaadとの違い

  • インドのJugaad(ジュガール)も、同じ「雑でも速い方が強い」という結論に至るが、動機が違う
  • Jugaad: 制約の中で生まれる、創意工夫による即興的な解決。Navi Radjou、Jaideep Prabhu、Simone Ahujaの2012年の著書『Jugaad Innovation: Think Frugal, Be Flexible, Generate Breakthrough Growth』で、逆境の中に機会を見出す・より少ないリソースでより多くを行う・シンプルに保つ、といった原則として整理された
  • Jugaadでの単純さは、資源が足りない(資金・時間・インフラがない)という制約から、仕方なく選ばれたもの
  • 一方、Worse is Better(AT&TのUnix/C、DARPAのTCP/IP)は、資源が豊富にあった組織が、あえて単純さを戦略的に選んだという話。制約から仕方なく選んだのではなく、完全性より単純さの方が実務で勝つと見抜いて選んだ
  • 結果(雑でも速い方が強い)は同じでも、理由(必要に迫られた工夫 vs 戦略的な判断)が異なる

Less is Moreとの違い

  • 「Less is More(少ない方が豊かである)」も似た響きを持つが、主張の向きが逆
  • 元は詩人Robert Browningの1855年の詩「Andrea del Sarto」の一節で、建築家Ludwig Mies van der Rohe(ミース・ファン・デル・ローエ)がミニマリズムの標語として広めた
  • Less is Moreは「要素を削ぎ落とすことで、より質の高い・エレガントな設計になる」という、品質そのものに関する前向きな価値判断
  • Worse is Betterは「理論的には劣る設計でも、実装の速さ・単純さによって、先に普及した方が実務上は勝つ」という、品質ではなく普及・タイミングに関する主張
  • WWWやTCP/IPが「質が高い」から勝ったわけではない。あくまで「先に広まった」から勝った、という点がLess is Moreとの決定的な違い

まとめ

  • Xanadu(厳密な双方向リンク・Transclusion)とOSI参照モデル(7層の包括的な標準)は、どちらも理論的に正しい「The Right Thing」を目指した設計だったが、WWW(片方向リンクとコピペ)とTCP/IP(ARPANETの具体的な問題解決)という、雑だが先に動いた設計に実務で負けた
  • この構造は、Richard P. GabrielのWorse is Better(1989年)という理論的枠組みで説明でき、さらに遡れば孫子の「拙速は巧遅に勝る」にも通じる
  • Jugaad(インドの即興的イノベーション)も同じ結論に至るが、制約による必然という点でWorse is Betterの戦略的選択とは動機が異なる
  • Less is More(建築のミニマリズム)も似た言葉だが、「質そのものが高い」という主張であり、「質は劣るが普及で勝つ」というWorse is Betterとは主張の軸が違う
  • 結論を2つの言葉でまとめると、Worse is Better(理想が完成する前に、雑でも先に広まった方がロックインで勝つ)であり、同時にLess is More(削ぎ落としたシンプルな設計は、普及という観点でも結果的に豊かな価値を生んだ)とも言える。質の高さではなく普及の力学としての勝利であることを押さえつつ、両方の言葉がこの現象の違う側面を言い当てている

参考文献

Built with Hugo
テーマ Stack は Jimmy によって設計されています。