Sun Microsystemsは長きにわたり、「Java」から利益を上げることを目指して努力してきた。その努力の果てにあるのが、業界で最も強力な企業であるOracleとGoogleの2社の最高経営責任者(CEO)が法廷で厳しく追及されるという事態だ。
今から15年ほど前にMicrosoftをおののかせ、おおむね静的だったウェブにダイナミズムを注入する準備を整えたように見えたこのテクノロジにとって、著作権や特許、ライセンス契約をめぐって争いが起きるとは不名誉な次第である。市場に登場した当時、Javaは印象的な力強さを持つブランドだった。
Javaは技術的な影響力を維持してきたが、一般の人々に対するJavaブランドの存在感は、Appleの「iOS」などのほかのソフトウェアやクラウドコンピューティングが注目を集めるにつれて低下している。そうしたことを踏まえると、Oracleの訴訟で争点になっている事柄の詳細について、深く検討するのにふさわしい時期が来たのではないか。
--Javaとは何か。
1990年代前半にSunで開発され、2010年のOracleによるSun買収でOracleに吸収されたJavaには、いくつかの顔がある。
第1に、Javaはプログラミング言語である。コンピュータに命令を出して、何らかの役に立つ作業を実行させる、入念に定義された方法だ。
第2に、Javaには仮想マシンと呼ばれるソフトウェアが含まれており、Javaで記述されたプログラムを実行する。Java仮想マシン(JVM)はJavaプログラムからは本物のコンピュータのように見えるが、本当のところは、何らかのコンピューティングハードウェア上で実際に動作する、低いレベルにあるOSに命令を渡すレイヤにすぎない。さまざまなコンピュータに対応したJVMを構築することで、少なくとも理論的には、同じJavaプログラムが「Mac」と「Windows」コンピュータの両方で動作する。そのため、Javaの初期のキャッチフレーズは「Write once, run anywhere(一度書けばどこででも実行できる)」だった。
第3に、Javaにはクラスライブラリと呼ばれる、あらかじめ記述されたコードが含まれており、クラスライブラリは暗号化からBluetoothを使用する通信まで、あらゆる種類の作業を実行できる。Javaプログラマーは、アプリケーションプログラミングインターフェース(API)と呼ばれる入念に定義されたメカニズムを通して、あらかじめ備わっているこの強力な機能を活用できる。相当数の企業がこのようなJava用APIを定義している。
これら3つのコンポーネントは全体でJavaランタイム環境(JRE)と呼ばれる。コンピュータ上でJavaソフトウェアを実行するにはJREが必要だ。特定のデバイスにJavaのロゴを付けるには、Javaプログラムを正常に実行できることを確認するテストに合格しなければならない。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」