hero-rinのブログ

某会社で某システムの運用、開発をやっているただのおじさん

最近のJAVAの話

今更ですが最近JAVAが騒がしい

自分の周りでちょっと前から「javaどれにする?」なんて話がちょこちょこと聞こえてきていました。それもこれもOracleさんがこんなことを言い出したからです。

Oracle Java 11から非商用・開発用途で使う分には無償だけど、商用の場合は有償なんだからね!

こんな言い方はしてないんですが、Oracle Java 11からは仕事(商用)で使用する場合、有償化されてしまったんです。さらっとライセンスも置き換わってしまったそうな。

www.oracle.com(日本語訳まだないのかな?)

自分はjavaに関わるチームではなかったのでポカーンとしていたんですが、java 8のサポート期間は2019年1月末で終了だそうです。(過ぎてますね(^^; )そこで『無償サポートを受け続けるにはどうしたら?』という話をまとめていこうと思います。

無償サポートを受け続けるためにすること!

現状がjava8を使用している場合「サポート切れても使い続ける!」って言うのは無しにして(^^; 下記を早急に行う必要があります。

  • ビルドパッケージを替える
  • バージョンを上げる

"ビルドパッケージ"を替えるとはOracle JDKから別ビルドのJDKに替えるという意味です。そしてjava8のサポート期間は終わってしまったので*1、バージョンも上げる必要が出てきています。そんでもって無償でサポートを受けれるJDKはこれだけあるみたいです。

  1. OpenJDK
  2. AdoptOpenJDK
  3. Zulu(Zulu Enterprise)
  4. Amazon Corretto

上から順に軽く内容を書いときます。

 

1. OpenJDK

オープンソースプロジェクト。Javaコミュニティが運営しています。いろいろなjavaがありますが、このコードが基になってます。Oracleさんがスポンサーになっていて、実はバイナリもOracleさんがビルドしてくれているとのこと。なのでビルドを配布しているサイトはOracleさんで、ソースを公開しているのはJavaコミュニティという感じで、別部隊と考えておいた方が良さそうです。

jdk.java.net

 

2. AdoptOpenJDK

"AdoptOpenJDKプロジェクト"というコミュニティが作成しているOpenJDK互換のビルドパッケージです。元々は『新しい開発者をOpenJDKに引き入れる支援活動をしたい』という名目で立ち上がったコミュニティらしいです。尚、現状下の2パターンのビルドを提供しているみたいです。

  • AdoptOpenJDK with HotSpot AdoptOpenJDK + HotSpot*2
  • AdoptOpenJDK with Eclipse OpenJ9 AdoptOpenJDK + Eclipse OpenJ9*3

IBM大好きっ子は下の"AdoptOpenJDK with Eclipse OpenJ9"、それ以外の一般の人(偏見)は"AdoptOpenJDK with HotSpot"を使う感じかなと思います。

adoptopenjdk.net

 

3. Zulu(Zulu Enterprise)

Azul Systemsさんが提供しているOpenJDK互換のビルドパッケージです。こちらMicrosoftとタッグを組んだらしくMicrosoft Azureで使用する場合無料でエンタープライズ版の"Zulu Enterprise"を利用可能とのことです。

jp.azul.com

 

4. Amazon Corretto

Amazonさんから提供されている*4OpenJDK互換のビルドパケージです。AWSで"Amazon Linux 2"を使う場合はこのJDKになるかなーと思います。ただ、"Amazon Linux 2"用ってわけでもなく他のOS*5も対応していることをうたっています。

docs.aws.amazon.com

docs.aws.amazon.com

 

後、1〜4についてそれそれサポート期間違うのでサラッと書いときます。(上でも書いたんですが今回は長期サポートは割愛します) 

  1. OpenJDK:サポート期間半年
  2. AdpotOpenJDK:サポート期間4年
  3. Zulu:サポート半年 (Enterprise版は省略)
  4. Amazon Corretto:サポート期間JDK8が2023年6月 / JDK11が2024年8月

 

思いっきりザックリ書いてしまいましたが長期サポート(LTS)*6なんていうのもあり「うちの製品使ってくれたら長期サポートしまっせ!」という会社があちこちから現れて中々複雑な感じです。(特にIBMの勢いが凄い)長期を取り合えず置いとくと上に書いた1〜4が今後の中心になるかなと思います。

一応調べる中で自分が思った指標も書いとくとベンダーロックを気にするプロジェクトであれば"AdpotOpenJDK"が第一候補になるのかなと思ってます。後はAWS使い続けるよって方は"Amazon Corretto"、うちはAzureだよって方は"Zulu Enterprise"と住み分けていく感じなのかなっといったところです。どこかの記事で某銀行が"Zulu Enterprise"を採用したそうな。何か金融系はIBMかこのZuluが中心になりそうですね。

 

ってことで軽い気持ちで書き始めたJavaサポートネタ。。。全然楽じゃありませんでした。(-_-;) 次、本当に楽なネタ書いてからAWSに戻ろうと思います。(^O^)/

 

今回はここまで!

*1:長期サポートの話はここでは割愛しときます

*2:OpenJDKの仕様にそったOSS JVM

*3:IBMから提供されているOSS JVM

*4:2019/02/24現在はまだプレビュー版のようです

*5:Windows, macOS, 正式版ではUbuntu, Red Hat Enterprise Linuxも予定

*6:LTS : long term supportの略称