今日はティム・バーナーズ・リーの誕生日(1955)。
World Wide Web (WWW) を作り出した人です。
昨今では、インターネット= WWW だと考えている人も多いですし、実際 WWW がなければこれほどインターネットが普及したとも思えません。
WWW が「発明」されたのは、1989年の3月。
この時、WWW に必須の3つの技術仕様… URL、HTTP、HTML が一緒に発明されています。
この3つの発明により、インターネットが大きく変わったため、「ルネサンス期三大発明」になぞらえて「ティム・バーナーズ・リーの三大発明」と呼ばれています。
話はティムの生まれる前まで遡ります。
僕のページでも紹介している、Baby MarkI というコンピューターがあります。
非常に小さな実験機で実用ではありませんでしたが、ただの電子計算機ではなく、世界初のプログラム内蔵型でした。
…つまり、現代的な定義でいえば「世界初のコンピューター」でした。
この Baby MarkI を元に作られた実用機が Manchester MarkI(1949)でした。
イギリスのマンチェスター大学が作成しています。
この計算機プロジェクトに参加した二人の数学者がいました。
一人は数学者としては珍しい女性。
二人はやがて結婚し、1955年の今日、子供が生まれます。それが今日の話の主役、ティム・バーナーズ・リーでした。
父母ともに計算機数学者で、当然のようにティムも子供のころから計算機に興味を持ちます。
6800を使用したコンピューターを完全自作したこともありますし、大学のコンピューターをハックして使用禁止令を受けたこともあります。
いわゆる「コンピューターの天才」、それも飛び切りのサラブレッドでした。
当然大学卒業後もコンピューター関連の職業につきますが、やがて独立します。
そして、個人でコンピューターコンサルタント業を始めますが、1980年に6か月間、CERN に滞在します。
スイスにある CERN…欧州原子核研究機構では、世界中の科学者たちが集まり、1国では建造できないほどの莫大な資金をつぎ込んだ大型加速器を使った研究をしています。
その設立は、ティムの生まれる1年前の 1954年。
単に1国では資金難だから、と言う理由だけでなく、その研究内容が高度すぎ、世界中の天才を集めないと研究が進まない、と言う事情もあります。
ですから、ここでは研究者同士を隔てる国の壁はありません。
…というのが建前なのですが、実際にはそれぞれの研究者はそれぞれの国の予算で研究に参加しており、コンピューターやソフトウェアを導入するのにも、それぞれの国の行政方針の影響がありました。
このため、使用するマシンも、OSも、ソフトウェアもバラバラでした。
現在では8000人の科学者が集まる大所帯ですが、1980年当時でもかなりの人数が集まっていたようです。
もはや、「直接会って話をする」なんてレベルでは、情報の交換ができません。
大勢の科学者が持っている情報を、迅速に交換できるシステムの構築が急務でした。
しかも、その構築に使えるコンピューターは、各国ごとにバラバラ、という難題が待ち構えていました。
1980年にコンサルタントして CERN を訪れたティムの仕事は、この難題を解決することでした。
ティムが意識していたかは不明ですが、おそらくはXanaduのようなものが必要とされていたのでしょう。
これは、パワフルでグラフィカルなコンピューターと、コンピューターを何百台も接続できる大規模ホストコンピューターによって作り出されるシステムです。
…1980年当時、インターネットはすでに生まれていましたがアメリカの一部で細々と使われているだけでした。
電話回線によるパソコン通信、と言う手段もありましたが、効率的ではありません。
結局、この時はコミュニケーション問題は解決できていません。
しかし、ティムの心の隅に問題意識を植え付けたようです。
6か月後、ティムはイギリスに戻り、別の仕事を始めます。
1984年、ティムは再び CERN に戻ります。
この頃には、コンピューターを相互接続してネットワークを形成して使用する、と言う考え方は、一般的になり始めています。
ただし、実際のネットワーク環境が整うのはもうすこしあと。1985年ごろからです。
当時主力と目されていたのは、IBM が技術開発をすすめる Tokenring 。
世界最大のコンピューター企業が推進しているのですから、将来はこれに決まるだろう、と多くの人が思っていました。
対抗馬は Apple の AppleTalk 。
…これ、ネット調べると「Mac の発売当時から搭載していた」とするページが多いのですが、ちょっと違う。
まぁ、その話は今回は関係ないので割愛しますが、Apple はパソコンの元祖を作った有名企業。
IBM の Tokenring への対抗になりうるかも、と期待されていました。
インターネットに使われる「イーサネット接続」は、じつはすでに稼働実績がありました。
初稼働は1973年ごろ。
もっとも、1970年代は、研究などの目的で存在していただけ。
1979年にイーサネット通信機器を手掛ける 3com 社が設立されてから本格的な普及が始まりましたが、1984年ごろはすでに「古臭い技術」でした。
通信仕様自体も小さなコンピューター会社各社の合議によって作られていましたので、今後改良するのは難しそうでした。
そのため、IBM や Apple のような大企業が出てくれば先は無いだろうと考えられたのです。
だから、ティムが CERN に戻っても、すぐに問題解決、とはなりませんでした。
最初に書いたように、問題が解決するのは 1989年でした。
特定企業の物ではなかったイーサネットが、ライセンス料などがないために安く使え、大学などの研究機関を中心に利用が広まっていました。
当然、CERN でも、ほとんどのコンピューターがイーサネット接続されていました。
でも、接続されたから解決、ではありません。
最初に書いた通り、コンピューターも OS もバラバラで、お互い使用できるソフトが違うのです。
イーサネットで使用できるプロトコルとして、メールも、ファイル交換(FTP)プロトコルも定められていました。
しかし、当時のメールは文字のみ。ファイル添付などできません。
ファイルの交換を行うための仕組みである FTP では、特定のサーバーに接続し、ファイル一覧を表示し、目的のディレクトリを見つけて潜り…これを繰り返し、ファイルを発見したら取得する、と言う操作をコマンドラインから入力する必要がありました。
この混乱を収拾する必要がありました。
ここでティムが考えたのが、3つの仕組み。最初に書いた「三大発明」です。
FTP では、たとえファイルのある場所を人から教えてもらっても、サーバーに接続して、その場所までディレクトリをもぐって…と言う操作を人間が行う必要がありました。
これを、ダイレクトに行える「記述方法」を作ります。
FTP 以外にも情報をやり取りするプロトコルはありましたから、プロトコルも指定できるようにします。
それまでバラバラだった、プロトコル、サーバー、サーバー内の位置を1つにまとめる記述方法。
これは「Uniform Resource Locator」(資源の場所の統一記法)と名付けられました。
略して URL と呼ばれます。
情報のある場所がわかっても、それが特定のソフトでしか読めない形式では困ります。
一般化された、誰でも読める情報の記述方法が必要でした。
ここで記述したいのは、研究者が作成する論文です。
論理構造はしっかりしていますし、できることなら画面で読むだけでなく、必要に応じて綺麗に印刷できる方法が望まれました。
また、研究論文は他の論文の引用・参照をよく行います。
これらの参照を示されたとき、わざわざ改めて人間が「参照先」を入力しなくても、簡単に参照先の情報を入手する方法を作る必要もありました。
以上の問題を解決できる方法として、ティムは SGML (Standard Generalized Markup Language) を応用します。
SGML は 1986年に ISO で定められたばかりの国際規格でしたが、その元となったのは 1960年代に IBM が策定した「文章のタグづけ言語」(GML)でした。
SGML では、文章の中で「タイトル部分」「著者名」「章見出し」…などをタグで示すことができます。
SGML で大切なのは、タグを付けるのに特別なプログラムは不要で、すべてがテキストファイルとして作成できることです。
ワープロを使って見出しやタイトルを大きく表示すると、同じワープロ以外でデータを読むことはできませんでした。
しかし、SGML なら最悪の場合でも、テキストファイルとして読むことができるのです。
SGML は論理構造を示すことで、その後の機械処理を簡単にする目的がありました。
文章の部分ごとの意味がわかっていますから、見出し部分だけを抽出して目次を作るのも簡単ですし、著者名を元に検索を行うこともできます。
その応用の一つとして、SGML で書かれたタグを LaTeX に変換し、綺麗に組版して印刷する、と言うようなソフトウェアもありました。
これで、必要があれば印刷したい、という要求も満たせます。
他の論文への参照を簡単に示す方法としては、SGML を拡張する必要がありました。
そこで、独自の拡張を加えて、参照先として URL を記述できるようにします。
拡張した SGML は、HTML (Hyper Text Markup Language) と呼ばれました。
URL でデータの場所を簡単に示せるようになり、HTML でその URL によってハイパーリンクできる文章を作れるようになりました。
しかし、もう一つ仕事がありました。これらのデータを置いておき、自由に取り出せるサーバーを作らなくてはなりません。
FTP はファイルのやり取りを行うサーバーのプロトコルなので、FTP をそのまま流用することも可能でしょう。
しかし、FTP は非常に設計が古く、プロトコルは扱いにくいものですし、実は FTP では利用にアカウント認証が必要なのです。
アカウント認証など無しに、誰でもデータを取り出せるサーバーとの通信方法が必要とされていました。
これは、メール配信方法である SMTP (Simple Mail Transfer Protocol) が参考になりました。
名前の通り非常にシンプルですが、シンプルであるがゆえに、十分な拡張可能性を持っていました。
SMTP はメールを送り届けるためのプロトコルでしたが、これを拡張して、リクエストしたデータを送り返すプロトコルが作られます。
これは HTTP (Hyper Text Transfer Protocol) と名付けられます。
これで、必要なものが揃いました。
URL でプロトコルに HTTP を指定し、HTML データを入手して表示する。
テキストではないファイルが必要な際には、URL で FTP を指定し、ファイルを入手する。
HTML データの実態はテキストファイルなので、記述するのに特別なソフトは不要です。
HTTP の仕組みもメールとほぼ同じなので、メールが使えるコンピューターなら簡単にアクセスするソフトを作れるでしょう。
これなら、どんなマシン、どんな OS 上でも、簡単なソフトを作るだけで情報を交換できます。
1989年に概要を公表し、ティムは必要なソフトウェアの開発を始めます。
SGML の処理を行い、LaTeX のように整形して、Xanadu のように閲覧環境を整える。
…プログラムをするのは非常に大変そうです。
しかし、1988年に発売されたばかりの NeXT cube がありました。
NeXT は、グラフィカルなソフトウェアを簡単に作り出せる仕組みを備えたコンピューターでした。
NeXT で動作する世界初の WEB ブラウザが公開されたのは翌 1990年のことでした。
すぐに、グラフィック画面を持たないテキスト端末用のブラウザも開発されます。
これで、名実ともに「誰でも情報を閲覧できる」システムが完成したのは、1991年に入ってから。
このようなシステムの必要性を最初に認識したのは 1980年でした。
しかし、それが実際に作れる環境が整うまでに、10年以上の時間を必要としたのです。
時代が追いつき、やっと考えていたものが形に出来たのでした。
この時点でのブラウザは、テキストを閲覧する機能しかありませんでした。
図版が必要なら、別途ファイルとして FTP に置けばよい、という考え方です。
論文を交換するには十分でした。
なによりも、先に書いた通り、この頃のメールはテキストしか扱えませんでした。
SMTP をベースに作られた HTTP もまた、テキストしか扱えなかったのです。
そして、この時はまだ CERN と、CERN と密接な関係にある各国の研究機関の間で使用されるシステムに過ぎませんでした。
このあと、1993 年にマーク・アンドリーセンが NeXT用のブラウザとWEBサーバーを発見し、改造をして画像表示を可能にします。
1992年にメールに画像などのファイルを添付するための MIME と言う標準形式が定められており、SMTP が拡張されていました。
マークも、これに従って HTTP を拡張したのでした。
これもまた、時代によって環境が整えられたから付いた機能でした。
画像の表示をきっかけに WEB が急速に普及し、インターネットが拡大するのですが、それはまた別の話。
同じテーマの日記(最近の一覧)
関連ページ
日本最初のホームページ開設日(1992)【日記 13/09/30】
NCSA Mosaic 発表日(1993)【日記 15/04/21】
FireFox 初公開日(2002)【日記 13/09/23】
ダグラス・エンゲルバート 誕生日(1925)【日記 16/01/30】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 【あきよし】 1か月もたって書き込みに気付きました (^^; マーク、が正しいですね。指摘ありがとうございます。本文修正しました。 (2014-07-12 18:22:02)【lamspa】 久しぶりにXanaduが出てきて嬉しいです。マイク・アンドリーセンはマーク・アンドリーセンだと思います。 (2014-06-08 18:34:42) |