[Java] End of Public Updates is a Process, not an Event

原文はこちら。
https://blogs.oracle.com/java-platform-group/end-of-public-updates-is-a-process%2c-not-an-event

And so, from hour to hour, we ripe and ripe.
And then, from hour to hour, we rot and rot;
And thereby hangs a tale.


Shakespeare
成功しているソフトウェアプラットフォームとその周辺のエコシステムには、ポジティブなフィードバックサイクルとネガティブなフィードバックサイクルの両方と共生する関係にあります。開発者はプラットフォームを使用して以前では簡単に解決できなかった問題を解決するための製品を構築し、プラットフォームは時間と共に進化し、新しいユースケースに対してもよりフィットするような新機能を提供します。同時に、成功したプラットフォームは、自身のまわりの技術環境の変化に適応するため、あまり使用されていないレガシー機能を廃止したり削除したりしています。

このプロセスは常に動いています。プラットフォームの新バージョンがリリースされると、旧バージョン(の利用)が徐々に減少していくため、プラットフォームプロバイダーは過去ではなく将来に向けて労力を集中できます。

Javaというエコシステムは、10回の主要なプラットフォームの改訂を通じ、このプロセスを何十年にもわたって成功させてきました。長期にわたる強力な下位互換性により、エコシステムに対する投資が保護されます。それと同時に、時間の経過と共にある程度の適応(の作業)は避けられません。そのため、プラットフォームの継続的な成功のためには、既存の投資を保護しながら、大量のエコシステムを最新のリリースに移行する必要があります。

Sun Microsystemsは、これらの2つの目標のバランスをとる戦略を確立しました。それは、一定期間無料の公開アップデートを提供すると共に、異なるニーズを持つユーザーに商業的な長期サポートを提供する、というものです。この戦略によって、あるプラットフォームのバージョンから別のプラットフォームのバージョンに自分のスケジュールで移行したいユーザー、もしくは全く移行したくないユーザーに対して、セキュリティ、パフォーマンス、その他のアップデートを商用ベースで提供しながら、エコシステムの大半がリリースサイクルに無料で追随できます。

Every new beginning comes from some other beginning’s end

Java SE 8は、2014年3月18日にリリースされ、2019年1月にOracle Java SE 8の商用利用者向けのPublic Updateが終了するまで、Oracleはおよそ5年間にわたり無料でPublic Updateを提供してきました。

Oracle Java SE Subscriptionを使うと、商用ユーザーは、拡張機能やクリティカルなパッチを含むOracle Java SE 8のサポートと定期的なアップデートをより長期間にわたって受けることができます。例えば、Java Web Startテクノロジは、少なくとも2025年3月までOracle Java SE 8において商用サポートを継続します。
A Quick Summary on the new Java SE Subscription
https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se-subscription
https://orablogs-jp.blogspot.com/2018/06/a-quick-summary-on-new-java-se.html
Oracle Java SE Roadmap
(日本語)https://www.oracle.com/technetwork/jp/java/eol-135779-ja.html
(英語)http://www.oracle.com/technetwork/java/eol-135779.html
Oracle Java SE 8のすべてのユーザーが商用使用するわけではありません。ある人はゲームをしたり、またある人は消費者向け生産性アプリケーションを実行したりするのに使っています。Oracleは、少なくとも2020年12月まで個人ユーザー向けのOracle Java SE 8のPublic Updateを無料で提供します。その間、個人ユーザーはアプリケーション・プロバイダに連絡し、アプリケーションを最新バージョンのJavaに移行するよう提言したり、代わりのアプリケーションに切り替えたりしてください。
Java Client Roadmap Update
http://www.oracle.com/technetwork/java/javase/javaclientroadmapupdate2018mar-4414431.pdf

Upgrade to JDK 10

Oracle Java SE 8から最短のアップグレードパスは(現時点では)JDK 10です。アプリケーション開発者向けの説明は、「Oracle JDK 10移行ガイド」を参照ください。
Oracle JDK 移行ガイド リリース10
https://docs.oracle.com/javase/jp/10/migrate/toc.htm
Oracle JDK Migration Guide Release 10
https://docs.oracle.com/javase/10/migrate/toc.htm
Oracle JRockitからの移行ユーザー向けの説明もございます。
JRockitからHotSpotへの移行ガイド リリース10
https://docs.oracle.com/javase/jp/10/jrockit-hotspot/toc.htm
JRockit to HotSpot Migration Guide Release 10
https://docs.oracle.com/javase/10/jrockit-hotspot/toc.htm
このエントリの執筆時点における、Oracleからダウンロード可能な最新のJavaリリースはJDK 10.0.2です。 これはセキュリティベースライン、つまり、最新のOracle Critical Patch Updateで説明されているセキュリティ脆弱性に対する修正が含まれています。
Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
JDK 10.0.2 Release Notes
http://www.oracle.com/technetwork/java/javase/10-0-2-relnotes-4477557.html

Upgrade to JDK 11

JDK 10は2018年9月下旬にEoLを迎えます。以後のOracle Java SE 8からのアップグレードパスはJDK 11です。Oracle Java SE 11は長期サポート(LTS)リリースであり、 6カ月サイクルになってからのはじめてのリリースです。そのため、Java SE 12リリース後も、Oracle Premier Supportと定期的なアップデートリリースがOracleのお客様に対し提供されます。これにより、Oracle Java SE 11はISVや他の商用ユーザーにとって魅力的な移行ターゲットになります。

JDK 11はまだリリースされていないため、JDK 11を移行先としている開発者の方々は、Java SE 8からの移行作業として、まずJDK 10でアプリケーションを正常に動作させることから開始することを推奨します。以前より速い半年ごとのリリースサイクルゆえに、JDK 10とJDK 11の間の変更の数は、JDK 8とJDK 10の間の変更の数よりはるかに少ないからです。
Fast Forward To 11
https://blogs.oracle.com/java-platform-group/fast-forward-to-11-v2https://orablogs-jp.blogspot.com/2018/09/fast-forward-to-11.html
アプリケーションがJDK 10で問題なく動作したら、開発者はJDK 11リリース候補版ビルドでテストをし、今月待つにリリースされたときにJDK 11への移行準備が完了するようにしてください。
JDK 11 Early-Access Builds
http://jdk.java.net/11/

Upgrade to JDK 12

アプリケーションをOracle Java SE 8からJDK 12に直接移行したい開発者は、同じ移行モデルに従う必要があります。つまり、まずはセキュリティベースラインでの最新のリリース、つまり現在のJDK 10.0.2への移行作業に力を注ぎ、その後アプリケーションが正常に動作したら、最新のJDK 11リリースへの段階的移行に進みます。

アプリケーションがJDK 11で正常に動作したら、開発者はJDK 12 Early Accessビルドでテストを開始してください。
JDK 12 Early-Access Builds
http://jdk.java.net/12/
OracleはJDK 12 Early Accessビルドをクラスパス例外付きGNU General Public Licenseバージョン2の下で定期的に公開しています。
GNU General Public License, version 2, with the Classpath Exception
http://openjdk.java.net/legal/gplv2+ce.html
これらのビルドを使用すると、開発者は新しいJDK 12の機能を評価できるのと共に、既存の機能に対する変更が自社のアプリケーションに及ぼす影響をテストできます。
JDK 12
http://openjdk.java.net/projects/jdk/12/
JDK 12 Early-Access Release Notes
http://jdk.java.net/12/release-notes

Staying with OpenJDK 8 after January 2019

現時点で、OracleのエンジニアはOpenJDKコミュニティのOpenJDK 8アップデートのメンテナンス作業の大半を4年半以上引っ張ってきました。
JDK 8 Update Releases
http://openjdk.java.net/projects/jdk8u/
少なくとも2019年1月まで継続していきますが、その後は、これまでのOpenJDK 6やOpenJDK 7 Updatesの場合と同様、OracleからのコントリビュータはOpenJDKコミュニティにおける彼らの労力をOpenJDK 8 Updatesから現在のJDKリリースに集中させる可能性があります。
[8u-communication] Oracle's plans to contribute to JDK 8 Updates Project in OpenJDK after Java SE 8 End of Public Updates
http://mail.openjdk.java.net/pipermail/jdk8u-dev/2018-March/007341.html
これまでのように、適切なパーティーが2019年1月以降OpenJDK 8 Updatesのメンテナンスを継続する場合には、OpenJDKコミュニティにおいて最善の移行方法について議論する予定です。

そのため、Oracleエンジニアの移動後にOpenJDK 8を使用し続けたいユーザーは、2019年1月までにプロジェクトのメーリングリスト(jdk8u-dev)に登録した上で、引き続きメンテナンスしてくれるコントリビュータと、ご自身の期待や計画について議論をして、その時点でのOpenJDK 8で利用可能なサポートの範囲をよりよく理解してください。
jdk8u-dev -- Technical discussion related to the JDK 8 Updates Project
http://mail.openjdk.java.net/mailman/listinfo/jdk8u-dev

0 件のコメント:

コメントを投稿