[Ответ дан] Курилка о Java Runtime

Maxim Llorephie

Лис со спичками
Команда форума
Adeptus Mechanicus
Регистрация
05.10.2013
Сообщения
800
Minecraft
Llorephie
На проекте Guild Black Templars - в клиентах, лаунчере и на игровых серверах - выполнена полная миграция с Java Runtime (Oracle Java SE), предоставляемой Oracle, в августе 2018 года.

Этот пост больше о технической и юридической стороне, и представлен лишь в информативных целях для любопытствующих.

По мотивам:

Что случилось?
В прошлом году истек срок предоставления Oracle Java Runtime 8 версии, и любое использование (в домашних, коммерческих целях) юристы Oracle теперь вылавливают и радостно потирают лапки в предвкушении шекелей. Следующая LTS версия Java - 11 - изначально распространяется на весьма интересных условиях: в домашнем ли, в коммерческом ли использовании - Oracle может принудить исповедоваться. Эта слава за ними очень давно закрепилась по MySQL Community Server, Oracle Database и прочим хорошим продуктам, которые когда-то давным давно предоставлялись в свободном для скачивании доступе. Да-да, первая ссылка в Google по запросу "Скачать Java" теперь потенциально может привести к интересным юридическим последствиям.

Что нас ждёт?
Объективно - ничего не сменилось. Java Runtime от Oracle всегда была коммерчески поддерживаемой версией Java, ввиду включения в дистрибутив поставки Enterprise-grade анализаторов работы виртуальной машины и оптимизаций. Параллельно с ней всегда существовал поддерживаемой той же Oracle, по сути, проект OpenJDK, который распространяется по свободной лицензии без обязательств, но без Enterprise classpath (не используется в приложениях как правило. Ну а там, где используется - субьективно моё мнение по опыту работы с авиационным софтом - ну нахрен такие приколы их работы).

С прошлого года (аккурат под конец бесплатного срока использования Oracle Java Runtime 8) в лаунчер был интегрирован (для Windows) на скорую руку дистрибутив OpenJDK 8 от RedHat, распространяемый бесплатно. Используется независимо от системной Java.

Для игроков проекта - де-факто - не меняется ничего. Пост информационный, по доброте душевной. Все, кто использует на работе Oracle Java Runtime - донесите условия лицензирования до IT-отдела и проконсультируйтесь, используется ли в организации Oracle-специфичные возможности. Если нет - дабы не налететь на ежегодную подписку на использование в размере от 2 миллионов рублей на организацию в 15 человек (большие размеры - больше денег. Это грубый подсчёт для использования Java Runtime на 15 рабочих станциях с 2-ядерными 2-поточными процессорами архитектуры x86_64. Иные конфигурации - иные цифры, сколько стоит годовое использование на сервере с 4 камнями Intel Xeon Platinum - с таких цифр обычно седеют) - переходите на OpenJDK.

Сопровождаемые дистрибутивы OpenJDK LTS версий (с backporting от более новых версий Java, с обратной совместимостью) предоставляют на данный момент Amazon и RedHat.
Amazon (OpenJDK 8 и 11, подо все платформы) https://aws.amazon.com/ru/corretto/
RedHat (OpenJDK 8 и 11, почти подо все платформы, но требует соглашения разработчика и аккаунт IBM Developer / RedHat Developer): https://developers.redhat.com/products/openjdk/overview

Несопровождаемые дистрибутивы AdoptOpenJDK (только обновления из upstream): https://adoptopenjdk.net/

Производительность (кому интересно):
Очень необъективный набор тестов применительно к нашему окружению - клиент, лаунчер, сервер - OpenJDK показывает себя, в целом, стабильнее и шустрее. Когда-нибудь руки дойдут до тестирования с разными Java VM (их около 5 реализаций), добавлю в пост результаты. Когда-нибудь.

И, важно: ВСЕ гайды по настройке Java, опубликованные на данном проекте, нарекаю правом техника устаревшими, если не указано иное со ссылкой на эту тему.
 
Последнее редактирование:
Сверху