今日はレイ・トムリンソンの誕生日(1941)。
現代的な意味での「電子メール」を発明した人です。
現代的な意味で、っていうのは、電子メールの歴史は案外古いから。
文字が使えるようになって、タイムシェアリングで1台のマシンを複数人数で使うようになったら、もう「ほかの人に文字メッセージを送る」機能は作られ始めています。
でも、当時の電子メールなんて、「テキストファイルを、個人向けのディレクトリに保存しておく」程度の簡単なもの。
1971年10月、レイ・トムリンソンは、ネットワークの別のマシンにメールが届く仕組みを完成させます。
同じマシンを使っている人宛てであれば、個人を識別できる ID …いわゆるアカウントだけがあれば大丈夫でした。
でも、別のマシンに宛てるのであれば、マシン名も必要になります。
そこで、レイは「アカウントの後ろに @ を付け、さらにマシン名を付ける」という記述方法を編み出します。
今のメールアドレスの始まりでした。
上記エピソードでは、最初のメッセージが「QWERTYUIOPだった」とされることがあるのですが、これはレイ氏が語ったことが曲解されたもので、彼はこの発言を悔いています。
「適当に文字を打ち込んだだけで、何を送ったかは覚えていない」…これが、後に語った正確なところ。
とあるインタビューで、キーボードの上の文字を適当に押した QWERTYUIOP のようなでたらめなものだった、といった言葉が独り歩きしているそうです。
しかし、内容は本当に覚えてなくて「でたらめだったかどうかすら不明」です。
後には TEST 1-2-3 みたいな(多少は意味のある)文字だったかもしれない、とも答えていますが、いずれにせよ覚えていないとのこと。
「30年も前の特定の日の朝ごはんが何だったか思い出せ、と言われて思い出せるかい?」と言うのも彼の弁。
なるほど、テストメッセージなんて特に重要なものではないし、本当に覚えていないということなのでしょう。
彼は BBN という会社に勤めており、会社では ARPANET のための研究をしていました。
そこで、ネットワーク上でデータ通信を行う仕組みを研究していて、メールはそのうちの一つでした。
でも、彼はこれは大した仕事ではないので、あまり人に言わないでくれ…と言っていたそうです。
この時作られたコマンドの名前は、SNDMSG 。言うまでもなく Send Message の意味ね。
…どういう動作を行うコマンドだったのかは、調べてみてもよくわかりません。
ただ、SNDMSG よりも前、1970年ごろには、すでに「マシン間でファイルを交換する仕組み」が作られています。
これは後に洗練され、FTP と名付けられます。
1973年ごろに提案される メールプロトコル には、「現在は FTP で配送を行っているが」という記述があります。
つまり、SNDMSG は、FTP を応用してメール配送を行ってたようです。
…つまりこういうこと。
SNDMSG にテキストと配送先を与えると、配送先を「相手マシン」と「そのマシンでのアカウント」に分解して認識し、相手マシンに FTP で接続、相手のアカウントを明示したファイルとして、メール内容を置くのです。
なるほど「たいした仕組みではない」と言うのも、事実なのでしょう。
ただ、「なんでも送れる」FTP を適切に機能を絞り込み、メッセージの交換機能として使いやすくまとめたのは、明らかに彼の功績です。
この後も、RFC 調べてみたら進歩の過程がわかって面白いのですが、説明しても長いだけなので割愛。
番号だけ書いとくと、369,453,456,524,651,680,724,733 そして、821 あたりを読むと参考になるでしょう。
453,456 なんて今の RFC から考えると、「なぜこれを RFC で発行する」という内容。
651 ではレイ自身が再びメールの重要な進歩に関わっています。
そして、821 は言わずと知れた「SMTP」の最初の仕様ですね。現在のメールの完成です。
実は、レイはメールと同時期に、もう一つ重要なプログラムを世に送り出しています。
レイの同僚が作ったプログラムを、どうも「ちょっとイタズラ」した亜流バージョンなのですが、このイタズラが非常に大きな意味を持ちます。
(メールも「たいした仕組みではない」けど重要な仕組みですし、彼は既存プログラムに、重要な意味を持つ改変を加えるのが上手だったようです)
1970年、同僚のボブ・トーマスは、「データ転送する」プログラムを実験していて、実行可能なファイルを送り込み、それを実行させることに成功しました。
クリーパー(這い回るもの)という名前のプログラムで、ネットワークで接続された別のマシンに自分自身を送り込み、相手側で実行を開始すると、最後に自分自身を消去しました。
実行されると、画面に「I'm the Creeper. Catch me if you can!」(僕はクリーパー。捕まえてごらん!)というメッセージを表示します。
まぁ、この段階ではただの技術実験。
レイは、このプログラムにイタズラをして、最後の「自分自身を消去」の部分を無くしました。
これにより、クリーパーは増殖を開始します。世界初の「ワーム」(ネットワーク経由で感染する、ウィルスの一種)プログラムです。
クリーパーは、見事に「捕まえて」、消去してしまえば実行を停止できました。
しかし、増殖してしまっては消去しても、消去しても、消しきることはできません。
クリーパーにメモリも CPU 時間も食いつぶされ、コンピューターは使えなくなるでしょう。
しかも、そのコンピューターを再起動してもダメなのです。他のコンピューターから入ってきますから!
このままでは困るので、レイはさらにクリーパーを改造し、マシンを渡り歩きながら、クリーパーを見つけ出したら削除するプログラムを作り出しました。
これは、リーパー(死神)と名付けられます。
…この話、翌年に書かれた SF小説「HARLEI」の中で、「ウィルスとワクチン」と名前を変えて、そのまんま引用されています。
当時は、まだ ARPANET も実験開始直後。そのため、多くの人が良くできた作り話だと思ったようですけど。
このため、HARLIE は「ウィルスを予言した SF小説」だとされています。
同じテーマの日記(最近の一覧)
関連ページ
シーモア・パパート 誕生日(1928)【日記 16/03/01】
レイ・トムリンソン 命日 (2016)【日記 17/03/05】
HARLIE とコンピューターウィルス【日記 14/09/18】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |