村井純著インターネットを読んで自分の思考を形成してきたものを振り返る

1995年に出版された村井 純教授の「インターネット」という書籍を読みました。

古い本ですが、色々な気付きが多く楽しめました。書籍「Unixという考え方」と同じような感覚。


継続的セキュリティテストサービスVAddyのプロジェクトリーダになってから私の考え方をメンバーに共有することが多くなってきました。今のこの考え方は、この15年ぐらいの時代の流れをずっと見てきて、それらの蓄積から来てるんだなと自分で感じ、それらをもっとうまく言語化してメンバーと共有したいと思っていました。
その中で一番強い影響を与えたインターネットというものの本質や哲学をうまく書いてある書籍が読みたくなり、この書籍を購入してみました。

この書籍の面白いところは、インターネットの歴史を作ってきた人からそれが学べる点です。グローバル視点が少なかったボードメンバー達に、日本だけでなく英語圏以外の地域のことも考えて活動してきた点は読んでて興奮しました。この人がいなかったら日本のインターネットの普及は10年ぐらい遅れてたんじゃないかと思うほど、技術だけではなく政治的な活動にも精力的な方です。
それから20年、2015年の今読んでみても面白いのですが、1995年の時点から未来を予測して執筆している箇所はあまり興味がわきませんでした。何故かというと、その予想はだいたい的中して既に当たり前になってきているからです。それも凄い話ですよね。


インターネットの本質

  • いいかげんな技術の集合で、それがなんとなく動く、ことが重要
  • データはほとんど着くけど着かない場合もある、その時は着くまで再送すれば良い
  • 完璧なネットワークを構築するよりも、クオリティが低く不通になっても構わないとして、敷設しやすくしてネットワークを広げた。それらが複雑に絡み合って集合した時に強靭さを持つようにして、データの保証はその上のレイヤー(TCP)で制御して途中のネットワークはそれを意識しない。
  • プログラムを単純にして、小さなコンピュータでも動き、プログラミングがやさしいため開発者が増えた
  • どれだけの技術者がその技術を支えられるかを考える。支える人が少なければ普及して運用されることもないという考え
  • とりえず90%は作って動かしてしまって、あとの10%は後回しにして最後の詰めの膨大なコストを無くす

支える開発者にフォーカスしてる点が興味深いですね。
まずは動くもの使ってもらえるものを正義として考え、完璧さを求めすぎてコストだけが膨れるようなものにしないことが重要だったのですね。
2000年ごろからのWeb2.0の流れも、永遠のベータと呼んでまずは最低限動くものを出して利用者の反応をみながら改善していくものでした。最近のリーンスタートアップも同じ感じですね。
SOAPではなく、WebAPIを公開してJSON形式で扱うのが普及したのも、多くの開発者が簡単に扱えたからでしょう。

実際の想定ケースからのシミュレーション

P94.
多くの学者は、こんな仕組みがうまく動くわけがない、みんなが一斉に話し始めたらぶつかり合ってしまうから性能の悪い通信システムで実用にはならないのではないか、などと言われていました

P95.
いちばん大切な事は、全員が一斉に話したらたぶん動かないだろうが、実際に人間が使っていくようなコミュニケーションは、分散することが予想でき、それに基づけばある程度の性能が得られる。
それが十分薬に立つならいいだろうという考え方です。

このおかげで、イーサネットが普及して安価にネットワーク構築が出来るようになって、今や無線LANさえも当たり前になってます。
誰が使うのか、どのように使うのか、それらを想定してうまく動けば使いやすくて低コストで普及しやすい方法が良いということですね。

「みんなで使う」が重要

P146
コンピュータの世界だけでどんなにいいことを考えても、広い範囲で使われる可能性を作っていかないと、そのソフトウェアはよくならない、ということです。
ですから不整合でも何でも、まずみんなが使えるようにして、コンピュータに対する期待と可能性を高めていくのはきわめて大切な事です。
今日、技術と人間の関係で、いちばん大切なことだと言ってよいと思います。

マルチバイト文字をどう扱っていくかという議論の時に、自分たちの理想を掲げて進んで誰も使ってくれなくなってしまうのは避けたいという想いがあったようです。結局は役に立たなければ何にもならないのだから、現在動いているものにいかに合わせて動かせるかという方向で進んで行ったとのこと。
学術的にはこれはかなり苦しい決断だったようですが、それがあって今の多言語環境が快適に使えるようになっていると思うと頭が下がります。

まとめ

インターネットの歴史や仕組みを知っていたけれども、この本を読んで新しい気付きや歴史が分かったのは良かったです。
自分が学生の時に読んでおきたかった1冊ですね。何で読まなかったんだろう・・・