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

19.08.2020

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

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

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

  • в своем текущем виде лицензия Oracle Java SE не позволяет использовать безопасные LTS версии 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.

7 причин для перехода с Oracle JDK на Liberica JDK, изображение №2
 
7 причин для перехода с Oracle JDK на Liberica JDK, изображение №3
 

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 весом всего 41,5 MB. В отличие от дистрибутивов от других производителей, бинарные сборки BellSoft поддерживаются на большинстве существующих платформ и конфигураций (к примеру, OpenJDK от Red Hat работает только на Linux и Windows). А значит, для разработки ваших приложений нет никаких преград.

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

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

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

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

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

Мы задействуем больше каналов для доставки нашего продукта, чем любой другой JDK-вендор. В то время как центральный репозиторий Oracle Technical Network доступен только зарегистрированным пользователям Oracle, BellSoft предлагает широкий выбор: вы можете забрать контейнеризированный образ Liberica JDK на Docker Hub, взять автоматический установщик под Windows, установить Linux репозиторий, найти наши сборки в пакетных менеджерах, скачать инсталлеры напрямую с сайта или через наш открытый API. Не говоря уже о комплектах раннего доступа, которые мы раздаем клиентам с каждым релизом обновлений для тест-драйва любых новых функций (а не только крупнейших, вроде Project Loom). Некоторые такие ранние сборки доступны даже всем желающим, как например релиз, включающий порт JFR в JDK 8.

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

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

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

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

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

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

Бонусное преимущество: работа в стэках. С 2020 года Liberica JDK стала объединенной средой исполнения Java (Unified Java Runtime) в рамках экосистемы VMware Tanzu. Эта платформа дает своим пользователям доступ к мощным инструментам Pivotal, возможность максимально задействовать облачные сервисы и превосходный саппорт от BellSoft.

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