検索
コラム

元・Java専門記者がLog4j 2脆弱性に見た「複雑性と魔神のかけら」 Javaの歴史とバザールの矛盾(3/6 ページ)

Log4j 2で問題となった脆弱性は、プログラミングやコンピュータの知識が少しあれば「なぜこんな危険な実装がされていたのか」と疑問に思う内容だ。歴史の歯車が別の方向に噛み合っていれば、こうはならなかったかもしれない。Javaを専門に取材してきた筆者が、この悲劇の背景をひも解いていく。

Share
Tweet
LINE
Hatena

 Javaテクノロジーは、もともとはUNIXワークステーションの有力ベンダーであった米Sun Microsystems(2010年にOracleが吸収合併)の極秘プロジェクト「グリーン・プロジェクト」に出自を持つ。このプロジェクトは情報家電のプロトタイプを構築しようとした。高度なタッチUIを備えたハンドヘルド・デバイスが高速インターネット回線で結ばれたセットトップ・ボックスを制御する。家庭でマルチメディアコンテンツを楽しめる環境を提供しようとした。

 こう説明しても、今の読者は特に驚かないかもしれない。今ではストリーミング配信のビデオコンテンツを提供する企業は何社もある。「Amazon Fire Stick」や「Apple TV」のようなストリーミングデバイスも多数登場している。タッチUIもiPhoneやAndroidでおなじみだ。だがグリーン・プロジェクトはインターネット商用化直後の1991年の構想であり、その時点ではこれらの構想は世界最先端だったのである。

端末「Star 7」と画面の片隅で手を振る「Duke」

 グリーン・プロジェクトの中核であるタッチUI付きハンドヘルド・デバイスは「Star 7」と呼ばれていた。Star 7は、UNIXが動き、ソフトウェアの開発実行のための独自のプログラミング環境を備え、タッチパネル付きディスプレイ、無線ネットワーク、そして高度な「カトゥーン・ベースUI」を備えた立派なコンピュータだった。

 製品企画としては、iPadやAndroidタブレットと任天堂の「ゲームボーイ」のような携帯型ゲーム機の中間に位置する。同時代の情報端末メーカー米General Magic(2002年破産)のプロダクトも意識していた可能性がある。


Star 7 プロトタイプを持つDuke(https://dev.java/community/duke/より)
Star 7のデモを見せるジェームズ・ゴスリン

 Star 7の画面の片隅では、ユーザーの願いを聞く「エージェント」が待機している。このエージェントのためにデザインされたキャラクターは、後にJavaのマスコット「Duke」となる。エージェントはネットワーク経由で会話し、情報を受け渡すことができた。家の中の別の部屋に情報を送るユースケースも想定していた。

 そしてStar 7には、著名なソフトウェア開発者ジェームズ・ゴスリンが設計したオリジナルのプログラミング言語「Oak」(オーク)が搭載されていた。このOak言語は、後にコーヒー豆の銘柄から名前を取って「Java」と名付けられた。当時の開発スタッフたちはカフェでくつろいだり相談したりするときに「Javaに行こうぜ」と言っていたそうである。

上司のビル・ジョイはJavaの言語仕様を気に入らなかった

 Javaのチームは、Sunの共同創設者で副社長だったビル・ジョイの直接の監督下にあった。「グリーン・プロジェクト」のメンバーだったパトリック・ノートンが書き記すところによれば、ある時、上司のジョイと言語設計者のゴスリンの間柄は決裂寸前までいった。後にJavaとなるOakの仕様について意見の相違があったからだ。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る