БЛОГ AXIOM JDK
Загрузка...

7 причин для перехода с Oracle JDK на Axiom JDK

Данная статья развеивает страхи, связанные с переходом с Oracle JDK на OpenJDK, и описывает преимущества миграции.

10 мин чтения

Обновлено 4 октября, 2021


В январе 2019 года компания Oracle перестала предоставлять бесплатные сборки своей Java SE 8 для коммерческого пользования. Многие пользователи отреагировали на изменение тем, что стали искать альтернативу среди производителей Java рантаймов. И если дистрибутивы OpenJDK, не связанные с лицензией Oracle Technology Network, были популярны и раньше, то в 2019-ом спрос взлетел до небес.

Если вы читаете эту статью, велика вероятность, что ваша компания уже подумывает о переходе с Oracle JDK. Такое решение может быть связано с одной из двух причин, в зависимости от того, какой JDK вы используете. Либо это новая версия Oracle JDK (11 или 14) с дорогой лицензией, либо бесплатная «восьмерка», выпущенная еще до января 2019-го, где вам остро не хватает последних фич. Последнее, помимо неудобств, также влечет за собой риски, поскольку ваша компания уже пропустила несколько выпущенных с тех пор обновлений безопасности.

Итак, желание перейти на OpenJDK объясняют такие мотивы:

  • начиная с версии JDK 17, LTS-релизы Oracle JDK будут выходить раз в два года вместо трех и получать бесплатные обновления в течение трех лет. Однако это не коснется предыдущих версий Java. Более того, по истечению трех лет компаниям все равно придется оплачивать коммерческую поддержку;
  • из-за привязанности к Oracle JDK 8 вам не доступны новые возможности языка, исправления уязвимостей и другие важные улучшения — однако вы хотели бы пользоваться всем этим без ущерба для бюджета.

Далее мы подробно расскажем, чего боятся компании при переходе и как Axiom JDK помогает развеять эти страхи. Но если у вас нет времени на всю статью или уже не терпится перейти на OpenJDK, свяжитесь с командой Axiom JDK. Наши опытные инженеры совершенно бесплатно подскажут дальнейшие шаги и проведут по процессу.

7 страхов: «OpenJDK не…»

1. «OpenJDK неудобен для простой миграции с Oracle JDK».

В точности наоборот. Так как оба являются реализациями одной Java спецификации, переход практически не требует усилий программистов. Вашей команде достаточно прямо сейчас скачать контейнер с образом Axiom JDK, изменить пару строк кода и можно спокойно пользоваться базовой сборкой.

2. «OpenJDK не имеет веса в IT индустрии».

Для многих Oracle равно «известная, надежная компания» (и это правда), а OpenJDK — «какая-то группа людей, которые просто пытаются делать опенсорсную джаву».И это ошибка. Возьмем в качестве примера компанию Axiom JDK, вошедшую в топ-5 контрибьюторов в апстрим OpenJDK: ее основатели и инженеры много лет проработали в Oracle, прежде чем основать собственную компанию. Они как никто другой знают язык Java, следят за тем, чтобы продукт соответствовал стандартам. Все сборки Axiom JDK прошли сертификационные тесты Technology Compatibility Kit (TCK), которые предоставляет Oracle, и полностью ратифицированы комитетом Java Community Process.

3. «OpenJDK, как любое открытое ПО, не защищен от уязвимостей».

Можете не сомневаться, что последние релизы OpenJDK намного безопаснее для коммерческого использования, чем лицензированные, но устаревшие сборки Oracle JDK до 2019 года. Axiom JDK — подписант OCTLA и участник Vulnerability Group наравне с такими крупнейшими поставщиками, как Oracle, SAP, Amazon и Red Hat. Вместе эти компании выявляют, дают оценку и исправляют уязвимости OpenJDK.

4. «OpenJDK не поставляет продукт в той же мере, что и Oracle».

Это сомнение имеет основания. Большинство версий после Java 8 функционально не различаются. Так, текущие релизы OpenJDK и Oracle JDK идентичны с точки зрения кода. Однако «восьмерка» содержит несколько технологий, которые отсутствуют в OpenJDK (и постепенно бэкпортируются). В таблице ниже представлены все компоненты, отличающие Axiom JDK от Oracle JDK, а также альтернативные инструменты, которые способны заменить оригинальные функции Oracle JDK 8.

Axiom JDKOracle JDK
Лицензия, безопасность, соответствие стандартамОснован на OpenJDKДаДа
Открытая лицензия без ограничений на использованиеДаВерсии до Java 17 - лицензия Oracle Technical Network. Начиная с версии Java 17, лицензия "Oracle No-Fee Terms and Conditions" (NFTC)*
Обновления системы безопасности 4 раза в годДаДа
Соответствие стандарту Java SE, подтвержденное тестами TCKДаДа
Производительность наравне с Oracle Java SEДаДа
Версии с долговременной поддержкой (8, 11) и «функциональные» релизы (12, 13, 14)ДаДа
Платформы и инструменты установкиWindows x86 (64 bit)ДаДа
Windows x86 (32 bit)ДаТолько в JDK 8
macOSДаДа
Linux x86 (64 bit)ДаДа
Linux x86 (32 bit)ДаТолько в JDK 8
Alpine Linux x86 (64 bit, musl)ДаНет
Linux ARM (32 bit)ДаТолько в JDK 8, Embedded license
Linux ARM (64 bit)ДаТолько в JDK 8
Solaris SparcJDK 8, 11JDK 8, 11
Solaris x86 (64 bit)JDK 8, 11Только в JDK 8
Установщики на WindowsMSIEXE
Установщики на MacDMG, PKGDMG
Установщики на LinuxDEB, RPM, TAR.GZDEB, RPM, TAR.GZ
Разнообразные типы сборокLite, Standard, Full, JDK/JREStandard, Server JRE/JRE/JDK
Репозитории Linux (yum, apt)Даyum (OTL, OEL, OCI)
ИнструментыJDK Flight RecorderJDK 8+JDK 8, JDK 11
Java Mission ControlДаДа
OpenJFX (JavaFX)JDK 8, 11Только в JDK 8
Java Web Start and AppletsJWS поддерживается в коммерческом пакете с OpenWebStart от KarakunДа
Графический рендерерMarlin in JDK 8, 11Ductus in JDK 8, Marlin in JDK 11
Графический рендерер шрифтовFreetype in JDK 8, 11T2K in JDK 8, Freetype in JDK 11
Коммерческая поддержкаПредоставляется для поддерживаемых платформ и средДаДа
Круглосуточный и круглогодичный саппорт (реагирование в течение часа по SLA)ДаДа
SLA гарантирует обновления 4 раза в годДаДа
Внеплановые критические исправления (независимо от OpenJDK)ДаДа
Жизненный цикл коммерческой поддержки2031 для Java SE <br> 2026 для JavaFX2030 для Java SE <br> 2025 для JavaFX
Инженерный ресурс на выявление первопричины и исправление багов (независимо от OpenJDK)ДаДа

5. «OpenJDK не способствует разработке приложений с закрытым кодом».

«Копилефт», или свободные лицензии, такие как GNU General Public License (GPL) считаются «заразными». Код, обращающийся к библиотеке GPL, автоматически становится GPL-кодом, открытым. Вопреки распространенному мнению, использование OpenJDK не означает, что ссылающиеся на него программы обязательно распространять на условиях GPL. Однако OpenJDK лицензируются под особой «GPL v2 with the Classpath Exception» (вторая версия общедоступной лицензии GNU с исключением Classpath), что позволяет связывать среду с любым независимым модулем, копировать и распространять созданные таким образом файлы на любых условиях. Логично, что подобным «независимым модулем» может быть ваш проприетарный код. А значит разрешается использовать открытые компоненты OpenJDK и при этом сохранять неприкосновенность интеллектуальной собственности. Таким образом, ваше авторское право на ПО будет охраняться не связанной с GPL лицензией.

6. «OpenJDK не сравнится в производительности с Oracle JDK».

А это просто заблуждение: с точки зрения производительности JVM, между ними никакой разницы. Кроме того, равная скорость работы подтверждена авторитетными Java бенчмарками (SPECjbb, SPECjvm) и микробенчмарками, зашитыми в код OpenJDK.

7. «OpenJDK не решает “ловушку Java”».

Побывав однажды клиентами Oracle, компании боятся впасть в зависимость уже от нового дистрибьютора JDK. Но тут дело обстоят наоборот — вы можете в полной мере пользоваться средой исполнения без какого-либо участия со стороны ее разработчика. В то же время, рекомендуется проверять компании, которые обеспечивают вас базовыми технологиями. Например, Axiom JDK гарантирует полное отсутствие вендор-лока, предоставляя пользователям так называемые «ванильные» (без дополнительного функционала) билды и внося все исправления со своей стороны в основную ветвь OpenJDK.

7 причин использовать Axiom JDK

1. Axiom JDK удобна.

Мы создали самые маленькие на рынке Docker-контейнеры с Java рантаймом. К тому же, благодаря недавним разработкам наших инженеров, любой желающий может попробовать легкие образы Alpine Linux с JDK весом всего 43,5 MB. В отличие от дистрибутивов от других производителей, бинарные сборки Axiom JDK поддерживаются на большинстве существующих платформ и конфигураций (к примеру, OpenJDK от Red Hat работает только на Linux и Windows). А значит, для разработки ваших приложений нет никаких преград. Кроме того, Axiom JDK позволяет использовать стеки ПО. С 2020 года Axiom JDK стала объединенной средой исполнения Java (Unified Java Runtime) в рамках экосистемы VMware Tanzu. Эта платформа дает своим пользователям доступ к мощным инструментам Pivotal, возможность максимально задействовать облачные сервисы и превосходный саппорт от Axiom JDK.

2. Axiom JDK безопасна.

Axiom JDK работает над устранением известных уязвимостей в OpenJDK. Мы постоянно выпускаем обновления для текущих и LTS-релизов, где исправляются баги и проблемы безопасности.

3. Axiom JDK бесплатно предлагает JDK Flight Recorder + Mission Control.

Эти незаменимые инструменты впервые появились в Oracle Java 7, как часть комплекта, скрытого за лицензией и коммерческой подпиской. Теперь же, с момента выпуска 8u262, всем пользователям любой версии Axiom JDK они доступны абсолютно бесплатно.

4. Axiom JDK просто установить.

Мы задействуем больше каналов для доставки нашего продукта, чем любой другой JDK-вендор. Начиная с Java 17, Oracle JDK выпускается под новой лицензией &quot;Oracle No-Fee Terms and Conditions&quot; (NFTC), в которой явно указаны возможные санкционные ограничения. Новые сборки Oracle JDK скачиваются с официального сайта компании. На предыдущие версии Oracle JDK распространяется прежняя лицензия Oracle Technical Network, и центральный репозиторий OTN, содержащий версии до 17-й, доступен только зарегистрированным пользователям Oracle. Axiom JDK предлагает широкий выбор: вы можете забрать контейнеризированный образ Axiom JDK на Docker Hub, взять автоматический установщик под Windows, установить Linux репозиторий, найти наши сборки в пакетных менеджерах, скачать инсталлеры напрямую с сайта или через наш открытый API. Не говоря уже о комплектах раннего доступа, которые мы раздаем клиентам с каждым релизом обновлений для тест-драйва любых новых функций (а не только крупнейших, вроде Project Loom). Следует отметить, что сборка, включающая JFR-порт для JDK 8, входит в релизные сборки Axiom JDK и сборки других вендоров OpenJDK с HotSpot. Однако в Oracle JDK закрытая реализация JFR, и данная функция является коммерческой и включается в сборку с дополнительным флагом.

5. Axiom JDK соответствует стандартам индустрии.

Мы непреклонно проверяем уровень качества продуктов ради спокойствия наших клиентов. Все сборки проходят верификацию тестами TCK на соответствие спецификации Java SE. Более того, Axiom JDK под macOS прошла процедуру нотаризации Apple, а значит вы можете ссылаться на нашу среду при разработки приложений для этой системы.

6. Axiom JDK взаимодействует с комьюнити.

Наша компания входит в топ-5 контрибьюторов OpenJDK. Для поддержания этого статуса мы следим за тем, чтобы при выявлении проблемы у одного клиента она исправлялась сразу и для остальных. У Axiom JDK нет приватной «вилки» репозитория JDK, поэтому все багфиксы идут напрямую и максимально быстро в основную ветвь — в отличие от некоторых других вендоров, чей продукт «в конечном счете согласован с OpenJDK».

7. Axiom JDK доступна в том числе с подпиской на саппорт.

Безусловно, вы можете использовать наши сборки, не тратя ни копейки. Но если вам нужен надежный партнер, который говорит с вами на одном языке, Axiom JDK предлагает гибкие планы технической поддержки, которые значительно дешевле по сравнению с поддержкой от Oracle. Стоимость нашей поддержки может быть в 5 раз меньше, чем у Oracle. Например, если у вас 350 CPU, подписка на Axiom JDK составит 20 000 долларов США, а на Oracle — 105 000 долларов США. Лицензии по количеству виртуальных процессоров (per-vCPU, как у Oracle) при аппаратных изменениях в организации требуют пересчета стоимости. В случае же Axiom JDK, если вы наращиваете (или уменьшаете) мощности компании, это не приведет к затратным правкам в договоре с привлечением юристов. Помимо снижения издержек, вас порадует экспертная команда инженеров. Мы мгновенно реагируем на запросы клиентов, и вам не придется ждать неделями, чтобы решить одну проблему.

Приятный бонус для российских компаний: Axiom JDK Pro

Версия Axiom JDK Pro была внесена в реестр российского ПО — это значит, что поддержка дистрибутива будет осуществляться даже в условиях санкций, без контакта с мировым сообществом OpenJDK. В связи с курсом на импортозамещение именно эта версия, равно как и стандартизированный сервер приложений Libercat, будут необходимы для создания сквозных программно-аппаратных решений на основе стека Java™ в России. Кроме того, Axiom JDK была допущена ФСБ к использованию как среда функционирования новой версии КриптоПро JCP 2.0 R4. Это расширяет диапазон применения Axiom JDK в государственных информационных системах.

Если мы убедили вас в правильности перехода с Oracle JDK на Axiom JDK, оставьте свои данные — Axiom JDK поможет вам подготовиться к безболезненной миграции на OpenJDK.

Сергей Лунегов

Сергей Лунегов

Директор по продуктам Axiom JDK