Java 9 — Вы уже перешли? Нет? И не надо ...!?

habr.png

Недели две назад InfoQ напомнил, что официальная поддержка Java 9 заканчивается… в Марте 2018 г. (т.е. через 20 дней :)


Вот cсылка на официальный EOL от Oracle, в которой в разделе «Java SE Public Updates» черным по английскому говорится, что Java 9 будет поддерживаться до Марта 2018, а Java 8 — до Января 2019 (или позже) и Декабря 2020 (или позже).


Уф сколько интересного…
Почему у Java 8 две даты? Что значит загадочное (или позже)? И что, черт возьми, это все значит для нас — разработчиков.


Почему у Java 8 две даты?
Пояснения ко второй дате немного туманны и не дают забыть, как устроена компания Oracle изнутри.


Oracle does not plan to migrate desktops from Java 8 to later versions via the auto update feature. Individuals who require Java SE for non-corporate desktop use will continue to receive updates through at least December 2020. Instead of relying on a pre-installed standalone JRE, we encourage application developers to deliver JREs with their applications. More details will be made available through early 2018.

Давайте разберем этот абзац построчно ибо он того стоит.


Oracle не планирует обновлять рабочие станцие с Java 8 на более поздние версии через опцию auto update.

И не надо. Хоть у кого-то эта штука «включена»? Не знаю ни одного такого:)


Физические лица, которым требуется Java SE для использования на некорпоративных рабочих станциях будут получать обновления (через auto update) как минимум до Декабря 2020.

Т.е. если вы забыли как это «зло» отключить оно еще год будет вам напоминать о себе. А что будет, если после января 2019 Java 8 останется на установленной на «корпоративной» рабочей станции?


Мы просим прикладных разработчиков поставлять JRE вместе с приложениями вместо того, чтобы полагаться, на предустановленную JRE.

Смысл туманен, но скорее всего речь идет об отщепенцах, которые пишут client-side приложения под JRE и предполагают, что JRE уже есть на компьютере и именно последней версии.


Более подробно мы расскажем об этом в начале 2018.

ЧТО?! Что вы там курите…


Я это абзац читаю как 


У нас много свободных юристов и если вы поставите на работе обновление Java 8 свежее Декабря 2018 г., то мы придем к вам.
Но это еще не точно.

Мне неоднократно доводилось слышать от американских знакомых о попытках Oracle проводить проверки соблюдений лицензионных соглашений около Java технологий (в том числе при использовании коммерческих компонент, развертывание через Docker с «автоматическим» соглашением на лицензионный договор и пр.)


Java 9 — зло которые мы так долго ждали?
Отгадка кроется в разделе «Oracle Java SE Support Roadmap*» (обратите внимание на ссылку в названии раздела — к ней дано пояснение, что все даты приведены «для примера» — короче, очередные юридические «отмазки»).


То, что мы называли Java 9 (а также Java 10, которая еще даже не вышла :) — это «промежуточные» не LTS версии Java со сроком жизни 7 месяцев. Ближайшим Java LTS релизом будет Java 11 (18.9 LTS), которая выйдет в Сентябре 2018 г.


Мне кажется, что Java 9 и Java 10 — это версии «от разработчиков разработчикам»: новый GC, jigsaw, API и даже немного «сахара». Используйте это все, разрабатывайте, но, по возможности, продуктивно не используйте до 18.9 LTS aka Java 11.


Такие дела, коллеги. А какие версии JVM у вас сейчас в продуктивной эксплуатации?


P.S. В сухом остатке — кажется, что Java 9 и Java 10 — это почти то, что мы совсем недавно называли release candidates.

© Habrahabr.ru