1989年3月、ジュネーブ郊外の CERN。33歳の英国人契約社員が、上司の机に14ページの提案書を置いた。タイトルは「Information Management: A Proposal」。上司は数週間後、提案書の余白にこう書いた。
Vague, but exciting.
承認ではない。曖昧だが、面白い。公式プロジェクトにはならなかった。予算もつかなかった。その代わりに、上司は当人に「時間を割いていい」とだけ許可を出した。
そこから4年後、世界のインターネット上で最も多く使われているプロトコルは、この副業から生まれたものになる。
Mission
CERN は素粒子物理の国際研究所だ。1989年当時、世界中から集まった数千人の研究者が、それぞれ別々の計算機、別々のプログラミング言語、別々のドキュメント形式で仕事をしていた。共同研究の書類が誰のマシンにあるのかを探すことに、研究時間の相当部分が消えていた。
提案書を書いた男の名は Tim Berners-Lee。オックスフォード出身の物理学者兼ソフトウェアエンジニアで、CERN との契約は1984年から続いていた。1980年、6ヶ月の短期契約中に、彼は自分用の情報整理ツールを書いていた。名前を ENQUIRE と呼んだ。ノードと双方向リンクだけで、何が何とつながっているかを記録する。プロジェクト、人、ハードウェア、概念を、任意の順序で結べる。
ENQUIRE はローカルなツールだった。1989年の提案は、これをネットワーク越しに拡張する構想だった。
「大規模なハイパーテキストデータベースで、タイプ付きのリンクを持つ」。Berners-Lee は提案書でそう定義した。既存のインフラでは、TCP/IP と DNS はすでに動いていた。電子メールも FTP もある。だが、文書と文書を「リンク」でつなぐ標準は存在しなかった。
ハイパーテキストの概念自体は Ted Nelson が1960年代に提唱していた。だがどれも実装されないまま、20年間、論文の中に留まっていた。
上司 Mike Sendall は提案を却下しなかった。かといって承認もしなかった。「時間を使っていい」とだけ言った。
1990年の秋、Berners-Lee には Steve Jobs が起業した NeXT のワークステーションが1台あった。それが実装用の環境になる。
Design
制約は明快だった。予算はない。人員は自分ひとり。承認プロセスもない。だから設計判断は「最も薄い層」に収斂する。
Berners-Lee は3つの部品だけを設計した。
HTTP。文書を要求し返すためのプロトコル。ステートレスで、1回のリクエストで完結する。既存の TCP の上に乗せる。
HTML。文書のマークアップ言語。SGML の部分集合で、リンクを表す <a> タグを持つ。ブラウザで読めない要素は無視する。
URL。文書のアドレス指定。プロトコル名、ホスト名、パスをスラッシュで連結するだけのテキスト。
3つのすべてが、既存のインターネットの上に載る文書層だった。ネットワーク層は作らない。ルーティングも作らない。認証も暗号化も入れない。範囲を絞ったから、ひとりで書ける。
このミニマリズムは、後の勝敗を分ける設計判断になる。競合になる Gopher は、階層的なメニュー構造を前提としていた。WAIS は独自の検索プロトコルを内包していた。どちらも「賢く」設計されていた。WWW は、それらより素朴だった。
素朴さには副作用があった。壊れにくい。実装しやすい。他のプロトコルを吸収できる。Web ブラウザは後に FTP も Gopher も表示できるようになる。逆はなかった。
Sendall が「承認しなかった」ことも、Design を規定した。要件レビューがない。仕様凍結がない。レポートラインがない。Berners-Lee は誰にも説明せず、書き始めた3ヶ月後に動くものを作った。
もし1990年秋に「公式プロジェクト」として承認されていたら、CERN の物理学者たちが要件を出し、コミッティが仕様書を作り、6ヶ月かけて RFP が回ったはずだ。それを避けたのは、上司の余白の一言だった。
Execution
1990年9月から12月、Berners-Lee は NeXT の前に座り続けた。
サーバー、ブラウザ、エディタ、パーサ、プロトコル。ぜんぶを1人で書いた。ブラウザ兼エディタの名前を WorldWideWeb と付けた。サーバーは info.cern.ch というホスト名で稼働する。
1990年のクリスマス、世界最初のウェブページが立ち上がる。内容は WorldWideWeb プロジェクト自身の説明だった。
問題があった。NeXT はまだ CERN 内でも数台しかない高価な機種で、そのままではほとんどの研究者に届かない。1991年の3月、Nicola Pellow というインターン学生が、テキストベースの Line-Mode Browser を書いた。どんな端末でも動く、最低機能版。ここで CERN の中央計算機ユーザーが Web を触れるようになる。
1991年8月6日。Berners-Lee は Usenet のニュースグループ alt.hypertext に、こう投稿した。
The WorldWideWeb (WWW) project aims to allow links to be made to any information anywhere.
取得手順と、ダウンロード URL が並んでいた。宣伝ではなく、告知だった。
同年12月12日、SLAC(スタンフォード線形加速器センター)が欧州外初のサーバーを立ち上げた。物理学者のネットワーク経由で広まった。1年後、世界にはまだ50個ほどの Web サーバーしかなかった。
「工期が予定より遅れた」という記述は、この記事には書けない。予定が存在しなかったからだ。締め切りもコスト目標も、なかった。1989年の提案書には、いつまでに何を作るとは書かれていない。
計画のないプロジェクトが、逆に速く動いた。
People
Tim Berners-Lee は1955年生まれ。1989年の提案時は33歳、CERN との契約から5年目だった。父親と母親はイギリスの初期の商用コンピュータ Ferranti Mark 1 の開発者。子ども時代、朝食のテーブルで両親が「架空の数(imaginary number)」の話をしていたと本人が語っている。
彼は静かな技術者だった。マイクを持って自分の発明を宣伝する側にはいなかった。1994年に CERN を離れ、MIT に移って W3C を設立する。Web の標準を、営利企業ではなく非営利のコンソーシアムに置いた。
Robert Cailliau は1947年生まれのベルギー人エンジニア。Berners-Lee が実装する側だったのに対し、Cailliau は組織を動かす側にいた。1990年11月に共同で正式提案「WorldWideWeb: Proposal for a HyperText Project」を書いた。ここから2年半、彼は CERN の経営陣と法務部に通い続ける。目的は Web ソフトウェアを CERN の資産から切り離すことだった。
Mike Sendall の役割は、承認しなかったこと自体にあった。名前は歴史に残っていないが、あの余白の3語がなければ、Web は始まらなかった。
もうひとり、伝説になった学生がいる。Marc Andreessen。イリノイ大学の学部生で、大学附属の NCSA(国立スーパーコンピュータ応用研究所)でアルバイトをしていた。21歳。時給 6.85 ドル。1992年11月、共同研究者の Eric Bina と一緒に、Web にグラフィカルな UI を載せたブラウザを書き始めた。名前は Mosaic。
1993年1月23日、Mosaic 0.5 が公開される。テキストしか出せなかった Web に、初めて画像が乗った。1年で200万ダウンロード。Web トラフィックが1年で 342,000% 増えた、と NCSA は後に報告している。Web を使うインターネット利用者の割合は、1%から25%に跳ねた。
Andreessen はその後 Netscape を立ち上げる。Web は、彼が触った瞬間から急に商業化の対象に変わった。
Berners-Lee は後年、Web が2012年ロンドン五輪の開会式で紹介されたとき、“This is for everyone.” とツイートした。彼が20年以上言い続けたことの、最も短い版だった。
Legacy
1993年4月30日、CERN が Web の関連ソフトウェアをパブリックドメインで公開した。ライセンス料も特許もなし。Cailliau が18ヶ月かけて経営陣を説得し、うち6ヶ月は法務部と一緒に文書を作った成果だった。「特許で縛ると他の研究機関が採用しなくなる」という筋を通した。
同じ1993年、状況は反対側でも動いていた。ミネソタ大学は自校で開発した Gopher プロトコルに、商用利用のライセンス料を課すと発表した。Gopher は Web の最大の競合で、当時は Web よりも普及していた。だが料金の話が出た瞬間、Gopher を採用していた大学と企業が離反しはじめた。
パブリックドメインの側に、雪崩が起きた。
1993年後半、Web サーバーは全世界で数百台。1994年末に1万台を超える。1996年に10万台。数字の伸び方が指数関数的だったのは、無償で配ったからだ。
1994年、Berners-Lee は MIT に W3C を設立する。Web の標準を営利企業に握らせない、というポジションを取った。同時期、Andreessen の Netscape は上場して株価が跳ねる。Web が「発明の対象」から「経済の対象」に切り替わった年だった。
2004年、Berners-Lee はエリザベス2世からナイトの称号を授与される。同年、フィンランドの Millennium Technology Prize の初代受賞者にも選ばれた。
1989年に「Vague, but exciting」と書かれた提案は、2010年代には世界の GDP の数パーセントを直接生み出すインフラになっていた。
学び:「開放性は標準を取るための、いちばん速い経路である」
Web が Gopher に勝った理由を、技術的な優位だけでは説明できない。Gopher の方が使いやすいと言う人もいた。Web は当初、リンクが切れやすく、検索の仕組みも貧弱だった。
分かれ目は、1993年に何が起きたかだった。Web はその年、CERN が特許を放棄し、コードをパブリックドメインで配った。Gopher はその年、ミネソタ大学がライセンス料を課した。同じ年に、逆の方向に動いたことが決定的だった。
ライセンス料を取るという判断は、それ自体では合理的に見える。開発コストの回収、大学の予算源、成果の権利保護。どれも筋が通っている。だが「無料の代替がある領域で少しでも料金を取る」ことのコストは、料金収入をはるかに上回る。ユーザーは料金の存在ではなく、料金を取られるかもしれないという不確実性を回避する。
Web は、この不確実性を最初から消しに行った。特許を出さないと明言した。無償で配ると文書化した。CERN の署名入りで、それを公開した。18ヶ月の内部交渉は、この明言のための時間だった。
同じ構造は、後の時代にも繰り返される。
Java は Sun が特許を主張しない態度でスタートし、企業ソフトウェアの標準を取った。Android は AOSP を無償で公開し、モバイル OS の市場を制した。PostgreSQL、Linux、Docker、Kubernetes、Git。有償の商用製品より、無償のオープンな実装が標準になった領域は、この30年でいくつも見つかる。
逆の失敗も並んでいる。Unix の商用ベンダー各社が互換性を微妙に崩し、ライセンス料を取り合ううちに、無償の Linux に市場を奪われた。Real Player は独自コーデックの利用料を取ろうとして、無償の MP3 と後の HTML5 video に置き換えられた。Silverlight は Microsoft が推進したが、無償の HTML5 に敗れた。
「無料で配ると回収できない」という直感は、閉じた市場では正しい。標準を取り合っている市場では逆になる。標準を取ってから、周辺で収益化する経路がある領域では、標準そのものは無料で撒く方が結果として大きな価値が返ってくる。
CERN は Web の特許で1円も稼いでいない。だが、Web を発明した機関としての名声と、その後の各国政府からの支援は、特許収入で得られたであろう金額を超えている。少なくとも Cailliau が経営陣を説得したとき、その計算式は成り立っていた。
もう一つ、この記事の側で書いておきたいことがある。
Web は、公式に承認されたプロジェクトではなかった。予算もなく、レビュー会議もなく、要件書もなかった。上司の余白の一言だけがあった。
もし1989年に、Sendall が「これは正式プロジェクトとして予算を割り当てよう」と決めていたら、Web はもっと機能豊富に、もっと堅牢に、もっと重く設計されただろう。要件を吸い上げる過程で、Gopher と似たものになっていた可能性が高い。
「承認しない」ことが、設計を守った。
仕事に置き換えてみる。組織の中で新しいものを始めるとき、「正式化」する前にどこまで作れるかで、そのプロダクトの筋の良さが決まる。承認プロセスに入る前に動くプロトタイプがあれば、要件は「これをどう改良するか」の議論に変わる。プロトタイプがなければ、要件は「何を作るべきか」の抽象議論になり、コミッティの委員たちが「あればいいこと」を積み上げていく。
正式化は、良い方向にも悪い方向にもプロジェクトを再定義する。曖昧なまま走れる期間が長いほど、設計は薄く、速く、標準に近いものになる。
Sendall はそれを狙って書いたわけではないだろう。ただ、承認するのも却下するのも大袈裟だったから、余白に3語を書いて返しただけだ。曖昧だが、面白い。
その3語で、世界標準の設計が守られた。
出典・参考資料
- CERN「Web at 30: Celebrating the 30th Anniversary of the Invention of the Web」(https://web30.web.cern.ch/web-history.html) — 1989年提案から公開までの公式タイムライン
- CERN「A short history of the Web」(https://home.cern/science/computing/the-birth-of-the-web/short-history-web/) — Sendall の「Vague, but exciting」記述、1990年11月の正式提案
- CERN Timeline「The birth of the World Wide Web」(https://timeline.web.cern.ch/timeline-header/90) — 1990年12月のブラウザ/サーバー稼働、1991年8月の Usenet 告知
- TidBITS「20 Years of the World Wide Web in the Public Domain」2013 (https://tidbits.com/2013/05/01/20-years-of-the-world-wide-web-in-the-public-domain/) — 1993年4月30日パブリックドメイン化、Cailliau の18ヶ月の交渉
- Internet Hall of Fame「Robert Cailliau」(https://www.internethalloffame.org/inductee/robert-cailliau/) — Cailliau の CERN 内での役割・公開文書起案
- Wikipedia「ENQUIRE」(https://en.wikipedia.org/wiki/ENQUIRE) — 1980年の前身プログラム
- LivingInternet「Mosaic Web Browser History」(https://www.livinginternet.com/w/wi_mosaic.htm) — Mosaic の初リリース日、Andreessen・Bina の役割
- Computer History Museum「Why Did the Web Win?」(https://www.computerhistory.org/revolution/the-web/20/387) — Web vs Gopher の勝敗要因
- UNC「Where Have all the Gophers Gone?」(https://ils.unc.edu/callee/gopherpaper.htm) — ミネソタ大学のライセンス方針と Gopher 離反