IT小僧の時事放談

Java SE 11は無料じゃないよ 先が見えてきたJavaにさようならを言おう

更新日:

468 x 60 バナー広告A

有料版
Java 11 Releasedが、リリースされました。
https://www.infoq.com/news/2018/09/java11-released

これまで無料で使えていたものが有料化となりました。

Javaで生活を営んでいたすべてのエンジニアは、どうすればよいのか?

今回のIT小僧の時事放談では、
Java SE 11は無料じゃないよ 先が見えてきたJavaにさようならを言おう
と題して
オラクル社のJava有料化における騒動と対策について
いつものように小難しい話をわかりやすく解決しながらブログにまとめました。

最後まで読んでいただけると幸いです。

スポンサーリンク

AdSence 336x280

Javaのおさらい

Java SEとかJava EEとかについて簡単に説明します。

Javaで抑えておいてほしい4つのこと

  1. Javaとはプログラミング言語の1つ
  2. 人気のある言語1位
  3. 多くの現場で使われている
  4. 汎用的でOSに依存しないプラットフォームの提供

これだけを最初に抑えておいてください。

特徴

いろいろなところ(WindowsとかMacOSとかAndroidとかiPhoneとかサーバ)とかで動く環境(プラットフォーム)が用意されているので原則Javaで書いたプログラムがどこでも動くぞ。
ということです。
正確に言うと「どこでも動く」ではなく「比較的簡単にどこでも動くようになる」というプログラム言語です。

Windowsで開発したものが、MacintoshでもJavaの環境があれば動くと思ってください。

Minecraft(マインクラフト)というゲームをご存知ですか?
あのゲーム Javaで書かれているのです。

Java SE

正式名は、
Java Platform, Standard Edition(Java SE)
デスクトップ(パソコン)やサーバーでJavaアプリケーションを開発するための基本的な機能が詰まったものです。
プログラムの開発には、必須です。

Java EE

正式名は、
Java Platform, Enterprise Edition(Java EE)
企業で使うサーバー等の機能が詰まったものです。
Webの開発で使いうことが多いのでJava SEと合わせ技的に使います。

JRE

正式名は、
Java Runtime Environment(JRE)
あなたのパソコンにインストールされていると思います。
これがないとJavaが動きません。
ここは、無料なのでJavaでつくられたアプリケーションを使うのは、お金がかからないので安心してください。

Java SEを使うならおカネを取るぞ!(オラクル社)

Javaで開発するときに絶対的に必須なJava SEをオラクル社が、2018年9月のバージョンからおカネをいただきます。
と発表しました。

これまで Java全般は、基本無料でした。
Javaの生まれ故郷がサン・マイクロシステムズという会社でオープン(みんなに開放)で発表していたので 無料で使えるという文化が根づいていました。
その方針によって Javaは、世界中のシステムをつくるときに活用され、特にインターネットと相性が良かったので爆発的に世界中で使われました。

世界に貢献する言語と環境を生み出してきた サン・マイクロシステムズ社は、UNIXという世界で一人勝ち状態だったのですが、経営が怪しくなり
2009年4月20日にオラクル社に買収されてしまいました。
もちろん、その中には、Javaも含まれています。

そこから約9年間、オラクル社は、Javaのサポートを無償で行ってきました。
Javaの環境は、インターネットで使われることが多く、ハッキングも多いわけで、次から次へとバグやセキュリティの問題が出てきます。

オラクル社は、それに対して無償で対応してきたのです。

ところが、2017年、オラクル社は、Java SE(開発には必須です)に対して

「2018年の9月に出てくるバージョン(Java SE 11)からおカネをいただきます。」

と発表しました。

世界中のJavaで開発されてきたシステムが一斉に悲鳴を挙げます。

おいおい!カネ払うのかよ ヽ(`Д´)ノプンプン

というわけです 。

面倒な説明をわかりやすく

バグや、セキュリティの問題が見つかるたびにオラクル社は、修正をしてきました。
今までは、それも無料で使えたのですが、今度からおカネが必要になります。

では、バージョンの説明をします。
Java SE XのXが、バージョンを表しています。

Java SE 8 2019年1月で無償サポート終了
Java SE 9 2018年3月無償サポート終了しています。
Java SE 10 2018年9月でサポート終了

Java SEで無償でサポートを受けられるのは、Java SE 8のみとなっています。
なんか変ですね、Java SE 8という2014年3月18日(米国時間)に発表されたものが、一番長いサポートって
わざとややこしくして、混乱させているとしか思えません。

そして、オラクル社からJava SE 10という有償版が登場します。

この Java SE 11は、3年間のバグやセキュリティの修正をしますよという保証がついています。
これを Long Time Support(LTSと略されています)と言います。

今後、オラクル社のJava SE(開発環境)を使いたければ、おカネが必要になってくるのです。

費用

Java SEには、4つサポートが組まれています。

  • Java SE Advanced Desktop
  • Java SE Advanced
  • Java SE Suite
  • Java SE Subscription

Javaが主に使用されているのは、サーバーと呼ばれている環境なので Java SE Advanced が多いと思われます。
このお値段

  1. ライセンス費用=1物理プロセッサーあたり
    年間60万円。
  2. 保守費用=1物理プロセッサーあたり
    年間13万2000円。

1物理プロセッサーというのは、CPUの数です。

通常、ネットサービスを提供している場合、1物理プロセッサーというのは、ありえないのでかなりの金額になるのは、間違いありません。

また、Java SE Subscriptionという月々支払うパターンも追加されています。

詳しくは、オラクル社の価格表に記載されています。
https://www.oracle.com/assets/e-pl101005-101005a-n-176288-ja.pdf

もし、この記事を読んでいる人で
「うちのサービスは、大常備なんだろうか?」
「いくらオラクル社に支払えばいいのか?」
と思っている担当者や経営者の皆さん。

詳しくは、自社のシステム担当者か開発を担当しているIT企業と相談したほうが手っ取り早いです。

空気や水と同じだったJavaは、無料じゃなくなる

無料で使えるシステムの開発環境は、たくさんあります。
これを「オープンソース」と言います。

しかし、空気や水がいきなり「カネとるぞ」と言ってきたらどうしますか?
Javaは、空気や水と同じように無料で使ってきたわけですが、そうもいかなくなりました。

世の中には、善意の団体もあるものだ

オラクル社が、提供している Java SE(Oracle Java SE)とは、別に無償版の開発環境を提供している
OpenJDK (Open Java Development Kit) という団体のようなものがあります。
http://openjdk.java.net/

おっと JDKという言葉が出てきたので解説します。
JDKというのは、Java SE Development Kitと言ってJavaを開発する上で必要なものです。
これがあれば、オラクル社の Java SEを使わなくても大丈夫!

というはずですが。。。

OpenJDKは、サポートが、半年単位
半年たったら、次のバージョン、そのバージョンのサポートが半年

というように
Long Time Support(LTS)が今の所、発表されていません。

つまり、バグやセキュリティを最新の状態で対応するには、半年ごとにOpenJDKの入れ替えが必要となるのです。
そんな、理不尽な・・・ 言われても Java自体は、オラクル社のものなので
そういう取り決めと思ってください。

正確に言うとオラクル社のJava SEも半年単位でバージョンアップが用意されるスケジュールになっていますが、一つのバージョンに対して Long Time Support(LTS)を有償で対応しますよ。
という仕組みです。

つまりOpenJDKには、Long Time Support(LTS)がないのでオラクル社のバージョンリリースにあわせなければならないのです。

大人の事情というやつですか・・・

無償なら半年バージョンアップでもええじゃないの?

いいえ! よくありません。
バージョンアップするということは、試験をしなければならないのです。

半年ごとにJava関係の試験をやり直すということは、どれだけコストが掛かるかわかりません。

個人のシステムなら多少問題が起きても 自己責任で済みますが、
企業、特に金融系など莫大なおカネがやり取りされるシステムでは、自己責任ではすみません。

となると事実上、オラクル社にサポート料を払い続けるしか道はないのです。

Androidは?

Javaが使われているAndroidは、どうなの?

ご安心ください。

Androidの開発元のGoogleは、OpenJDKに移行済みです。

さらにこれからの開発は、JavaではなくKotlin(コトリン)という言語に移行してゆくようです。
また、サーバー関連もJavaからの移行がすすみつつあります。

そして、今、もっともおカネを取れる開発言語は、Go(ゴー)というレポートもあります。
Go(ゴー)は、Googleがが設計したプログラム言語です。

Javaプログラマーは、違う言語を習得せよ

Javaは、無くなるとは思いませんが、縮小してゆくことは間違いないと思われます。
なによりJavaのプログラマーが多すぎます。

ここで次の一手を考えないとエンジニアとして生き延びることはできません。
どのプログラム言語が成長するかは、以前ブログに書いてあるので後でそちらを読んでみてください。

Javaは、儲からない言語になってしまったのか? TECH ACADEMY(テックアカデミー)で高収入の言語を習得せよ

人工衛星のプログラム開発から銀行のシステム開発まで この世にあるデジタル機器のほとんど全てとインターネットの世界のほとんど全ては、プログラムで書かれています。 あなたが、今このブログをみている、iPh ...

続きを見る

狙い所は、ScalaとPython

Scala

Scala(スカラ(SKAH-lah))は、日本では、ChatworkやLinkedInで使われて今注目の言語です。
Javaの仮想マシン(Javaの環境)で動作する言語でバグが生まれにくく、プログラムの量も少ないという利点があります。

ビズリーチで最大提示年収は1300万円、求人数は1489件
効率がよく、バグが生まれにくいというのが普及する理由です。

扱えるエンジニアが少ない今がチャンスです。
きちんと自己投資をするひとだけが、次のチャンスをつかみとることができます。

Python

Python(パイソン)は、AIで有名になったプログラム言語ですが、サーバ側の開発言語としても有望です。

コードがシンプルで扱いやすく設計されており、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴を持っています。
AIだけではなく、多方面に使われることは必須、ギャラの面でも急上昇中。

まとめ

そして、オラクル社が、手にしているもう一つの大きな「オープンソース」
MySQLというデータベースも今は、無料ですが、いつ
「明日からカネを取るぞ」
と言ってくるかも知れません。

ITの世界は、多数を掌握したものだけが、勝利者となる世界で、掌握したものに逆らえない状況が発生するのです。

その世界でエンジニアとして生きてゆくためには、自己投資と研鑽を積むしかありません。

Javaというぬるま湯に使っているとJavaの衰退とともに消えてしまいます。
先を見通す能力がエンジニアとして成功する鍵となるでしょう。

Javaについては、随時チェックしてゆきます。

スポンサーリンク

AdSence 336x280

あとがき

以前、Javaに関してのブロクを書いたのですが、よりわかりやすく書いてみました。
お時間があればこちらも読んで見てください。

オラクル社がJavaを有料化 それって既定路線? Javaは、使われなくなるのでしょうか?

Javaという言語(環境)を知っていますか? Java このお茶(本当はCoffeeだと言われてますが)と同じ名前がついているコンピュータ言語(環境も含む)は、スマートフォン(主にAndroid)の開 ...

続きを見る

AdSence 336x280

AdSence 336x280

-IT小僧の時事放談
-,

Copyright© IT小僧の時事放談 , 2018 All Rights Reserved Powered by AFFINGER4.