30億のデバイスで走るJava単語

3件
サンジュウオクダイノデバイスデハシルジャバ
4.5千文字の記事
  • 5
  • 0pt
掲示板へ

30億のデバイスで走るJavaとは、Oracle版のJavaインストールする時に表示される大広キャッチフレーズである。

この記事では、Javaに関する訴訟についても扱う。

30億のデバイスで表示できる概要

原文は"3 Billion Devices Run Java." 直訳すると「30億のデバイスJavaを実行する。」

2005年にはJavaインストールされたデバイス30億を超えていたexitようであるが、インストール時に表示されるようになったのはOracleJava開発企業Sunごと買収した2010年ごろからのようである[要出典]2010年における世界の人口は約70億人と言われているから、30億のデバイスというと世界人口の半分近い数と言える[1][2]

しかし、実際には購入時にプレインストールされているだけでほとんど使用されていないケースも数えられているので、「走る(run)」というのは誇大広告で「住みついている」くらいにしておくべきかもしれない。

30億のデバイスに含まれない環境

Javaといえば、"Write once, run anywhere"というマルチラットフォームが売りだったが、Javaサポートされない環境も増えてきている。

リッチ・クライアント(Java Applet)

2000年よりも前までは「リッチ・クライアント」の分野でなんらかの機Webページに付加することが「アプレット(Java Applet)」が流行りかけていた。

し かし、マイクロソフトが勝手に改造した件の訴訟(後述)のゴタゴタや、ネットスケープナビゲータでJavaプレットを表示しようとすると数分間一切操作を受け付けない状態(Java仮想マシンの起動に時間がかかった)になるため露に敬遠されるようになった。そうこうしているうちに、こちらの分野は Flash、さらに近年では所謂Ajax(Javascript)やHTML5に奪われてしまった[3]

ChromeJavaプラグイン(正確にはプラグインに必要なNPAPI)のサポートをやめる方針であり、実際に2015年2月バージョン42からNPAPIをデフォルトで無効exitにしている。また、2015年7月に登場したWindows10デフォルトブラウザMiccosoft EdgeでもJavaプラグインサポートされておらず[4]今後もサポートしない方針であるexitことが表明されている。さらには2015年10月8日、頼みの綱であったFirefoxでさえ2016年末までにNPAPIを削除することを発表したexit

そして2016年1月27日、ついにJavaの権利を有するOracleまでもがJava次期バージョンJava9ではNPAPIをサポートしないことを発表した(もっとも2017年9月リリース時には、Firefox側でも上記の通りJavaサポートされなくなっていた)。もはやこの分野ではオワコンであることが確定して死を待つのみになっている。

スマートフォン

Android

近年ではスマートフォンとなったことでAndroidアプリ開発用に使われている。言としての互換性の上ではAndroid環境は一部を除きJava Standard Editionに準拠しているため、「Java Micro Edition」で頻発した「あのライブラリがない」といったことは少ない。

だが、Android に使われている仮想マシン(DalvikVM)はJavaVMと異なるバイトコードで動くため正式には「Java」とはいえない。この点についてはOracleGoogleで訴訟になっている(後述)。2016年Android 7.0以降はOpenJDKベースになっているが、OracleJava互換性テストを受けていないので、やはり正式には「Java」とはいえない状況は続いている。

iOS

iPhoneは、Appleの方針としてiOS上に仮想マシンや実行環境インストールできないようにしている。従ってJava開発するのは非現実的な状況で、Androidと両対応したい場合にはJavaは選びづらく、結局C言語とかに流れて行ったりする。

Windows mobile

Windows10 mobileリリースされ、Universal Windows Platformが提唱され他のスマホOS用のソースコードが流用できると謳われたが、そこで採用されたJavaAndroidJavaである。だが、2016年2月25日Microsoftより開発中止が発表された。

32ビットマシン

OracleJavaOpenJDKでは、Java 9から32ビット版がサポート外になった。32ビット版のバイナリ提供するケースは存在する。

30億のデバイスをめぐるJavaの訴訟

Sun vs Microsoft

1997年MicrosoftSunからライセンスを受けてJava仮想マシン開発してWindowsに標準搭載した。しかしMicrosoft実装Sunの要した仕様を満たしていなかった上に、Windows上でしか動かない独自の拡が加えられていた。クロスプラットフォーム(OS依存しない)アプリケーションが普及するとWindowsの優位性が失われるのでMicrosoftがこういった行為に走るのは必然的な流れとも言える。このため同年10月SunMicrosoftを提訴。1998年3月連邦地裁よりMicrosoftへのJavaロゴ使用停止の仮処分命が下るなど、Sunは訴訟には勝利するが、このことが元となってWindowsデフォルトJava仮想マシンが搭載されることはなくなり、ブラウザ上のリッチクライアント競争においてアプレット方式が大きく出遅れるきっかけとなってしまった。

一方、Microsoftの方は2000年以降、自社の.Net Framework技術にシフトしてC#などを発表するのであるが、それはまた別の話。

最終的に両者は2004年4月MicrosoftSun和解を支払う形で和解に至っている。

Oracle vs Google

GoogleスマートフォンOSAndroid向けにDalvik Virtual Machine開発したが、このDalivik VMJavaの技術を使いながらもJavaとしての要件を満たしていないとして、2010年8月に訴えを起こされた。訴えたのは、2010年1月Sunを買収してJavaの権利を引き継いだばかりのOracleである。

ハードウェアの制約が厳しいスマートフォンで、Java認定を受けるだけのために余計な機サポートするわけにはいかなかったかららしいが、実際のところはGoogleJavaライセンス料を支払いたくなかっただけなのではないかとみる向きもある

第一ラウンド: APIに著作権はあるか

争点は色々あったようだが、最終的にはJavaAPI自体に著作権が認められるかというところに絞られた。もしこれが認められると、(有名なソフトオープンソースクローンなど)API互換で独自実装することが大きく制約される可性があり、この件では関係なはずのMicrosoftなど、ソフトウェア業界全体からも関心を集めた。

一審はGoogleに有利な判決、二審はOracleに有利な判決が出たが、2015年6月アメリカ最高裁Oracle側のを支持する判断をした。

もうちっとだけ続くんじゃ

第二ラウンド: API利用はフェア・ユースか

2016年3月30日OracleGoogleを再提訴して約1兆円相当の賠償請を開始した。2016年5月26日連邦地方裁判所は、上述のJavaAPIについて著作権を認める判決を踏まえた上で、GoogleによるAPI利用は「フェア・ユース(著作権者の許諾がいらない正な利用)」にあたり、著作権料の支払いは必要ないとの判断を示した。

2017年2月10日Oracleはこの判決を不として連邦巡回区控訴裁判所に上訴し、2018年3月27日裁判所Oracleを認め、本件はフェア・ユースではないとの判断を下した。

賠償額についての審理が進む中、Google2019年1月24日最高裁に上訴し、APIが著作物であるという判断の見直しをめた。上訴は受理され、2020年10月に口頭弁論がスタート2021年4月5日最高裁Google勝訴の判決exitを下し、GoogleによるAPI利用はフェア・ユースにあたると認めた。最高裁はこの判決ではAPIが著作物であるかどうかについて明言していないものの、他のソフトウェア開発が同様の訴訟に巻き込まれる可性は低くなったとみられる。

これにより10年越しの巨大IT訴訟は、判決が二転三転した末に壮大に何も始まらないという結末を迎えた。

30億のデバイスで参照できる関連項目

実際に30億のデバイスが参照したらニコニコ大百科サーバーが落ちると思われるが、できるというだけで実際に実施されるわけではないのは本項のキャッチフレーズと同じである。

脚注

  1. *JavaPCインストールする時に表示されるので、30億というのがPCの台数に見えてしまうが、よく見ると"PCs"や"Machines"ではなく"Devices"となっており、組み込み機器などの非PCデバイスを数に含めるためにこのような表現をしているのかもしれない。
  2. *Oracleの発表によると2020年現在世界510億のJava仮想マシンが動いているという。PCスマホ2台持ちでも3つにしかならないのに一人あたり6-7台とかおかしいだろJKとか思ってしまうが、サーバーサイドで用いられるものも数えていると思われる。
  3. *この分野で の復権をしてJavaの技術を発展させた、Java PluginJavaFXといったFlashと競合する技術を発表してはいるが、今のところ新規ユーザの獲得には至っていない。またGoogleJava(ただしライブラリの互換性はほとんどなし)からJavaScriptに変換するGWT開しているが、これもあまり普及してるとは言い難い状況である。
  4. *Microsoftの自社技術であるSilverlightActiveXさえもサポート外としており、Javaが問題というよりも先述のようにリッチクライアント技術はセキュリティホールになることが避けられないという認識に基づいた判断のようである。それでもAdobe Flashは切れなかったようだ。

【スポンサーリンク】

  • 5
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

ウマ娘 プリティーダービー (単) 記事と一緒に動画もおすすめ!
提供: Akane
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

30億のデバイスで走るJava

1 ななしのよっしん
2020/10/26(月) 03:06:28 ID: 7nwphvzVcV
30億のデバイスで走って客先で動かないjava
👍
高評価
0
👎
低評価
0
2 ななしのよっしん
2020/12/21(月) 18:34:31 ID: za6Kuri2t5
Java生みの、ゴスリン氏がJavaAndroid
https://japan.zdnet.com/article/35160409/exit
>Oracleによれば、今日では世界510億のJava仮想マシンJVM)が動いているという。
👍
高評価
0
👎
低評価
0
3 ななしのよっしん
2020/12/21(月) 20:58:31 ID: BPSwbgpn4G
Javaさんトコトコで
👍
高評価
0
👎
低評価
0
4 ななしのよっしん
2021/01/25(月) 21:53:40 ID: za6Kuri2t5
👍
高評価
0
👎
低評価
0
5 ななしのよっしん
2021/12/11(土) 00:59:17 ID: i8ybQcR4E4
30億のデバイスで走る任意のコード
👍
高評価
0
👎
低評価
0
6 ななしのよっしん
2022/01/23(日) 11:55:08 ID: la067fSiLg
30億のデバイスで走る×任意コード実行脆弱性=?
👍
高評価
0
👎
低評価
0
7 ななしのよっしん
2022/01/23(日) 12:04:08 ID: rExgfOMrFU
Googleゴリ押すgolangというevilべたらJavaは良心的だったんだなあって
何が言いたいかというと現時点で最もイケてる言Nim使おうで
👍
高評価
0
👎
低評価
0
8 ななしのよっしん
2022/02/18(金) 02:56:47 ID: Ga6JDwU2io
Javaを巡りSun&Oracleから訴訟されたという共通点を持つMicrosoftGoogleの2社が近年Project FuguやBytecode AllianceRust Foundationなどに参画しPWA,WebAssembly,Rust等々の推進で同調した動きを見せてて結構興味深い
裁判が途中二転三転ChromebookAndroidアプリPWAに置換されつつあったからAndroidスマホアプリPWAWebAssemblyベースに移行する民族大移動が始まるかと思ったけど最高裁の判決を見るに暫く安泰そう
👍
高評価
0
👎
低評価
0
9 ななしのよっしん
2022/06/01(水) 02:11:15 ID: 8K8a17oFBG
計算機側の進歩とライブラリ拡充のJSすらまともに動くようになったからクロスプラットフォーム的はJSやPyに取って代わられたと言えるのかな
👍
高評価
0
👎
低評価
0
10 ななしのよっしん
2023/02/12(日) 12:42:24 ID: htiUrTig1B
結構誤解があると思うんだけど、元々Javaは色々な機器への組み込み用からスタートした言で、PCとかをメインで取ろうとしたわけじゃないんだよね。
実はSIMなんかのスマートカードに使われてる Java Card とかがかなりでかくて、みんな知らないところでJava使ってたりするんだよ。
👍
高評価
1
👎
低評価
0