Разъясняем изменения в лицензировании Java

Изменения лицензионной политики Java в 2021 году


Апрель 6, 2022


В 2019 г. произошли кардинальные изменения в политике лицензирования Oracle JDK 8. Поскольку обновления Java 8, являющейся наиболее распространенной версией среди разработчиков, стали платными, компании оказались перед выбором: оформить коммерческую поддержку на Java или перейти на дистрибутив другого вендора.

В 2021 году Oracle объявила о сокращении цикла LTS-релизов (раз в два года вместо трех) и снова изменила условия лицензирования. Начиная с 17-й версии, Oracle JDK распространяется под лицензией «Oracle No-Fee Terms and Conditions» (NFTC). Значит ли это, что Java для коммерческого использования снова бесплатна? Ответ не так прост. В этой статье мы подробно разберем условия лицензирования и узнаем, как новая политика влияет на корпоративную разработку. Мы не будем вдаваться в юридические тонкости, но вместо этого постараемся максимально четко обрисовать текущую ситуацию на основании данных, представленных Oracle1.

Итак, давайте посмотрим, что предлагает Oracle! Вы также можете связаться с представителями BellSoft, и они с радостью помогут вам разобраться в этой теме.

Содержание

  1. Условия лицензирования Java
    1. В чем заключаются изменения политики лицензирования?
  2. Как новая лицензионная политика скажется на бизнесе
    1. Версии до Java 17
    2. Java 17 и последующие версии
    3. Вам нужна лицензия Oracle?
  3. Заключение
  4. Полезные ссылки

Условия лицензирования Java

Чтобы разобраться в хитросплетениях новой лицензионной политики Java, нужно сначала понять разницу между личным и коммерческим использованием. Личное использование допускает установку продуктов Oracle на ПК, принадлежащем физическому лицу и находящемся под его полным контролем. Таким образом, корпоративный компьютер не подходит под это условие, так как он принадлежит компании. Кроме того, разрешается запускать приложения для личных нужд: например, играть в игры или вести собственный бюджет. При этом запрещается распространять или передавать ПО Oracle, предоставленное для личного пользования, третьим лицам, как отдельно, так и в составе собственных продуктов.

С 2019 года бесплатные обновления Java 8 и Oracle JDK 11 предоставляются некоммерческим пользователям для личного использования, разработки, прототипирования, тестирования, и некоторых других видов деятельности, указанных в лицензии «Oracle Technology Network» (OTN) для Java SE2. Однако Oracle OpenJDK 11 распространяется под лицензией «General Public License, version 2, with the Classpath Exception» (GPLv2+CPE), как и все остальные дистрибутивы OpenJDK. Следует отметить, что Oracle предоставляет две сборки: Oracle JDK и Oracle OpenJDK. Последняя получает обновления в течение шести месяцев после выхода следующей версии. По истечению этого срока необходимо приобрести лицензию, чтобы и дальше получать патчи и поддержку поставщика.

В 2021 году в ответ на отзывы разработчиков, которые хотели получить «надежный Oracle JDK с четкими условиями бесплатного использования»3, Oracle изменила условия лицензирования Java 17 и представила новую лицензию NFTC. Теперь разные версии и сборки Oracle JDK распространяются под разными лицензиями, краткий обзор которых представлен в таблице ниже.

Версия JDK (LTS) Сборки и даты Лицензия
Oracle JDK 7 7u80 до апреля 2015 г. Oracle BCL для Java SE
С июля 2015 г. My Oracle Support для клиентов Oracle
Oracle JDK 8 8u202 до января 2019 г. Oracle BCL для Java SE
С апреля 2019 г. (актуальная сборка 8u321) My Oracle Support для клиентов Oracle и Oracle OTN для Java SE для личного использования, разработки и других пользователей
Oracle JDK 11 Oracle OpenJDK до января 2019 г. GPLv2+CPE для всех пользователей
Oracle JDK (актуальная сборка 11.0.14) My Oracle Support для клиентов Oracle и Oracle OTN для Java SE для личного использования, разработки и других пользователей
Oracle JDK 17+ Oracle OpenJDK до января 2022 г. GPLv2+CPE для всех пользователей
Oracle JDK до сентября 2024 г. (актуальная сборка 17.0.2) Oracle NFTC для всех пользователей
Обзор лицензий Oracle

В чем заключаются изменения политики лицензирования?

  • Лицензия «Oracle No-Fee Terms and Conditions» применима только в том случае, если вы не приобрели пакет JDK 17 отдельно или в составе другого продукта в соответствии с генеральным соглашением Oracle. Это значит, что если вы уже оформили, например, подписку Java SE или приобрели другое ПО Oracle, действие NFTC не распространяется на установку Oracle Java 17.
  • Согласно NFTC версия JDK 17 бесплатна для коммерческого и производственного использования с определенными ограничениями:
    • Разработка, тестирование, прототипирование и демонстрация приложений разрешены. Приложения должны разрабатываться вами или вашей компанией.
    • Запуск ПО для личного или внутрикорпоративного использования. Мы уже обсудили, что входит в понятие личного использования. Внутрикорпоративное использование подразумевает деплой и применение Oracle JDK внутри компании.
    • Повторное распространение ПО под действием NFTC без взимания платы с договорных партнеров.
  • Действие NTFC не распространяется на использование коммерческих тулов (например, Java Advanced Management Console или GraalVM Enterprise Edition) и повторное распространение в составе коммерческих программ. В таких случаях Oracle Java остается платным.
  • В случае LTS-релизов пользователи будут получать бесплатные патчи безопасности в течение трех лет (еще год после выхода следующей LTS-версии). Обновления минорных версий будут в свободном доступе в течение одного года. После этого необходимо перейти на новую версию или оформить подписку (лицензия OTN), чтобы продолжить использование Oracle JDK в коммерческих целях.

Как новая лицензионная политика скажется на бизнесе

Как новая политика лицензирования повлияет на вашу компанию? Все зависит от того, какую версию Java вы используете. Давайте ответим на этот вопрос на примере LTS-версий.

Версии до Java 17

Если ваши приложения работают на Oracle JDK 8 или 11, и вы не планируете в скором времени обновляться, можете продолжить пользоваться этими версиями и получать бесплатные (в случае личного использования) или платные обновления.

Но не забывайте, что если вы используете Java 8, но еще не оформили платную подписку для получения обновлений безопасности, ваши приложения подвергаются высокому риску атак, так как вы уже пропустили много патчей уязвимостей. Рассмотрите вариант миграции на OpenJDK. Так вы будете получать бесплатные обновления гораздо дольше. Например, BellSoft будет обновлять Java 8 до 2031 года!

Что касается пользователей Java 6 и 7, для них тоже ничего не изменится. Единственное, о чем следует помнить, это об уязвимостях ПО на Java 6 и 7. BellSoft выпускает регулярные обновления JDK 1.6 и 1.7, поэтому вам не придется беспокоиться о возможных атаках.

Java 17 и последующие версии

Возможно, вы начинаете новый проект на Java и хотите использовать самую современную версию JDK. В этом случае вы можете установить Oracle JDK 17, получать бесплатные обновления оставшиеся 2,5 года, а затем перейти на новую LTS-версию. Но обновление версии — дело не одного дня. Каждый релиз Java включает новые фичи, а некоторые фичи удаляются или помечаются как устаревшие. К моменту завершения перехода уже выйдет новая версия. Поэтому ваши разработчики будут тратить большую часть времени на изменение кода, а не на работу над ПО.

С другой стороны, вы можете получать бесплатные обновления до выхода Java 21, а затем оформить подписку для получения обновлений JDK 17.

Третий вариант — переход на дистрибутив OpenJDK. Между Oracle JDK и OpenJDK практически нет технических отличий, обновления безопасности выходят ежеквартально в соответствии с графиком CPU-релизов Oracle, а при необходимости вы можете оформить коммерческую поддержку.

Поскольку детальное сравнение Oracle JDK и OpenJDK не является предметом данной статьи, скачайте наш технический документ «Семь причин для миграции на OpenJDK» и убедитесь в преимуществах OpenJDK для вашего бизнеса.

Вам нужна лицензия Oracle?

Следует учесть еще один важный момент, а именно, нужно ли вам вообще лицензионное соглашение с Oracle. Пункты ниже помогут вам определиться с будущей бизнес-стратегией:

  1. Вам нужна техподдержка? Мы уже рассказывали о преимуществах техподдержки для Java-приложений, но, возможно, вы считаете, что у вас хватает ресурсов для самостоятельного устранения проблем. Если нет, вендоры OpenJDK тоже предоставляют высококачественную поддержку. Например, инженеры BellSoft с 15-летним опытом работы с Java готовы помочь вам 24/7/365.
  2. Вам нужны коммерческие тулы? У большинства из них есть альтернативы. Например, JDK Flight Recorder и Mission Control являются частью проекта OpenJDK. GraalVM CE почти так же хорош, как и версия EE, при этом члены сообщества постоянно работают над его улучшением. А Java AMC можно заменить на Liberica Administration Center, у которого даже больше функций.
  1. Ежеквартальный цикл CPU-релизов позволяет сохранить безопасность рантайма. Но чтобы пользоваться последними улучшениями, не обязательно использовать Oracle Java. Патчи, выпускаемые Oracle, быстро внедряются в OpenJDK, поэтому OpenJDK так же безопасен. В случае Liberica JDK патчи становятся доступны одновременно с Oracle JDK.
  2. Выполните инвентаризацию всех JDK, установленных в вашей компании, и решите, когда их следует обновить и до какой версии. Если для использования рантаймов требуется подписка, вы можете столкнуться с непредвиденными расходами, поэтому лучше выяснить это как можно скорее. Liberica Administration Center обеспечивает мониторинг всех рантаймов Java в вашем парке ПК на Windows и их обновление из одного окна.
  3. Вы готовы переходить на новую версию каждые два года, чтобы получать бесплатные обновления? Помните, что миграция требует времени и ресурсов, поэтому вы можете не успевать за циклом релизов Oracle. Мы рекомендуем выбрать вендора OpenJDK, предоставляющего долгосрочную поддержку LTS-релизов Java, что позволит вам сосредоточиться на других задачах. Большинство дистрибутивов OpenJDK поддерживаются дольше, чем сборки Oracle, поэтому внимательно изучите дорожные карты поддержки.
  4. Следует отметить, что Oracle JDK поддерживает ограниченный, хоть и широкий диапазон платформ. Если вам нужен унифицированный рантайм, работающий в любой среде (облако, ПК, сервер), Liberica JDK совместим с наибольшим количеством конфигураций.

Заключение

Изменения лицензионной политики Java кажутся потрясающими, но на самом деле они сопровождаются определенными ограничениями, а в итоге все равно придется оформить платную подписку для получения обновлений. Продумайте свою бизнес-стратегию, решите, нужен вам Oracle JDK или OpenJDK, и в последнем случае, какой дистрибутив подойдет вам лучше всего.

И еще кое-что. Некоторые компании перешли на OpenJDK, чтобы бесплатно использовать сборки JDK. Вы не обязаны платить за ПО с открытым исходным кодом, и цель проекта OpenJDK — обеспечить разработчиков доступными, эффективными и безопасными тулами. Но оформление коммерческой поддержки — это не только усиленная безопасность рантайма в любой момент. Это еще и возможность поддержать сообщество и экосистему Java, чтобы инженеры могли и дальше посвящать свое время улучшению платформы Java.

Полезные ссылки

  1. Oracle No-Fee Terms and Conditions license
  2. Oracle Technology Network License Agreement for Java SE
  3. Introducing the Free Java License
Author image

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

Генеральный директор БЕЛЛСОФТ

ООО БЕЛЛСОФТ info@axiomjdk.ru ООО БЕЛЛСОФТ logo Axiom Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 ООО БЕЛЛСОФТ 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 ООО БЕЛЛСОФТ 111 North Market Street, Suite 300 CA 95113 San Jose US +1 702 213-59-59