ダグラス・エンゲルバートが88歳で亡くなった。マウスやハイパーテキストなどPCインターフェースに数多く関与し、現在のICTの基礎を築いた方だ。本記事は、1999年に月刊アスキー掲載されたダグラス・エンゲルバート氏へのロングインタビューの後編(前編はこちら)。インタビュアーは林信行氏。
(以下のインタビュー記事は、月刊アスキー1999年2月号に掲載されたもので、掲載時の文章をそのまま転載しています)
マウスの発明者としてあまりにも有名なダグラス・エンゲルバート博士。
本コーナーでは昨年11月に行なったインタビューを2回に分けて紹介している。前回は、マウスやインターネット誕生秘話、そして博士が考えるこの30年間のコンピュータの進化についてお伝えした。今回は、博士が30年来提唱している「Network Improvement Community」の話のほか、現在利用しているシステム、博士が考えるソフトウェアの未来像などに迫る。
■新しい進化を目指すNIC
――あなたが広めようとされているNIC(Network Improvement Community)は、企業などの組織が従来の枠組みを越えて知識を共有しあうということですが、たとえばライバル同士の協力もありえるのでしょうか?
Engelbart(以下、E) もちろんありえるだろうね。NICの考えでは、まず個々の企業に固有の活動、ツール、プロセス、製品を「レベルA」、それらをどう改善するかの具体策を「レベルB」の事象として分類している。レベルA、Bはそれぞれの組織の財産であったり、他の組織を出し抜くためのものであったりして、教えられない内容も多いだろう。
だが、時流にあわせて改善方法そのものをどう進化させ改革するか、あるいは組織そのものを今後どう変えていけばいいのかという、より抽象化の進んだ命題なら、ライバル同士でも損得の垣根を越えて討論できるはずだ。これを「レベルC」の事象と呼んでいる。
たとえば、力のある大きな企業なら今後自社製品がどう変わっていくかは予想できるかもしれない。しかし、自分の会社そのものがどう変わっていくか、社内での仕事の流れや仕組みがどう変わっていくかまでは分からない。だからこそ、他の組織とCレベルでの横のつながりを持ち、知力をあわせれば、組織が変わっていくべき方向性もより明確につかめるだろうということなんだ。
――知識を共有する人が多くなれば、コミュニケーションも難しくなると思うのですが、あなたが組織するBootstrap Alliance(*注1 以下、BA)は円滑なコミュニケーション手段といったものも提示するのでしょうか?
E それはNICの中にいる人たちに共通の課題だろう。BAはこうした課題を正しい道筋で究明する環境を用意する。だが、実際に解決策を見つけだすのはNICに参加している人たちだ。もしも政府がこうした研究を支持すればすばらしいが、研究は日常的に問題に直面する現実世界で行なわなければ意味がない。
たとえば、海底都市の実験をプールのミニチュアで行なっても、実際に海底で暮らしたときに直面する問題は分からない。海底居住の可能性を知るには、やはり実際に海底にドームを作って、そこに人が住んでみなければ。私が言いたいのは、行動を起こさず政府の研究発表を待っても得るものは何もないということ。真の解決策は、各組織自体が自発的に協力してはじめて導き出されるものだ。
――最初はWebや電子会議システムといった今日あるツールを使うのでしょうか?
E それも、NICに参加しているメンバーがいろいろなツールを試してみて、最良だと思うものを自ら究明することが重要だ。実際に参加者が試すツールは、市販品や研究中のプロトタイプなどさまざまだろう。プロトタイプのツールは、日常業務でもまれることで、どういった欠点があるかが分かってくる。つまり、我々はそうしたツールの有用性を試す仕組みも提供している。
ところで、私はNLS(*注2)の後継にあたるAugmentというシステムを使っているのだが、Augmentのソースコードはオープンでハイパーメディア構造を採用しているんだ。このため人々が協力してソースコードの改善をするのに向いている。このシステムのようなソースコード共有の仕組みを提供できれば、参加者の間でアイデアの投げあいが始まり、美しいシステムの進化が始まると思う。
■XMLでソースコードのハイパーメディア化を提案
――博士がお使いのシステムについてもう少し詳しくうかがえますか?
E 日常的に触っているのはどんなPCでも動作するAugTermというAugment System用のThinクライアントだ。2年前まではバックエンドサーバとして稼動していた借り物のDEC-20上でAugment Systemを動かし、人に自慢していたよ。今ではサン・マイクロシステムズ社のジェフ・ルーリフソン氏が寄贈してくれたULTRAワークステーションを使っている。ずっと昔一緒に働いた仲間がUNIX上で動作するDEC-20のエミュレータを開発してくれ、今ではULTRA上でDEC-20用のOSとAugment Systemを実行できるようになった。エミュレーションなのでオーバーヘッドも大きいはずなのに、それでも以前のDEC-20よりも2倍も速く動作するんだ。
このAugment SystemをBA関連の日常業務をこなすのにも使っている。なぜならこれが今でも協調的ハイパーメディア環境としては最高のものだと思うから。決して偏見ではない。もっといい商用OSの登場を待ち望んでいるし、そうしたOSが登場したらすぐにでも乗り換えたいと思っている。
――Augment Systemが通常のシステムと違っているところというのは?
E いろいろなレベルで違いがあるのだが、1つは精密なリンク機能だ。たとえば私が何かのドラフトを作っているとしよう。ちなみにドラフトなどの書類はすべて共有空間に保存される。誰かにこのドラフトに目を通してほしいと思ったら、気になった箇所に印をつけて電子メールを送る。受け取った相手が電子メールのリンク箇所をクリックすると、ドラフトの送信者が選択した位置が表示される。
またこんなこともできる。私が娘にいくつか面白いホームページを見つけたから見てごらんと言って、電話で私のブックマークへのリンク方法を教える。ホームページそのものにリンクするのではなく、ブックマークにリンクできるというのが重要だ。彼女はこのブックマークへのリンクを使って、私が見つけたホームページを見ることができる。
また文書などの情報をブラウジングしているときも、見出しだけの表示にしたり、もっと細かい内容まで見られるように表示レベルを切り替えたり、文章の構成自体を簡単に変更するといったこともできる。システム中のオブジェクトはすべて一意(ユニーク)に指定できる。ちょうどスプレッドシート中の数値や計算式を行と列で指定するようにね。
たとえば、私がやらなければならないことは「T oD o 」というオブジェクトとして定義されており、そのうち、今日やらなければならないことは「今日」というラベルの下に整理されている。Augment Systemでは通常のシステムのようにこれらのファイ
ルがどこにあるかを知っている必要もなければ、知りたい情報を収めたファイルのアイコンを画面上に表示させる必要もないんだ。単純にコマンドラインから「Insert」という命令に続いて、「今日やるべきこと」というオブジェクトのアドレスを打ち込んでやればいい。この今日やるべきことを他のファイルに移したりすることも動詞と目的語からなる命令で簡単に実行できる。
情報を扱う上で非常に効率的で、目的の情報を意のままに自由に操れるシステムだと思う。また書類のバージョン管理機能など、さまざまなレベルで知的協力の仕組みが用意してあり、全体として非常にパワフルな協調環境を形成している。
オープンソースコードの理念やXML、Javaといった技術を使って、こうした協調環境を今日使われているコンピュータで実現することもBAの目標の1つだ。その際にはユーザーやクライアントコンピュータのレベルにあわせて柔軟に対応するシステムにしたい。人によってシンプルなインターフェイスを好む人もいれば、凝ったインターフェイスを好む人もいるはずだからね。Augment Systemの命令は動詞と目的語の組み合わせが基本だが、人によって使う語彙も自由に選ばせたい。それでいて知的協力や情報の共有はちゃんとできていなければならない。
Augment Systemが、コンピュータのあるべき未来の姿だというつもりはないが、これからのコンピュータがどういった柔軟性や潤沢さを持つことができるかという可能性を示していることは確かだろう。
■オープン化こそがソフトの未来
――NICは組織や社会をより健全に進化させるためのシステムだと思うのですが、これと同様のしくみはコンピュータの世界にも取り入れられると思いますか?
E メーカーの都合で勝手にアップグレードを押し付けられて、ソフトをいちからインストールしなければならないという今日のソフトウェア市場の構造はおかしいと思う。ソフトはもっと広い選択肢の中から選ばれるべきであり、改善方法ももっと工夫されるべきだ。それ以外にソフトの未来はないだろう。
私はよくこんなたとえ話をする。あなたが工場(こうば)を持っていたとしよう。その工場で使っている道具がすべて1社から供給を受けていて、ある一定期間が経つと、その道具をすべて新しい物に切り替えなければならなくなる。しかも、だんだんとその頻度が高まっていく。そんな事態を想像できるだろうか? 不可能だ。
普通なら、旋盤だとか他のすべての道具の太さ、長さ、大きさといったものを標準化して、多くのメーカーから道具の供給が受けられる体制をつくるだろう。もし、それが実現できなければ我々は未来に向かって前進する能力を失ってしまうだろう。
今のコンピュータ業界はそうした意味で狂っている。こうした状況を改善できなければ、未来は暗いものになってしまう。もっともこうした考えは、コンピュータ業界の巨人たちやワシントン州レドモンドからは賛同が得られないかも知れないが……。
――ソフトの健全な進化を可能にする技術とは? 分散オブジェクトでしょうか?
E そうかもしれない。オブジェクト指向技術は大変有望だと思う。たとえば自分が作業をしているウィンドウがあって、そこにいろいろな役割を果たす道具のオブジェクトを必要なだけ追加して作業する。文書ウィンドウやその文書で使える道具などの標準化ができていれば、どこの会社が作った道具を使っても構わない。文書の仕組みなどはソースコードを開示したオープンなものでなければならない。こうした環境が実現できれば真に健全なソフトの進化が可能になるだろう。
こういう技術が当たり前になったら、エンドユーザーは団体を作って、この団体こそがソフトの真の顧客だと主張するべきだ。というのは、ソフトを正常進化させるのであれば、開発会社は個々人の見識に頼るのではなくて、集合的知識の要望に応えたほうがよりよい見返りを期待できるからだ。個々のユーザーが何か貢献しようと感じているのであれば、こうした団体に参加すればいい。
■OpenDocとJava、アラン・ケイについて
――今の話をうかがっていて、アップル、IBM、Novellらが実現しようとしていたOpenDocという分散オブジェクト技術と文書フレームワーク構想を思い出しました。
E OpenDocはいろいろな意味で素晴らしい発想だった。ただ1つだけ気に入らなかったのは、オブジェクトである道具を文書の構造そのものに加えるのではなく、文章ウィンドウの表面に貼りつけるといったWYSIWYG(*注3)の考え方を引きずったところがあった点だ。だが、異なる道具を混在させて利用できる文書フレームワークという発想自体は大変よかったと思う。OpenDocはなくなったが、XMLはその代わりになるような基盤を提供することになると思う。
――Javaについてはどう思われますか?
E 私には昔からオブジェクト指向プログラミングに関して造詣が深い友人がたくさんいるが、彼らのJavaに対する反応はこうだ。移植性を高めるために行なったちょっとした工夫を別にすれば、Javaは1979年頃のオブジェクト指向プログラミングと何ら変わらない。だが、もちろん、当時のプログラミング環境に比べればいくつかの面で洗練されているし、それにずっと幅広く浸透して、今ではいくつかのいいオープンなユーティリティもそろっている。
環境がもっとオープンでさえあればSmalltalk(*注4)がJavaの代わりに普及したかもしれないね。アラン・ケイ(*注5)という話し好きな男がいるが、 彼は私のところに来てはSmalltalkのオープン化について相談していくよ。彼はSmalltalkがJavaの代わりになることを望んでいるのかも知れない。
――アラン・ケイとはどういった関係なのでしょうか?
E ただの友人さ(笑)。出会ったのは彼がまだユタ大学の大学院生だったころだ。ケイは30年前に私がNLSのデモを行なったとき、聴衆の中にいたんだ。12月9日のイベント(囲み参照)には主催者側の1人として参加することになっているよ。
収録:1998年11月19日東京にて
インタビュー:林 信行
'98年12月9日、米スタンフォード大学でoNLine Systemのデモの30周年を祝い、このデモを振り返り、また未来について議論を行なう「Engelbart's Unfinished Revolution(エンゲルバートの未完の革命)」というシンポジウムが開催された。アラン・ケイ、マーク・アンドリーセン、テッド・ネルソンなどもプレゼンターとして登場。スピーチやパネルディスカッションが行なわれた。当日インターネットでライブ中継されたその様子は、Webのストリーミングビデオで見ることができる。(このサイトは40周年時も運営され、現在も一部は残っています)
http://unrev.stanford.edu/
マウス変遷の展示(左手前上の四角い箱形をしたものが、エンゲルバートの最初のマウス)。 |
*注1 Bootstrap Alliance: NICの概念を普及させるためにエンゲルバートらが1997年に米国で創立した組織(http://www.bootstrap.org/)。'98年には日本で同様の活動を行なうBootstrap Alliance Japan(http://www.bajapan.com/)も設立された。NIC全体をまとめるNIC同士のネットワークやNICが社会の中で機能するための仕組み(たとえば役員会や代表者などの会社組織に近い形態)を提供する。
*注2 oNLine System(NLS):エンゲルバートが1968年12月にデモしたシステムで、アウトラインプロセッシングやハイパーリンク、電子会議システムなどを備えており、世界初のマウスも採用していた。
*注3 WYSIWYG:What You See Is What You Getの略で画面で見たままの書類を印刷する技術。エンゲルバートは前回のインタビューの中で、過去30年のコンピュータの進化を遅らせた原因としてグラフィカル・ユーザー・インターフェイス(GUI)とWYSIWYGをあげている。
*注4 Smalltalk:アラン・ケイほかがXerox社パロアルト研究所で開発したオブジェクト指向の開発環境。アイコンを使った視覚的プログラミングで、経験がない人でもプログラミングができることを目指した。
*注5 アラン・ケイ:「PCの生みの親」と言われるが、ケイ自身は「エンゲルバートこそがPCの生みの親」だと言っている。彼はまた「ダグラス・エンゲルバートのアイデアを使い果たしたらいったいシリコンバレーは何を指針にしていくのだろう」という言葉でエンゲルバートに対する敬意を表している。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります