OpenJDK(Open Java Development Kit) どれを使ったら良い?

OpenJDKの自由化が始まったそうで、一体、どれを使ったら良いんだい?ということで、どうもボクです。

jjug.doorkeeper.jp

⇧  に行って参りました~。

 「選択回避の法則」じゃないけど、選択肢がありすぎて、どれを選んだら?っていう私たちに道標を!ってな話でしたかね。

 

まだまだ、OpenJDKが洗練されるのは先の話なんでしょうかね。

KISS の原則 (KISS principle) とは、「Keep it simple stupid.」(シンプルで愚鈍にする)、もしくは「Keep it simple, stupid.」(シンプルにしておけ!この間抜け)、もしくは「Keep it short and simple.」(簡潔に単純にしておけ)という内容の、1960年代米国海軍において言われた、経験的な原理・原則略語。その意味するところは、設計の単純性(簡潔性)は成功への鍵だということと、不必要な複雑性は避けるべきだ、ということである。

KISSの原則 - Wikipedia

⇧  「Simple is best」という方向に進んで欲しいですかね~。

この言葉は、ロッキードスカンクワークスの技術者のケリー・ジョンソン(1910-1990)によって造られた。

KISSの原則 - Wikipedia

 

というわけで、Javaの開発の根幹となる、JDK についてです。 

 

Oracle JDK のライセンスの変更

事の発端は、「Oracle JDK」のライセンスが変わった ことによるのでは無いでしょうか。そもそも、「JDK」について種類があるっていうの知らなかったんですよ、私はね(涙)。

んで、Oracle さんが、

⇧ 「個人利用以外は、有償化ね、よろしく! 」ってことになったらしいと。

なので、Java 8 までだと「Oracle JDK」は、無償でイケるらしいんだけど、Java 9 ~とかは、有償化されるらしい?と。

で、2019年7月27日(土)現在、

⇧ 「Java SE 8 」のアップデートは、「2020年12月末」までらしい...。

 

将来的に「Oracle JDK」以外のJDKを模索する必要があると。

 

OpenJDK とは?

んで、今後のJava開発で利用されていくであろうというのが「OpenJDK」であると。 

OpenJDK (Open Java Development Kit) は、プログラミング言語Javaフリーかつオープンソースの実装である。2006年、サン・マイクロシステムズが始めたもので、GPLリンク例外つきの GNU General Public License (GNU GPL) でライセンスされている。リンク例外つきとしたのは、Javaクラスライブラリのライブラリとしての使用をGPLライセンスの適用外とするためである。OpenJDKはJava SE 7以降の公式リファレンス実装とされている

OpenJDK - Wikipedia

で、

Oracleが、長期サポートリリース英語版(LTS)に対するセキュリティアップデートをパーミッシブ・ライセンスでリリースするのを中止したため、他のグループらがパーミッシブなライセンスのビルドを提供し始めている。

ビルド パーミッシブ Pure 商用サポート LTS
AdoptOpenJDK/IBM Yes Optional Yes Yes
AdoptOpenJDK/JClarity Yes Optional Yes Yes
Amazon Corretto Yes No Yes Yes
Azul Zulu Yes No Yes Yes
BellSoft Liberica JDK Yes No Yes Yes
ojdkbuild Yes Yes No Yes
Oracle Java SE No No Yes Yes
Oracle OpenJDK Yes Yes No No
Red Hat for Windows Yes No Yes Yes
SapMachine Yes No Yes Yes

OpenJDK - Wikipedia

と、Oracle さんが、ライセンス変更したんで、サードパーティの皆様が無償で利用できるJDKを公開してくれているらしい。

Oracle Java SE(Oracle JDKのこと)」以外のJDKの使用について検討する必要が出てきたと。

「OpenJDK」については、

speakerdeck.com

⇧  きしださんのスライドが分かりやすいです。流用させていただきました。

f:id:ts0818:20190727145138p:plain

ということらしく、「Oracle JDK」も元にしているのは、「OpenJDK」ということらしい。

「OpenJDK」をビルド後のバイナリを、サードパーティ毎に公開してくれているということになるようです。

OpenJDK については、 

twitter.com

⇧  「@yamadamn」さんのツイート記事「https://twitter.com/yamadamn/status/1154389189737103360」の公開スライドが詳しいです。

ということで、JDKの選定も考慮しないといけない時代になってしまったと...勉強しなければいけないことがどんどん増えていく(涙)

今回はこのへんで。