Вам Придется Заплатить За Oracle Jdk. Какие Есть Варианты Сейчас?

Споры об актуальности Java продолжаются.

Некоторые говорят, что он устаревает и ему на смену приходят более совершенные языки.

Другие с этим не согласны, ссылаясь на то, что из года в год растет число профессионалов, которые выбирают Java в качестве своего основного навыка.

В любом случае нельзя игнорировать тот факт, что большая часть существующего программного обеспечения написана на Java, и клиенты, как внутренние, так и внешние, продолжают его использовать.

В такой ситуации не следует игнорировать любые новые реализации и глобальные новости о Java. Питер Верхас , ведущий разработчик и архитектор программного обеспечения в EPAM, Швейцария, поделился своим анализом того, какие изменения вводит Oracle и как они повлияют на нас с вами.



Вам придется заплатить за Oracle JDK. Какие есть варианты сейчас?

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

Хорошо, что в языке появляются новые возможности.

Но это не единственные изменения.

Oracle внесла существенные изменения в модель поддержки и цикл обновления выпусков Java компании.

Все это привело к большой путанице, вызванной переменами, дезинформацией и непониманием.

В этой статье я суммирую все, что пользователи должны знать о новых инновациях, прежде чем они начнут верить в приближение апокалиптического конца экосистемы Java. Однако сначала нам необходимо прояснить некоторые моменты.

Oracle владеет Java, но Java — это не Oracle. Исходный код Java распространяется под лицензией GPLv2.0 с исключением пути к классам.

На практике это означает, что любой может бесплатно использовать и изменять исходный код языка.

Есть только одна вещь, которую запрещено делать всем, включая Oracle: изменять код и публиковать его под лицензией с закрытым исходным кодом.

Это означает, что коммерческое использование Java, только платной версии, юридически невозможно, даже если этого требуют маркетинговые или деловые интересы Oracle. Но я все же технический специалист. Чтобы на 100% разобраться с этим вопросом, лучше всего скачать текст лицензии GPLv2 и проконсультироваться с юристом.

Oracle — не единственная компания, которая производит сборки Java и обеспечивает поддержку; есть много других продавцов.

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

На самом деле Oracle не имеет исключительных прав не только на исходный код Java. Процесс разработки, изменения в определении Java, API — все это находится в руках Java Community Process, присоединиться к которому может каждый.

Для физических лиц это совершенно бесплатно.

В состав этой группы входят такие компании, как Intel, IBM, Credit Suisse, Software AG, RedHat. Именно они определяют будущее Java, а не Oracle. И у них есть свое мнение, как мы видели в прошлый раз, когда утверждение окончательной версии JPMS прошло не совсем гладко.

После этого введения, в котором мы установили, что Oracle «владеет» Java, но не является Java, давайте посмотрим на изменения в процессе поддержки разработки Java и дорожной карте, которые представила Oracle.



Изменения после версий Java 9, 10, 11

Oracle объявила, что начиная с JDK11 Oracle JDK больше не будет бесплатным.

И поначалу это заявление пугает. То, чем мы раньше пользовались бесплатно, уже не будет таковым.

На практике фраза «мы должны платить» почти логична.

Но маленькое слово «почти» существует не просто так.

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

Должны ли мы продолжать использовать Oracle JDK или можем перейти на что-то другое? Это настоящий вопрос.

Чтобы ответить на этот вопрос, нужно понять, что такое Oracle JDK и какие существуют альтернативы.

Еще одно существенное изменение касается циклов выпуска новых версий и концепции долгосрочной поддержки (англ.

— Long Term Support или LTS).

Мы начнем с обсуждения изменений в цикле выпуска, затем путаницы с Open JDK и, наконец, структуры LTS.

Цикл выпуска новых версий

Java появилась в 1996 году.

Первые несколько версий Java выпускались более или менее регулярно.



Вам придется заплатить за Oracle JDK. Какие есть варианты сейчас?

Однако, глядя на диаграмму, мы видим, что выпуск Java 5.0 задерживается.

Java 6 также медленно развивалась по сравнению с предыдущей версией, и самый большой разрыв был между Java 6 и Java 7. Даже после этого новые версии выпускались не очень часто.

Java 8 получила множество новых функций, но ценой двух лет ожидания.

Аналогичная ситуация была и с Java 9, которую хоть и претерпела еще большие изменения, но ждать пришлось целых три года.

Проблема с этими циклами обновлений заключается в том, что язык, который сам конкурирует на постоянно развивающемся языковом рынке, не может достаточно быстро внедрять новые функции.

Если на разработку модульной системы уйдет три года, то ничто не сможет ускорить этот процесс.

Однако некоторые возможности Java 9 могли быть выпущены раньше.

Но до разработчиков они просто не смогли добраться, так как более ранних релизов не было.

Уже доступным функциям пришлось ждать самой медленной разработанной функции в этом выпуске.

Это одна из проблем классической водопадной модели развития.

Oracle решила действовать гибко и выпускать выпуски каждые шесть месяцев.

Начиная с сентября 2017 года, новые выпуски Java можно ожидать в марте и сентябре.

Если какая-то функция не будет готова к этим срокам, она будет перенесена в следующий выпуск, а остальные будут включены в последние по мере готовности.

В целом все ок.

С одной стороны, Java-сообщество и разработчики должны быть этому рады.

С другой стороны, остается вопрос поддержки.

Кто может поддерживать столько версий Java? Вот почему была введена долгосрочная поддержка (LTS), о которой мы вскоре поговорим.

Но сначала нам все же нужно уточнить, что такое Oracle JDK и OpenJDK.

Чем были и стали Oracle JDK и OpenJDK

Вплоть до Java 9 существовала двоичная версия сборки Oracle Java (Sun Microsystems), которая использовалась в производстве большинством разработчиков и компаний.

Этот двоичный файл был основан на коде Java с открытым исходным кодом и содержал некоторые улучшения - дополнительные корпоративные инструменты, такие как Java Flight Recorder, Java Mission Control и некоторые другие функции, такие как совместное использование данных классов приложений.

Сборка OpenJDK была создана на основе Java-кода с открытым исходным кодом, который не включал в себя никаких улучшений.

Эта сборка Java использовалась теми, кто хотел поэкспериментировать с функциями Java, изменить код или просто по какой-либо причине был приверженцем открытого исходного кода.

Хотя вам следовало скачать исходный код и скомпилировать его под себя.

Начиная с Java 9, Oracle начала предоставлять OpenJDK параллельно с Oracle JDK. Компания также объявила, что хочет устранить разрыв между возможностями, производительностью и стабильностью двух версий, и как только это произойдет, сделать Oracle JDK платным продуктом.

В то время и OpenJDK, и Oracle JDK были доступны бесплатно в виде двоичных сборок Oracle. Это были Java 9 и Java 10. Это прекратилось после выпуска Java 11. OpenJDK по-прежнему доступен бесплатно, но Oracle JDK для производственных систем стал платной услугой.

Между двумя версиями больше нет существенной разницы.

Коммерческая версия имеет установщик, а OpenJDK — только ZIP-файл.

Есть и другие отличия, но пользователям Java не стоит обращать на них внимание.

Технически подробный список отличий описан Дональдом Смитом, старшим директором по управлению продуктами Oracle в Эта статья .

Более того, Oracle JDK по-прежнему бесплатен для других, даже коммерческих пользователей.

Oracle JDK можно свободно использовать для: • разработка • тестирование • прототипирование • демонстрации Вы можете использовать OpenJDK для других целей или заплатить Oracle и использовать Oracle JDK и получить поддержку.

Поддержка хорошая.



Релизы с долгосрочной поддержкой

Переход на цикл выпуска новой версии каждые полгода поставил вопрос о поддержке.

Никто не может поддерживать такое количество версий с прибылью.

Если вы установили Java 6 для своего приложения в 2007 году, вы можете получить поддержку от Oracle через 11 лет. Выпуск новых версий каждые шесть месяцев означает одновременную поддержку 22 различных версий.

Это легло бы тяжелым бременем на Oracle или любого другого поставщика, который решил поддерживать все выпуски.

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

Первым таким релизом стала Java 11, и она будет поддерживаться до 2026 года.

За это время в сентябре 2021 года выйдет и Java 17, которая, согласно текущим планам, получит семь лет долгосрочной поддержки.

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



Вам придется заплатить за Oracle JDK. Какие есть варианты сейчас?

Обратите внимание, что поддержка распространяется только на Oracle JDK и только для тех, кто заплатил за JDK и поддержку.

Но не думайте, что вам придется постоять за себя, если вы планируете использовать OpenJDK. Для нас ничего не изменилось.

Если вы раньше не платили за поддержку, вы все равно ее не получили.

Если вы заплатили, вы продолжите платить и получать эту поддержку.

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

Будут ли выпущены новые версии OpenJDK? Конечно.

Ранее выпускались обновления Java-кода с открытым исходным кодом, исправлявшие ошибки, хотя не было никакой гарантии, что они будут выпущены.

Это произошло просто потому, что все участники были в этом заинтересованы.

В дальнейшем все останется по-прежнему, Java будет получать новые версии и новые сборки.

Я вижу три основных стратегии выбора версии Java, которую лучше всего установить:

  1. Заплатите Oracle за Oracle JDK и подписку и наслаждайтесь выпусками с долгосрочной поддержкой.

    Это то, что должны делать крупные коммерческие компании, использующие инфраструктуру Java, чтобы соответствовать требованиям надежности.

  2. Перейдите на OpenJDK, используйте только выпуски с долгосрочной поддержкой и устанавливайте версии с исправленными ошибками, доступные для OpenJDK. Это жизнеспособное решение для компаний, которые не могут или не хотят менять стоимость инфраструктуры Java, смогли обойтись без коммерческой поддержки в прошлом и полагают, что смогут сделать это в долгосрочной перспективе.

  3. Перейдите на OpenJDK и устанавливайте последующие выпуски каждые шесть месяцев по мере их появления.

    Это вариант для компаний, которым нужны новейшие технологические решения.

Стратегии также можно комбинировать, устанавливая разные версии Java на разные машины.

Независимо от того, что вы выберете, вы можете загрузить готовые двоичные файлы со следующих сайтов:

  • Предварительно собранные двоичные файлы OpenJDK принятьopenjdk.net
  • Oracle JDK доступен по адресу java.oracle.com .

    Здесь вы можете нажать на Java SE 11, чтобы перейти на страницу загрузки и перейти к кнопке загрузки.

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

    И на этот раз лучше действительно прочитать условия, а не автоматически соглашаться.

Хотя это не двоичная загрузка, она тесно связана с загрузкой Oracle JDK — вы также можете посетить веб-сайт www.oracle.com/java/java-se-subscription.html чтобы получить Oracle JDK и поддержку в одном пакете.

Подробная информация о ценах доступна по адресу www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf .

Для нетерпеливых я скопировал информацию о ценах из официального FAQ Oracle здесь: «Версия для настольных компьютеров стоит 2,50 доллара за пользователя в месяц или ниже с учетом многоуровневых скидок за объем.

Дополнительную информацию см.

в прейскуранте подписки на Oracle Java SE».



Полученные результаты

Что вы должны сделать? Должен ли я использовать OpenJDK или заплатить за Oracle JDK? Это вопрос экономической эффективности и того, насколько важна для вас поддержка Oracle. Если ваш бизнес не может позволить себе поддержку Oracle JDK, потому что вы стартап, восходящая звезда с блестящей идеей продукта, но с дыркой в кармане, тогда OpenJDK соответствует вашим потребностям.

Вам не придется за это платить.

И кроме того, если вы стартап, для вас не так критично, если ваши серверы будут не работать несколько часов, пока технические специалисты не решат проблему.

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

Вы также можете решить объединить разные модели и установить Oracle JDK на некоторые серверы продукта, которые должны быть доступны 24/7, и OpenJDK на внутренние приложения, которые не столь критичны для бизнеса.

В любом случае вы можете продолжать использовать Java дальше.

Об авторе: Питер Верхас работает в швейцарском офисе EPAM. Питер разрабатывает программное обеспечение для клиентов, проводит обучение программистов и осуществляет наставничество внутри компании.

Вы можете подписаться на Питера по адресу Твиттер , LinkedIn И GitHub .

У автора также есть блог «Java deep»: javax0.wordpress.com Теги: #программирование #java #oracle #openjdk

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.