Javaという言語(環境)を知っていますか?
Java
このお茶(本当はCoffeeだと言われてますが)と同じ名前がついているコンピュータ言語(環境も含む)は、スマートフォン(主にAndroid)の開発から大型コンピュータ、そしていまこうしてあなたが見ているWebサービス裏方で使われている環境の一つです。
このJava 今までは、無料で使うことができました。
Java is Still Free, but it costs money to keep quality.
「Javaは、まだ無料ですが、品質を維持するにはコスト=おカネが、かかります。」
今までのようには、できなくなりました。
今回の「IT小僧の時事放談」は、
「オラクル社がJavaを有料化 それって既定路線? Javaは、使われなくなるのでしょうか?」
と題して
「Javaを巡る騒動がおきている」
について考えてみよう
スポンサーリンク
目次
最新ニュース
2019年4月16日
「Oracle JDK」のライセンスを変更
米Oracleは4月16日(現地時間)より、“Oracle Technology Network(OTN)”で配布されている「Oracle JDK」のライセンスを変更
Oracle Binary Code License(BCL)はデスクトップ・サーバーともに商用・本番環境での無償利用が許されていたが、新しいライセンスOracle Technology Network Licenseでは個人利用・開発目的に限られる。
商用で利用したい場合は、Oracle Java SE Subscriptionsの購入が必要。
「Java 11」のアップデート(執筆時現在の最新版は「JDK 11.0.3」)も“OTN”から入手可能。“jdk.java.net”で配布されている「OpenJDK」ならば“GNU GPL v2.0”ライセンスで利用できるが、「JDK 11.0.3」のバイナリは提供されない。「JDK 12」へ移行する必要がある。
引用元
https://forest.watch.impress.co.jp/docs/news/1180607.html
2018年10月16日
Critical Patch Update(CPU)
米Oracleは10月16日、四半期に1度のセキュリティ更新プログラム「Critical Patch Update(CPU)」を公開した。
Java 11からOracle Java SEは有償になりました。
今回も小難しい話をできるだけ簡単に解説しながらブログにしました。
最後まで読んでいただけたら幸いです。
新しいバージョンのJavaがインストール可能になりました。
WondowsやMacintoshのパソコンを使っていると
「アップデートを入手可能 新しいバージョンのJavaがインストール可能になりました。」
と表示されることありませんか?
Javaなんて知らねぇよ
というあなた
「オンラインゲーム、チャート表示」などなど ブラウザで表示していてリアルタイムで動作しているものの多くが、Javaで動作しています。
少なくなったと言え、金融系、お役所関連は、まだまだネット上で使われています。
Javaという環境は、インターネットで動作しているものが多いので、ハッキングのターゲットになっています。
古いバージョンだと狙われます。
「アップデートのお知らせ Java」が来たら更新することをオススメします。
更新手順の詳しい手順は、パソコン会社のページに記載されているのでください。
https://www.sony.jp/support/vaio/beginner/dialogue/082.html
コンピュータ言語
Javaは、コンピュータ言語の一つです。
コンピュータ言語って???
あなたが、このブログを見る時にChromeとかFirefoxとかSafariとかEdgeとかIEなどブラウザと呼ばれる「もの」を使っています。
これをアプリケーションと呼んでいるのですが、このアプリケーション(アイコンになっています)
コンピュータ言語をつかってプログラマーが造っています。
コンピュータって一般的には、パソコンの事を指していますが、iPhoneやXperiaなどのスマートフォンもコンピュータの仲間です。
コンピュータのアプリケーションは、突き詰めると2進数の並びでできていますが、人間が2進数で造るのは、困難です。
そこでコンピュータ言語という
比較的、英語の文法に近い形でコンピュータに命令を出せる言語を考えつきました。
これが、コンピュータ言語です。
例えばこんな形です。
え???
よくわからない!
ごもっとも「英語の文法に近い形」なので英文を書くのとは、違っています。
このようなコンピュータ言語は、用途によって数千とも言われています。
そして、コンピュータ言語は、得意不得意があって、適材適所で使い分けられています。
インターネットの世界では、PHPとかRuby、そしてJavaがよく使われています。
最近流行りのAIは、 Python (パイソン)という言語が大流行中
コンピュータ言語にも流行廃りがあって次々と新しいものが登場しては、消えるものもあります。
そのため、コンピュータ技術者は、マルチリンガルが当たり前なのです。
Javaは、古くから使われてきたCとかC++などの欠点を改良し新しい概念(オブジェクト指向)に柔軟に対応できるよう開発された言語の一つです。
Java
Javaは、1990年代にサン・マイクロシステムズという会社に勤めていたジェームズ・ゴスリン、ビル・ジョイという人達によって開発されました。
それまで使われてきた言語の欠点を解消するのと同時に いろいろな種類のコンピュータ(正確には、プラットフォームと呼ばれています)で動作するように考えられてきました。
先進的な考え方といろいろなもので動作するので普及が進み、インターネット上で多く使われてきました。
最近は、大型コンピュータ上でも使われていて、銀行のシステムなどもこのJavaで動作しているものが多くなっています。
そして、Java最大の魅力は、基本、無料で誰でも使用することができたのです。
こんなに便利なJavaですが、サン・マイクロシステムズ社が、2010年1月27日にオラクル社に買収、会社が消滅、Javaの権利は、オラクル社のものとなりました。
Javaについての説明は、こちらにありますので読んでいただければ幸いです。 大塚製薬が販売していた JAVA というお茶がありました。 今でも売っているかな? 「まだ甘い飲み物で食事をしているんですか?」 発売が、1983年 今から35年前の話です。 ネットで検索したら「シン ...
Javaが使えればインターネットの王になれるかも プログラム言語夜話 第1話 Java
オラクル社(Oracle)が有料化
オラクル社(Oracle)
データベースの分野では、世界のトップクラスです。
データベースの値段もトップクラスで小さな企業では、使えないほど値段が高いです。
一番お安くて、210万円から 数千万、数億円は当たり前の世界です。
年間の保守料も半端なく、保守の契約をしないと
「バグがあっても教えてくれない」
という徹底ぶりです。
確かに製品の先進性、安全性、堅牢性などは、凄い
絶対(限りなく)ミスがあってはならない、超ハイレベルなスピードが必要ならば、抜群の性能を持っていると思います。
一般企業だとそこまでハイレベルが必要ということは、少ないのですが・・・
そのオラクル社(Oracle)が、Javaを入手した段階で
予感はあったのですが
2019年1月からは有償版になってしまいます。
正確には、開発するものが、有償になるのでつくられたアプリには、影響ありません
といっても開発する側は、セキュリティの問題もあるので最新版を使わざる得ない。
今まで無料だったものが、有料になります。
オラクル社(Oracle)の言い分は、わかります。
今まで無償でサポートしてきたんだから、カネとってもいいだろ!
そのとおりです。
まったく異論は、ありません。
しかし、言いたい
Javaが無償で広く使われるようになったタイミングで有料にします。
むむむ!
企業ですから儲けるのは当たり前ですが、普及したところで有料に切り替えられるのは、厳しい
オラクル社を悪く言っているわけではないですよ。
企業ですから 儲けるのは、あたりまえです。
しかし、これで、Javaを使うユーザーは、確実に減ってゆくことでしょう。
Javaは、やがて縮小して消えてゆく運命かも知れません。
Java以外で今、注目されるのがScala(スカラ)とPython(パイソン)
Javaしか書けないエンジニアは、他の言語にも対応できないと仕事がなくなるかも知れません。
Javaしかできない状態は、非常にヤバそうです。
-
Java SE 11(Oracle)は無料じゃないよ 先が見えてきたJavaにさようならを言おう
有料版 Oracle Java 11 Releasedが、リリースされました。 https://www.infoq.com/news/2018/09/java11-released これまで無料で使え ...
無償で使う可能性もある
無償版のJavaとしてオープンソースの「OpenJDK」というものがあります。
これを使えば、無償なのでいままでどおりのものが使えます。
では、なぜ高い金を払ってまでオラクル社のJavaを使わなければならなくなるのか?
それは、長期サポートです。
オラクル社のサポートという看板と保証が欲しいからです。
ORACLEのページから抜粋します。
無償アップデートの終了時期と有償サポートの提供
オラクルがビルドした公式OpenJDKバイナリは、新バージョンがリリースされたタイミングで旧バージョンの更新を終了します。無償版を利用するユーザーは、新バージョンに移行することでJDKを引き続き無償で更新できます。特定バージョンでJDKの更新を継続したいユーザーには、JDK 11から3年ごとにLTS指定されるフィーチャー・リリースに対してOracle JDKバイナリを有償で提供します。
問題はここです。
オラクルがビルドした公式OpenJDKバイナリは、新バージョンがリリースされたタイミングで旧バージョンの更新を終了します。
年6回の定期リリース・サイクル
新機能が追加される6カ月に1回(毎年3月、9月)のフィーチャー・リリースに加え、脆弱性対策などを施したアップデート・リリースを1年に4回(毎年1月、4月、7月、10月)提供します。
OpenJDKバイナリの更新は、6カ月毎となります。
脆弱性対策などを施したアップデート・リリースしてくれるのは、6ヶ月間だけ
つまり6ヶ月単位で新バージョンにリリースしなければ、そのバージョンは、以後、脆弱性対策は行われません。
商用環境で6カ月ごとにOpenJDKバイナリの更新して試験を行うのは、コスト的に合いません。
打ち合わせやシステムの開発、試験の途中でOpenJDKバイナリの更新が発生するかも知れません。
もし、試験中にバージョンアップとなったら、その試験をしていたバージョンは、脆弱性対策などを施したアップデートがなくなってしまいます。
システムの完成後、半年以内でセキュリティ更新がされないプラットフォームをユーザーに了解してもらえるかどうか疑問です。
ですからOracleの長期サポートが必要になるのです。
このように、JDKは今後、オラクルが有償で提供していた機能も含めて全てが無償化され、6カ月に1回のサイクルでバージョンアップされます。ただし、ユーザーの中には、「ベンダーのサポートを受けながらJavaを利用したい」といったニーズや、さまざまな事情から「利用しているJDKを特定バージョンで固定したい」、「更新のペースを落としたい」といったニーズが存在します。これらのニーズに応えるために、オラクルはJDK 11より、公式OpenJDKバイナリのアップデート終了後もLTS指定のフィーチャー・リリースに対して有償サポートを提供します。
商用環境で利用できるという意味では、OpenJDKでも同じであると言う意見もりますが、6ヶ月間毎に次のバージョンに更新されるプラットフォームで開発するのはリスクがあります。
「利用しているJDKを特定バージョンで固定したい」
「ベンダーのサポートを受けながらJavaを利用したい」
と記述があるようにシステムを提供する側は、これが通常となるはずです。
脆弱性が対策されないプラットフォームを使い続けることは、企業として大きなリスクでしょう。
金融系や個人情報を扱うサービスでは、信頼が重要です。
携わった方ならご存知かと思いますが、慎重にも慎重を重ねた開発が必要なので
問題が発生した場合のリスクを考えるとしたらOracleの長期サポートが必要になるのです。
そう考えるとここまで対策を続けてくれたオラクル社は、凄いと思いますよ。
オラクル社(Oracle)におカネを払うか? 払わないか?
米オラクル社(Oracle)のOracle JDKは、有償となりおカネを払わなければなりません。
そのかわり、セキュリティをはじめ、サポートを受けることができます。
無料で使いたい場合、オープンソースのJava SE「OpenJDK」を利用することになるわけですが
OpenJDKは、6カ月ごとにバージョンアップというスケジュールになっています。
そこでオラクル社(Oracle)におカネを払いたくないとしたら
- 6カ月ごとのバージョンアップを続けて、バージョンアップごとにシステム屋さんにおカネを払って対応してもらう。
- AdoptOpenJDKなどのOpenJDK以外のJDKを使う。
- セキュリティを担保した上でバージョンアップしない。
- Javaを使わないで他の環境に載せ替える。
4つの方法が考えられるのですが、企業としてどうしたいかを明確にする必要があります。
古いバージョンやアップデートをせずにセキュリティに問題があるものを使っていた場合、そこが原因で個人情報などの漏洩が起きてしまったら企業として大きな痛手を受けることでしょう。
それを考えるとオラクル社(Oracle)におカネを払ってサポートしてもらったほうが安上がりかも知れません。
参考値段としてこちらに「価格表」があるので検索してみてください。
https://faq.oracle.co.jp/app/answers/detail/a_id/2685
https://www.oracle.com/assets/e-pl101005-101005a-n-176288-ja.pdf
この価格表から読み取れる情報から大まかな金額がわかります。
Java SE Advanced Desktop
主にデスクトップ環境での利用
1ユーザー:4800円
年間サポート:1056円
Java SE Advanced
一般的なJava SEの利用
1ユーザー:1万2000円
年間サポート:2640円
または
1プロセッサ:60万円
年間サポート:13万2000円
正確なお見積りは、オラクル社に問い合わせるか、開発会社と相談してください。
Critical Patch Update(CPU)
米Oracleは10月16日、四半期に1度のセキュリティ更新プログラム「Critical Patch Update(CPU)」を公開した。Java SEを含む幅広い製品を対象として、計301件の脆弱性を修正している。
- Java SE JDK/JRE 8 Update 182 およびそれ以前 ※
- Java SE JDK/JRE 11
- Oracle Database Server 11.2.0.4
- Oracle Database Server 12.1.0.2
- Oracle Database Server 12.2.0.1
- Oracle Database Server 18c
- Oracle WebLogic Server 10.3.6.0
- Oracle WebLogic Server 12.1.3.0
- Oracle WebLogic Server 12.2.1.3
これだけの修正パッチが行われる製品をビジネスで使う場合、サポートは必須でしょう。
Javaの後釜
Microsoft社のC#という環境が広がるかも知れません。
また、Androidの開発は、GoogleのKotlin(コトリン)が使われることになると思います。
OpenJDKが必要なことには、違いありませんが、Androidの開発でJavaを使うことは、減るでしょう。
Googleが、Androidの開発言語にKotorinを指名したので、世界で一番使われているデバイスの開発言語の地位を失うことになります。
-
Kotlinが、Androidアプリ開発の推奨言語になった。Javaからの脱却が進む 「Google I/O 2018」
Oracle Java有料化で揺れた2018年 「Javaは、終わるのか?」 なんて記事を書いて お叱りを受けたIT小僧です。 「Javaは、終わりじゃないけど 緩やかに減少してCOBOLのようになる ...
問題は、世界中に数億を超えているJavaで書かれたプログラムをどうするのか?
黙ってオラクル社にお金を払い続けるのか?
それとも、ここで切り替えるか?
IT屋さんの仕事は、まだまだ増えそうですね。
その意味では、Javaが有料になることで新しい案件が増えるので
ありがとう
と思っている会社がありそうですね。
[amazonjs asin="4865940391" locale="JP" title="Kotlinスタートブック -新しいAndroidプログラミング"]
JavaからKotlin
米国時間2019年5月7日「Google I/O 2018」(開発者会議)で
Googleは、「Android上の開発言語としてKotlinを推奨する」と発表しました。
Androidアプリの愛発言後もJavaから離れつつあります。
-
Kotlinが、Androidアプリ開発の推奨言語になった。Javaからの脱却が進む 「Google I/O 2018」
Oracle Java有料化で揺れた2018年 「Javaは、終わるのか?」 なんて記事を書いて お叱りを受けたIT小僧です。 「Javaは、終わりじゃないけど 緩やかに減少してCOBOLのようになる ...
プラットフォーム
これまでも何度か、ブログで話してきましたが、
ITの世界は、プラットフォームを握った企業が、富を得る世界なのです。
Javaという環境をオラクル社が握っていたことで利益が発生することになります。
しかもJavaは、オラクル社が造ったものではなく別の会社の人達が考案したものです。
そして、恐れていることがもう一つあります。
世界中のWebサービスで使われているデータベース
MySQL(マイ・エスキューエル)
大規模システム、高速、信頼性も高く、そして無料(オープンソースで公開)で公開されています。
もちろん業務でも広く使われています。
このMySQL、2008年オラクル社が権利を取得しました。
オラクル社は、データベースが本業です。そしてMySQLもデータベースです。
となると
やがて・・・ 完全有料化?
もうおわかりですよね。
無料で普及させて、それ以外に逃げ場が無くなったところで有料化
これは、
無料で普及させて、みんなが離れられなくなったところで広告媒体
インターネットの世界では、ごく当たり前に行われていることです。
[amazonjs asin="4873116384" locale="JP" title="実践ハイパフォーマンスMySQL 第3版"]
まとめ
オラクル社に対して、悪意をもってブログを書いたわけではありません。
サン・マイクロシステムズが危うくなったとき、つまり Javaがどうなるかわからない時に権利を手に入れて、ここまで無料でメンテナンスをしてきたわけです。
企業とすれば、これまでかけてきたコストを回収するのは、当然のことです。
しかし、Javaという言語が、今回のことで縮小することは、残念です。
無償で使う方法もありますが、ビジネスと考えた場合、OpenJDKは、オススメし辛くなります。
プログラム言語は、流行廃りがあります。
最新のテクノロジーに合わせて、次々と新しい言語が登場してきます。
すぐにJavaがなくなるというのではないでしょう。
しかし、新規案件では、Java以外の選択肢が増えると思います。
Javaを使ったシステムは、これからどうなるのか?
暫くの間、Javaの周りが騒がしくなるかもしれません。
-
Java SE 11(Oracle)は無料じゃないよ 先が見えてきたJavaにさようならを言おう
有料版 Oracle Java 11 Releasedが、リリースされました。 https://www.infoq.com/news/2018/09/java11-released これまで無料で使え ...
Java is Still Free
Java is Still Free, but it costs money to keep quality.
「Javaは、まだ無料ですが、品質を維持するにはコスト=おカネが、かかります。」
開発するには、無料ですが、商用化するにはカネがかかるんですよ!
世界のJavaのトップクラスが執筆したJava is Still Freeというドキュメントを読んでください。
https://docs.google.com/document/d/1nFGazvrCvHMZJgFstlbzoHjpAVwv5DEdnaBr_5pKuHo/edit
スポンサーリンク