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

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


Обновлено 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 вам не доступны новые возможности языка, исправления уязвимостей и другие важные улучшения — однако вы хотели бы пользоваться всем этим без ущерба для бюджета.

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

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

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

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

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

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

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

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

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

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

    Liberica JDK Oracle 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 Sparc JDK 8, 11 JDK 8, 11
  Solaris x86 (64 bit) JDK 8, 11 Только в JDK 8
  Установщики на Windows MSI EXE
  Установщики на Mac DMG, PKG DMG
  Установщики на Linux DEB, RPM, TAR.GZ DEB, RPM, TAR.GZ
  Разнообразные типы сборок Lite, Standard, Full, JDK/JRE Standard, Server JRE/JRE/JDK
  Репозитории Linux (yum, apt) Да yum (OTL, OEL, OCI)
Инструменты JDK Flight Recorder JDK 8+ JDK 8, JDK 11
  Java Mission Control Да Да
  OpenJFX (JavaFX) JDK 8, 11 Только в JDK 8
  Java Web Start and Applets JWS поддерживается в коммерческом пакете с OpenWebStart от Karakun Да
  Графический рендерер Marlin in JDK 8, 11 Ductus in JDK 8, Marlin in JDK 11
  Графический рендерер шрифтов Freetype in JDK 8, 11 T2K in JDK 8, Freetype in JDK 11
Коммерческая поддержка Предоставляется для поддерживаемых платформ и сред Да Да
  Круглосуточный и круглогодичный саппорт (реагирование в течение часа по SLA) Да Да
  SLA гарантирует обновления 4 раза в год Да Да
  Внеплановые критические исправления (независимо от OpenJDK) Да Да
  Жизненный цикл коммерческой поддержки 2031 для Java SE
2026 для JavaFX
2030 для Java SE
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. Но тут дело обстоят наоборот — вы можете в полной мере пользоваться средой исполнения без какого-либо участия со стороны ее разработчика. В то же время, рекомендуется проверять компании, которые обеспечивают вас базовыми технологиями. Например, BellSoft гарантирует полное отсутствие вендор-лока, предоставляя пользователям так называемые «ванильные» (без дополнительного функционала) билды и внося все исправления со своей стороны в основную ветвь OpenJDK.

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

1. Liberica JDK удобна.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Author image

Александр Белокрылов

BellSoft CEO

 LinkedIn

BellSoft LTD [email protected] BellSoft LTD logo Liberica Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 BellSoft LTD 111 North Market Street, Suite 300 CA 95113 San Jose US +1 702 213-59-59