
最近Javaが有償化されたって聞くけど、なにが変わったんですか?
プログラマーだけが関係して、普通のユーザには影響がないんでしょう?
Javaの有償化は普通のユーザにも影響があります!しっかり理解して使わないとライセンス違反!なんてことにもなります。そうなる前にこの記事を読んでください。
- Javaサポート有償化について知りたい人
- 普通のユーザは変わらずサポート無償なんでしょ?って思っている人
- OpenJDKをどれを使ったらいいかわからない人
Javaとは
Javaはプログラミング言語の一種です。Javaは、仮想マシンと呼ばれるハードウェアを模擬したソフトウェア上で動くため、実際のハードウェアがWindowsだろうとLinuxだろうと関係なく動作することができます。
Sun社というアメリカの会社が開発しましたが、その後Oracle社が買収し、現在はOracle社が管理しています。
Javaは、プログラムを実行するための実行環境JRE(Java Runtime Environment)と、プログラムを開発するための開発環境JDK(Java Development Environment)が存在します。JDKにはJREも含まれています。
JDKの中には、標準的な機能が搭載されたJavaSE(Java Platform, Standard Edition)や、Webのリッチな機能が搭載されたJavaEE(Java 2 Platform, Enterprise Edition)などが存在します。
現在は、開発環境JDKはJavaSEしか存在しないため、JDK=JavaSEとなっています。
また、実は実行環境JRE単体のダウンロードができなくなっており、JREのみインストールしたい場合もJavaSEが必要になりました。
有償化の範囲
有償化されたのは、商用ユーザに対するJavaSEのアップデートサポートです。
お金をOracle社に支払わなければ、JavaSEのアップデートを受けられなくなったということです。上に書いた通り、Javaを実行したいだけの普通のユーザもJavaSEを使用しています。
このためライセンス料を支払わなければ企業などでJavaをインストールしている場合はアップデートを受けられないことに注意してください。
JavaSEのアップデートを受けられないということは、新たに脆弱性が見つかっても、セキュリティリスクを持ったまま、使い続けなければならないということになります。
サポート費用は、1ユーザあたり4千円/年になります。ただし、JavaがインストールされているPCにアクセス可能な全員に対して費用が発生するため、20人で利用しているサーバにJavaがインストールされていた場合、8万円/年かかります。
「Javaは使いたいけどライセンス料払えないよー。」という方は、OpenJDKを使いましょう。
OpenJDKとは
OpenJDKとは、JavaSEのソースコードやライブラリを元にして、無償で提供しているプロジェクトのことです。
このソースコードを元に、サードパーティ(第三者)がコンパイルして、フリーのJDKとして提供しています。このフリーのJDKのことを、OpenJDKと指すこともあります。
実は元のソースコードは、Oracle社のJavaSEと同じなため、OpenJDKはJavaSEとほとんど変わりません。違うのは誰がサポートしてくれるかということだけです。Oralceが提供する、Oralce OpenJDKというものもあります。
このため、Oracle社にこだわらないのであれば、OpenJDKに移行してもJavaとほぼ互換性を保つことができます。
ただし、OpenJDKは脆弱性に対するアップデート責任がないため、アップデートはサードパーティの都合によって可能な限りとなることに注意してください。とはいえ、脆弱性が発表されればすぐに対応してくれます。
おすすめしたいOpenJDK
OpenJDKは、複数のサードパーティが提供しています。それぞれ長期サポート(LTS:Long Term Support)があったり、互換性試験(TCK:Technology Compatibility Kit)を保証したり、商用サポートがあったり特徴が異なります。
OpenJDK名 | 長期 サポート | 互換性試験 | 商用サポート | メリット |
---|---|---|---|---|
AdoptOpenJDK | 〇 | × | 〇 | IBMとMicrosoftがスポンサーのため、サポートが強力。対応OSが多い。 |
Amazon Corretto | 〇 | 〇 | △ (AWS上だけ) | サポートが手厚い。AWSで使用する場合は親和性が高い |
AdoptOpenJDK
AdoptOpenJDKは、天下のIBMとMicrosoftがスポンサーになっているOpenJDKです。互換性試験(TCK)がないものの、強力なフォローがあるため信頼度は高いです。
また、対応しているOSも豊富です。
現在利用している人が、最も多いOpenJDKなのではないかと思います。
Amazon Corretto
Amazon Correttoは、LTS、TCK、商用サポート全てを満たしているOpenJDKです。商用サポートはAWS上に限定されます。AWSを利用している人には、よいかと思います。
まとめ
Javaの有償化と、OpenJDKについてまとめました。
有償化の範囲をしっかり理解し、状況に応じてOracleのサポートを受ける、またはOpenJDKに移行しましょう。
余談ですが、この件はサポート有償化が目立っていますが、Javaのオープンソース化を促進する狙いがあったのではないかということです。
- 企業でJavaを使う場合は、有償化の対象
- OpenJDKはJavaSEと同じソースコードを使うため、ほぼ互換性がある
- サードパーティが、それぞれの特色のあるOpenJDKを提供している
コメント