Androidの次期バージョンではOpenJDKが採用される 119
ストーリー by hylom
これで解決? 部門より
これで解決? 部門より
insiderman 曰く、
Androidの次期バージョン「Android N」ではOpenJDKベースのバイトコード実行環境が採用されるとのこと(juggly.cn、元ネタのVentureBeat)。
AndroidではAndroid runtime(ART)やDalvikと呼ばれる、Googleが独自に(オープンソースのJava実装であるApache Harmonyをベースとして)実装した仮想マシン/バイトコード実行環境が使われていたが、これに対しOracleがJavaの知的財産権を侵害しているとして訴訟になっている。juggly.conではOpenJDKを利用することでこの知的財産権問題を回避できる、という話が出ているが、OpenJDK自体は確かにオープンソースだが、Javaの商標等の関連で自由に使えるものではないという話も聞いたことがある。OpenJDKの採用でこの問題は解決するのだろうか?
なお、完全にフリーな Android を作る「IcedRobot」なるプロジェクトも以前話題になったが、こちらがどうなっているのかは不明。
Googleは負けを認めたようです (スコア:3, すばらしい洞察)
今まで、ライセンス料を踏み倒すために「Javaではない何か」を開発し続けていたわけで、
このごまかしが裁判で否定された以上、独自開発を中断するのは当然の判断だと思います。
なぜかJavaの普及にマイナスになるような批判のコメントが多いですが、
Java VMの開発リソースがOpenJDKに集約され、
Googleの豊富な人的リソースがOpenJDKに投下されることになるわけで、
Javaという言語にとってもプラスでしょう。
むしろ、今までのGoogleのやり方が、プラットフォームの分断を引き起こしていたという点で
Javaの発展にとってマイナスでした。
(一概に別実装が悪いとは言えませんが、Javaに関しては、言語仕様の統一が強みの言語ですので、
相互運用性のない「Javaもどき」の存在はマイナスだと思います)。
「ライブラリのAPI設計は創造的な著作物である」という米国裁判所の判断は、
我々プログラマにとって極めて自然であり、また我々の仕事の創造性が適切に評価されているという点で喜ぶべきことです。
この件に関してOracleを支持しこそすれ、非難する理由は何もないように思います。
Googleもぐずぐず粘らずに、迅速に方針を転換したのは評価できます(初めからライセンス料を支払うべきだったのは前提として)。
Re:Googleは負けを認めたようです (スコア:1)
GPLのコードと設計が似ていれば、後発のソフトウェアはGPL違反になる、最後に勝つのはRMSかもしてんな。
Re:Googleは負けを認めたようです (スコア:1)
Harmony は Oracle の態度がよろしくなく中止のやむなきに至りました。
これを以て「一社独裁」の現れと見ることはできます。
Jakarta は「親プロジェクト」の立ち位置だったのが,子供達がが全部独立するなり
開発終了するなりして空き家になってしまったので,消滅となりました。
別に将来とか方針という話ではありません。
タダのりするから.... (スコア:2)
今の実装がどうなっているかはともかく、APIを含めて Java の発想や仕様を借りてきてるんですから、それにたいしてはお金をはらってもいいと思いますけどねぇ。
アプリが売れるのは、開発環境を含めて、ベースがしっかりしているからでしょうし、
そのご利益は Google が一番よく分かっているでしょうに。
Re:タダのりするから.... (スコア:1)
OracleはJava API非互換の実装を認めないでしょうし、GoogleはモバイルのためにJava API互換を無視したいはずなので、金の問題ではないでしょう。
今回、GoogleがJavaのAPIを採用するというのは、悲報に感じます。
Re:タダのりするから.... (スコア:1)
Java 9の先、Java 10/11では最新のハードウェアやOSに最適化したデータのメモリ配置が可能になる。JavaOne 2015
http://www.publickey1.jp/blog/15/java_10_11osjavaone_2015.html [publickey1.jp]
>Javaのデータとメモリのレイアウトは、昔のプロセッサのモデルのまま
今のJavaは現代的CPUに向かないらしいので、Java APIを採用するのはJava 10まで待てば良いのに…。
Re:タダのりするから.... (スコア:1)
なんかその記事は違和感があるな、HWプリフィッチが実装されたCPUを一般的に手に入れられる様になったのは
AthlonのPalominoコアからだ。つまり現代的なCPUに対応したのではなく、10年以上放置された問題が
やっと解決されたに過ぎない。
Re: (スコア:0)
本気で言ってんの?
ただでさえパフォーマンスの低いjavaのパフォーマンスを改善してたら訴えられたとか
Javaくたばれがオラクルくたばれになったのが大方の意見だろ
Re: (スコア:0)
へえ、パフォーマンスがAPIの仕様に含まれてるとは知らなんだ。
どこに明記されていますか?
Re:タダのりするから.... (スコア:2, 参考になる)
自分がなにを言ったのかをもう一回確認するといいですよ。
これは、「APIとしての動作(副作用を含む)を同一にしさえすればパフォーマンスを改善する実装を作ってもいいのだが、Googleの実装が許されないのはAPIとしての動作(副作用を含む)が同一でないからだ」と言っています。
実際は、「APIとしての動作(副作用を含む)を同一」にしようがしまいが、Oracleがダメといえばダメなのです。「APIとしての動作(副作用を含む)を同一」じゃなくてもOracleがOKといえばOKなのです。(APIの著作権者にこのような横暴を許すことになるからこそ、APIに著作権を認めた判決は非難されているわけですが)
では、「APIとしての動作(副作用を含む)が同一」になれば、Googleの実装は認められるのでしょうか?少なくともOracleでないあなたはそんなことを保証できないですね。
そういえば、「APIとしての動作(副作用を含む)を同一にしてください」という発言も奇妙ですね。Oracleがいうなら分かりますが、Oracleでもなんでもないあなたが、なぜ「してください」という言葉を使うのでしょう。APIに著作権が認められるかは見解が分かれていて、事前には判断しようがなかったことに「違法行為をしておいて俺が正しいだ法律的に正しい側がくたばれって、どんだけ反社会的」と評するのもそうですけど、ちょっと自分とOracleを同一視しすぎですよ。
Re:タダのりするから.... (スコア:1)
横レスだけど、正しくは
「APIの動作を同一にした上で、Javaの別実装としてライセンスとってください」
ですね。
Javaじゃないと言いつつJavaのAPIはパクってるから敗訴したわけで。
Re: (スコア:0)
その判決自体が異常でしょう>APIには著作権。悪名高きOracleの法務部は一体なにをしたんだか…。
Re: (スコア:0)
反社会とか臍で茶が沸く
社会悪はオラクルだろうが
Appleもやったし (スコア:0)
GoogleもSwiftっぽいオリジナル言語作っちゃえば?これだけAndroid普及したら、開発者もついていくしかないでしょ!?
Re:Appleもやったし (スコア:1)
Androidの場合はKotlinがIDEからサポートされてるから、そこまで頑張ってクソ言語Javaを捨てるのにコストかける必要が無い。
Re: (スコア:0)
Go言語 [wikipedia.org]…。
いまいち主流になれないのは何故でしょう。
Re:Appleもやったし (スコア:1)
自分もGoが思いついたけど、まだまだ普及は先かなぁ
すでにJavaに慣れている開発者が、まだJavaでも開発できるのに、自ら言語を移行するほどの動機がないんでしょうね。
パフォーマンスが重要な特殊なアプリって少ないし
ちょっとぐらいの改良なら、多くのアプリを同時に使っているような人でなければ大きな違いは感じないだろうし
他のアプリの為に、より少ないリソースで動くように改良しようって思う開発者は多くなさそうw
Re:タダのりするから.... (スコア:1)
Orcale的には、Javaからなんらかの利益が欲しかったんでしょう。
Googleも含め、Javaを利用している人たちから、別の形で収益があれば、今のようなことにはならなかったんじゃないかなぁ...
じっさい、Googleは Android で利益を上げているわけですから。
なんとなく、そう思ってしまいました。
Javaの普及を妨げているのはOracle (スコア:2, 参考になる)
本当マジ勘弁してくれ…
できれば滅んで欲しい (スコア:1)
どさくさ紛れにマルウェアの類も一緒にインストールさせようとするのはヤメてくれ・・
Re:Javaの普及を妨げているのはOracle (スコア:1)
Javaは英仏系の情報系学科のデフォ言語なんで、兵隊が大量に存在する。だから、新言語よりもJavaが合理的なわけ。
Re:Javaの普及を妨げているのはOracle (スコア:2)
> VPNクライアントとか認証系で全盛なんですよね
まだやってたんだ、、一応知ってるけど、とっくに廃れて、
全部JavaScriptに置き換えたのかと思ってた。
でも、しょうがないから使ってるのであって、「より良い選択」とは程遠いはず。
ブラウザからローカルマシンのセキュリティを触れないから残ってるのだろうけど、
それはすでにJavaアプレットではない気が。。
Re:Javaの普及を妨げているのはOracle (スコア:5, すばらしい洞察)
>サーバーサイドからJavaが消滅する理由は特にない。
言語仕様がISO標準規格にもなっておらずサポートベンダは1社のみ。
シェアはともかく、環境としてはがけっぷちなんですけど。
新規案件ではJavaを第一選択肢には挙げませんよ。
言語仕様がISO標準規格になっていないのは確かですが、仕様策定はOracleではなくJCP [jcp.org]で行われているので1社のみではないです。サポートベンダがJavaVMの実装をさすのであればそれこそIBMや国内メーカのいくつくかはっ互換性のある独自JavaVMを作成していますので1社ではないです。
Windows/Lnux/UNIX、変わったところではNonStopでも動く比較的安定した環境という意味でJavaはまだしばらく使い続けられるのではないでしょうか。言語としてのJava、ではなく環境としてのJavaVMかもしれませんが。
言語としてはScalaの成熟(コンパイル速度改善)待ちでしょうか。
Re:Javaの普及を妨げているのはOracle (スコア:1)
>IBMや国内メーカのいくつくかは互換性のある独自JavaVMを作成していますので1社ではないです。
まだやってる?IBMも日立も、Java7くらいから諦めたんだと思ってた。
このあたり、使ってないとなかなか情報入ってこないので、現状を教えてほしいです。
Re:Javaの普及を妨げているのはOracle (スコア:3)
>IBMや国内メーカのいくつくかは互換性のある独自JavaVMを作成していますので1社ではないです。
まだやってる?IBMも日立も、Java7くらいから諦めたんだと思ってた。
このあたり、使ってないとなかなか情報入ってこないので、現状を教えてほしいです。
コメントみて、そういえば独自VMを作っているのを確認したのは数年前だなとおもって改めて見に行きましたが、IBMはきちんと継続 [ibm.com]、日立もCosminexusが更新されているのでまだ続ているようですがちょっとWebでは確認できませんでした。
あと、これもいつまでかはわかりませんが富士通もたぶんOracle(旧Sun)ベースだと思いますが独自拡張していたようです。
英語版WikipediaにJavaVM実装リスト [wikipedia.org]がありましたので参考までに。
Re:Javaの普及を妨げているのはOracle (スコア:1)
サーバサイドならなんの縛りもないので
JVMも、Java言語文法自体も捨てていいのであ。。
とりあえず、ruby on railsかと思ってたけど違うのかな。。
もうNode.js?つかったことはないけど。。
Re:Javaの普及を妨げているのはOracle (スコア:1)
Railsはフロントエンド開発との連携方法を完全に誤ったので止めた方が良い。
Rails2ぐらいのころまでならまだしも、そっから先は完全にDHHが道を踏み外してる。
Re:Javaの普及を妨げているのはOracle (スコア:1)
とりあえずJavaとRoRとNode.jsを比べてる時点で
「Web屋はお呼びじゃねえよ黙ってろ」
と言わざるを得ません
Re:古き良き Sun は死んだ (スコア:1)
そのせいでNT4やWindows9xが早い時期に提供終了になって、古いシステムをメンテナンスする人が困っていた。
よくわかんねーけどよー (スコア:0)
関連ストーリーに入ってねーけど、Oracleが口実にしてたのって、バイト実行環境よりも標準ライブラリ(API)の部分じゃなかったっけ?
Re:よくわかんねーけどよー (スコア:1)
> Oracleが口実にしてたのって、バイト実行環境よりも標準ライブラリ(API)の部分じゃなかったっけ?
というより、エミュレーション自体には著作権は認められないので
著作権が認められるAPIの仕様のほうを争点にせざるを得なかった
このタレコミで暴れてるアンチはそのへん全部すっ飛ばしてる馬鹿
OpenJDKベースにしたからってAndroidでの実装がなにか変わるわけじゃない
Androidを訴えるってことがOpenJDKを訴えることと同一化していくだけ
Re:よくわかんねーけどよー (スコア:1)
libcoreがゴチャゴチャするんだろうなあと思ったら
すでに始まってた
https://android.googlesource.com/platform/libcore/+/master/ojluni/ [googlesource.com]
せっかく安定してきたlibcoreなのになあ
Re:Java厨って、ほんとバカ... (スコア:1)
Javaがとっくに終わってるのはともかくとして、それってJavaに関係なく、
単純に「どのようなソフトを作っても、特許で訴えられて"おねだり"される可能性がある」ってことになるのでは?
Re:Java厨って、ほんとバカ... (スコア:1)
特許は今回関係ないはず。
「知財」という言葉は議論を混乱させるために作られたクソ用語だから使ってはいけないと言っていたRMSはやはり正しかった。
これですか? (スコア:2)
>使ってはいけないと言っていたRMS
Did You Say “Intellectual Property”? It's a Seductive Mirage [gnu.org]
あるいはその日本語訳
「知的財産」だって? そいつは砂上の楼閣だ [emptypage.jp]
Re: (スコア:0)
まあ,相手があの Oracle だっつうのがポイントなんじゃないかな.
Re:Java厨って、ほんとバカ... (スコア:1)
たらればを言っても仕方ないけど、GoogleがSunを買っていたら…。
Re:Java厨って、ほんとバカ... (スコア:2)
社名がEclipseに変わるのでしょう。
Re: (スコア:0)
ふーん。じゃあ今年、Android用アプリは何で書くべきなんですかね。C++?
ところで、Java処理系の作成と、Java API自体がOracleの知財かどうかを争ってる今の状況には関係がないだろ。
作りこもうが作りこもうが、どんなJava処理系を採用しても同じように訴えられたろうよ。
Javaが使われるなら、本来は自社の管理下で行われるべきだったとOracleは思っているはずだ。
Re:Java厨って、ほんとバカ... (スコア:2)
GoogleはもっとGoをプッシュすべき
せっかく自前の言語を作ったんだから
Re:Java厨って、ほんとバカ... (スコア:2)
Go言語はC言語の歳の離れた兄弟、UNIXの後継Plan9にとってC言語にあたるのがGo言語
カーネルの上、アプリケーションの下、つまるところUNIXデーモン記述することに特化した言語だから
WEBアプリとかライブラリを作るのには向いているが、Androidアプリのようなものには向いていない。
Re:Java厨って、ほんとバカ... (スコア:1)
> C言語
> Go言語
日本人としてはこの並びは妙に兄弟っぽく見える。
というか読める。
Re:Java厨って、ほんとバカ... (スコア:1)
UNIXの後継Plan9にとってC言語にあたるのがGo言語
UNIXの後継Plan9にあたるものが、C言語にとってはGo言語?
Plan 9とGoって何か関係あったっけ?
Re:Java厨って、ほんとバカ... (スコア:1)
そーじゃなくて。
元のコメント [srad.jp]はまるで、Plan 9上でGo言語が動いてて、Go言語がかつてのC言語の様に使われている、と読める、って指摘。
実際には、Go言語はPlan 9をサポートしていないし、Plan 9のカーネルはC言語で述されていて、Go言語は使われていない。
Re:Java厨って、ほんとバカ... (スコア:1)
さすがにそれは君のパーサが壊れてるだけ
「UNIXの後継Plan9にとってC言語にあたるのがGo言語 [srad.jp]」を百回音読しなさい。
話はそれからです。
Re: (スコア:0)
やめてくれ……
本当にやめてくれ……(真顔)
Re:Java厨って、ほんとバカ... (スコア:1)
C#でしょ
Re:Java厨って、ほんとバカ... (スコア:1)
Re:Java厨って、ほんとバカ... (スコア:1)
Re:Java厨って、ほんとバカ... (スコア:2, 参考になる)
JVNの脆弱性データベースで
JAVAで検索すると1470件
.NETで検索すると271件
だそうで。.NETの登場から15年、Javaの登場から20年
1/100は言い過ぎにしても歴史に5年程度の差しかないにしては多いかもね。
ただシェアを想定すればこんなもんと言う気はする。」