【Java初心者必見】 Java SEって?有償化?全ての疑問にお答えします。
  • facebookページ
  • twitterページ
  • 2019.09.19

    【Java初心者必見】 Java SEって?有償化?全ての疑問にお答えします。

    インターネットで「Java se」と検索すると、「Java SEとEEの違い」の他に「Java有償化」などが目に入りますが、Oracle社が公表したロードマップでも2019年からはJavaの仕様がガラリと変わっていることが分かります。

    今回の記事ではJava SEとその他のバージョンの違いの他、Oracleが発表したリリースモデルの変更などについて解説していきます。

    Java SEとは

    Java SEってなんですか?他のJavaとの違いは?

    Java APIの一つです。SEとは最も基本的なパッケージを指します。

    まず最初にJava SEと他のものについての違いをご説明します。ざっくり言ってしまうと「API」の呼称です。

    Javaには「Java SE」「JAva EE」「Java ME」の3種類のAPIがあります。
    この3つの違いについては後述しますが、要するにこれらAPIのおかげでJavaでプログラミングしたものを動作させることができるわけです。

    ポテパンダの一言メモ

    APIとは「Application Programming Interface」の頭文字を繋げた略語です。日本語で書くと「アプリケーションをプログラミングするためのインターフェース」となります。プログラミングにおけるAPIとは、関数やクラスといった場合がほとんどです。

    APIの違い

    先ほどご紹介した3つのAPIについてもう少し掘り下げて紹介していきます。

    Java SE

    正式名称は”Java Standard Edition”。Java APIはこのSEの冠名があるものが標準のものとなってます。

    基本的に必要と思われる機能だけを実装した最低限のAPIです。

    Java EE

    正式名称は”Java Enterprise Edition”。Java SEに、企業向けのWebアプリケーション開発用の機能を追加したAPIです。

    サーバー関係のライブラリなどもこのJava EEには用意されています。

    Java ME

    正式名称は”Java Micro Edition”。こちらはあまり馴染みのない方が多いのではないでしょうか。

    Java SEにモバイルデバイスや組み込み機器で動作するアプリケーションの機能を追加したAPIです。

    ポテパンダの一言メモ

    J2SEやJ2EEという名前なら聞いたことがある方もいらっしゃいますよね。恐らくもう無いとは思いますが、「J2」という冠名がついているAPIはJava SEやJava EEなどの旧名称ですので、どちらでも変わりはありません。Java SEであれば旧名称はJ2SE、Java EEであれば旧名称はJ2EEとなります。

    バージョンの違い

    バージョンが変わるとどうなりますか?

    バージョン毎に新機能が追加されたり開発に係わる仕様が変わったりします。

    今ではJava SEも12までリリースされています。

    バージョンが変わる毎に色々な仕様が変更されてきましたが、Java 10からはvarを使った型推論などが実装されました。

    型推論

    この方推論の実装によって、varで定義された変数は、格納した値によってデータ型を指定する必要がなくなりました。

    詳しくは以下のようになります。

    拡張子の追加

    Java 11からはjavaコマンドで拡張子が「.java」のファイルを直接実行できるようになりました(コンパイルしてから実行することも可能です。)。

    Java SEの有償化について

    Oracle社が2017年に発表したリリースモデルにより、2019年4月からJavaに関するライセンスが有償化されました。

    この発表を受けたユーザーの間では「今後はJavaが無料で使えなくなる」などの噂も飛び交いましが、実際には次のように変更されました。

    長期サポート(Long term Support)の有償化

    Java SEの「長期商用サポート(LTS)」が有償化されました。これに伴い商用利用するためにはOracle社とのライセンス契約が必要となります。

    Oracle Java SE 8u201は商用利用可能な最後のOracle Java SE 8アップデートです。ただし、Oracle社は4半期毎にアップデートをリリース計画であるため、2019年4月中には新しいOracle Java SE 8アップデートがリリースされる予定です。その際、該当のアップデートで対応した未公表の脆弱性も発表されます。この2019年4月リリースのアップデートを商用利用する場合は、Oracle社とライセンスを取得する必要があります。サポート契約を結ばずにいた場合、Oracle社から高額なライセンス費用を請求される可能性があります。

    公式サイトより抜粋

    一般ユーザー向けには2007年よりOpen JDKというものが存在しますので、今後も無償で利用することが可能です。

    リリースサイクルの短期化

    Oracle社は公式サイトで「新機能が追加される6カ月に1回(毎年3月と9月)のフィーチャー・リリースに加え、脆弱性対策などを施したアップデート・リリースを各フィーチャー・リリースに対して2回提供します。」と発表しています。

    これは長期商用サポートの有償化とリンクしている部分でもありますが、今まで2年周期だったリリースサイクル(何度かリリース周期に遅れのあったバージョンも存在)が短期間(必ず6ヶ月毎にリリース)で行われるようになります。

    機能の追加

    従来は機能の追加を目標として掲げていたに過ぎませんでしたが、新たなリリースモデルでは機能追加を固定と発表しています。このことから、今後は確実に何らかの追加機能が実装されるのではないかと予想されます。

    要点をまとめると
    • Oracle JDKのLTS版が有償化された
    • LTSは3年毎、None LTSは6ヶ月毎のリリースサイクルに変更
    • 6ヶ月毎のリリースで必ず何らかの機能を追加
    • Open JDKの無料サポートの期間を変更(次期バージョンリリースまで)

    今後注意すべき点

    この項目では、有償化に伴い今後Javaを使用するにあたっての注意点について説明していきます。

    None LTS版に移行する

    Open JDKのバイナリはオープンソースライセンスで公式バイナリとして配布されていますので、当然様々なディストリビューターが存在していますし、これらの中には長期無償アップデートを提供している企業もあります。

    Oracle JDKを有償化するとの発表がなされたことで、今までOracleJDKを利用していた方は無償版であるOpenJDKに移行することも検討する必要があります。

    ただし、None LTS版のサポートが半年と制限されてしまったことで商用利用には難しくなったかもしれませんが、個人利用に限っては特に問題とはならないようにも感じます。

    追加機能の内容を確認する

    今までもそうでしたが、Javaのバージョンアップに伴う追加機能は重要なものが多くありました。

    今後はそうした追加機能のリリースサイクルが6ヶ月になりますので、今までよりも更に速い速度で様々な機能が追加されていきます。

    Javaでの開発をされる方は、必ずこの機能に目を通しておく必要が出てきますので、常に新鮮な情報を仕入れるように心がけましょう。

    また商用機能と呼ばれるもの(今まで有償で提供されていたOracle JDKの機能)も、JDK 11から無償で利用できるように変更されました。このことから、一般ユーザーも一度Oracle JDKの機能を洗い出してみた方が良いでしょう。

    まとめ

    Java SEの有償化は世界中のユーザーにとって不安要素でしたが、蓋を開けてみれば意外にも一般ユーザーにとってはメリットの方が多いという結果になりました。

    ただし新しいライセンスでは、いかなる場合であっても無償利用は個人利用・開発目的に限るという内容に変更されましたので、商用ベースで利用しているユーザーはOpen JDKのディストリビューションに切り替えるか”Oracle Java SE Subscriptions”の購入を検討する必要が有りますのでご注意ください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件