Суммируя:
- OpenJDK has multiple meanings and can refer to:
- free and open source implementation of the Java Platform, Standard Edition (Java SE)
- репозиторий с открытым исходным кодом - исходный код Java, также известный как проект OpenJDK
- предварительно созданные двоичные файлы OpenJDK, поддерживаемые Oracle
- предварительно созданные двоичные файлы OpenJDK, поддерживаемые сообществом OpenJDK
- AdoptOpenJDK - предварительно созданные двоичные файлы OpenJDK, поддерживаемые сообществом (с открытым исходным кодом по лицензии)
Объяснение:
Предварительно собранный OpenJDK (или дистрибутив) - двоичные файлы, созданные из http://hg.openjdk.java.net/, предоставляемый в виде архива или установщика, предлагаемый для различных платформ, с возможным контрактом на поддержку.
OpenJDK, исходный репозиторий (также называемый проектом OpenJDK) - это Репозиторий с открытым исходным кодом на основе Mercurial, размещенный по адресу http://hg.openjdk.java.net. Исходный код Java. Подавляющее большинство функций Java (от виртуальной машины и основных библиотек до компилятора) основаны исключительно на этом исходном репозитории. У Oracle есть альтернативный ответ.
OpenJDK, распространение (см. список поставщиков ниже) - бесплатно, как в пиве и вроде бесплатно, как в речи, но вы не можете позвонить в Oracle если у вас с этим проблемы. Нет контракта на поддержку. Кроме того, Oracle будет выпускать обновления для любой версии OpenJDK (распространяемой) только в том случае, если этот выпуск является самым последним выпуском Java, включая выпуски LTS (долгосрочная поддержка). В тот день, когда Oracle выпустит OpenJDK (дистрибутив) версии 12.0, даже если возникнет проблема безопасности с OpenJDK (дистрибутив) версии 11.0, Oracle не выпустит обновление для 11.0. Поддерживается исключительно Oracle.
Некоторые проекты OpenJDK, такие как OpenJDK 8 и OpenJDK 11 - поддерживаются сообществом OpenJDK и предоставляют выпуски для некоторых версий OpenJDK для некоторых платформ. Члены сообщества взяли на себя ответственность за выпуск исправлений уязвимостей безопасности в этих версиях OpenJDK.
AdoptOpenJDK, дистрибутив очень похож на дистрибутив Oracle OpenJDK (в том, что он бесплатный и представляет собой сборку, созданную путем компиляции исходных кодов из репозитория исходных кодов OpenJDK). AdoptOpenJDK как объект не будет выполнять резервное копирование патчей, т.е. не будет вилки / версии AdoptOpenJDK, которая существенно отличается от исходной (за исключением некоторых патчей сценария сборки для таких вещей, как поддержка Win32). Это означает, что если члены сообщества (Oracle или другие, но не AdoptOpenJDK как объект) вносят исправления безопасности в обновления для обновлений версий OpenJDK LTS, то AdoptOpenJDK предоставит для них сборки. Поддерживается сообществом OpenJDK.
OracleJDK - еще один дистрибутив. Начиная с JDK12 бесплатной версии OracleJDK не будет. Предложение Oracle JDK по распространению предназначено для коммерческой поддержки. Вы платите за это, но тогда вы можете рассчитывать на поддержку Oracle. В отличие от предложения Oracle OpenJDK, OracleJDK имеет более длительную поддержку версий LTS. Как разработчик вы можете получить бесплатную лицензию для личного использования / использования в целях разработки только этого конкретного JDK, но это в основном отвлекающий маневр, поскольку «просто двоичный» в основном то же самое, что и двоичный файл OpenJDK. Я думаю, это означает, что вы можете загружать версии LTS JDK с исправлениями безопасности с веб-сайтов Oracle, если вы обещаете не использовать их в коммерческих целях.
Примечание. Возможно, лучше всего будет называть сборки OpenJDK от Oracle «сборками Oracle OpenJDK».
Дональд Смит, менеджер по продуктам Java в Oracle пишет:
В идеале мы могли бы просто называть все сборки Oracle JDK «Oracle JDK» либо под GPL, либо под коммерческой лицензией, в зависимости от вашей ситуации. Однако по историческим причинам, хотя небольшие оставшиеся различия существуют, мы будем называть их отдельно как сборки Oracle OpenJDK и Oracle JDK.
Провайдеры OpenJDK и сравнение
----------------------------------------------------------------------------------------
| Provider | Free Builds | Free Binary | Extended | Commercial | Permissive |
| | from Source | Distributions | Updates | Support | License |
|--------------------------------------------------------------------------------------|
| AdoptOpenJDK | Yes | Yes | Yes | No | Yes |
| Amazon – Corretto | Yes | Yes | Yes | No | Yes |
| Azul Zulu | No | Yes | Yes | Yes | Yes |
| BellSoft Liberica | No | Yes | Yes | Yes | Yes |
| IBM | No | No | Yes | Yes | Yes |
| jClarity | No | No | Yes | Yes | Yes |
| OpenJDK | Yes | Yes | Yes | No | Yes |
| Oracle JDK | No | Yes | No** | Yes | No |
| Oracle OpenJDK | Yes | Yes | No | No | Yes |
| ojdkbuild | Yes | Yes | No | No | Yes |
| RedHat | Yes | Yes | Yes | Yes | Yes |
| SapMachine | Yes | Yes | Yes | Yes | Yes |
----------------------------------------------------------------------------------------
Бесплатные сборки из исходного кода - исходный код дистрибутива общедоступен, и можно собрать собственную сборку
Бесплатные двоичные дистрибутивы - двоичные файлы дистрибутива общедоступны для загрузки и использования
Расширенные обновления - также известные как LTS (долгосрочная поддержка) - общедоступные обновления после 6-месячного жизненного цикла выпуска
Коммерческая поддержка - некоторые поставщики предлагают платным клиентам расширенные обновления и поддержку, например Oracle JDK (сведения о поддержке)
Permissive License - лицензия на распространение не является защитной, например Apache 2.0
Какой дистрибутив Java мне следует использовать?
Во времена Sun / Oracle обычно Sun / Oracle производили проприетарные дистрибутивы JDK на основе исходных кодов OpenJDK. Недавно Oracle решила делать свои собственные проприетарные сборки только с прилагаемой коммерческой поддержкой. Они также любезно публикуют сборки OpenJDK на своем сайте https://jdk.java.net/.
Начиная с JDK 11 происходит переход от мышления единственного поставщика (Oracle) к образу мышления, при котором вы выбираете поставщика, который предоставляет вам дистрибутив продукта на тех условиях, которые вам нравятся: платформы, для которых они создаются, частота и своевременность выпусков , как структурирована поддержка и т. д. Если вы не доверяете ни одному из существующих поставщиков, вы даже можете создать OpenJDK самостоятельно.
Каждая сборка OpenJDK обычно создается из одного и того же исходного исходного репозитория (OpenJDK «проект»). Однако каждая сборка уникальна - бесплатная или коммерческая, фирменная или небрендированная, чистая или связанная (например, BellSoft Liberica JDK предлагает связанный JavaFX, который был удален из сборок Oracle, начиная с JDK 11).
Если никакая среда (например, Linux) и / или требования к лицензии не определяют конкретный дистрибутив, и если вам нужна наиболее стандартная сборка JDK, то, вероятно, лучшим вариантом является использование OpenJDK от Oracle или AdoptOpenJDK.
Дополнительная информация
Пора выйти за рамки JDK Oracle, Стивен Коулборн
Java все еще бесплатна сообществом Java Champions (опубликовано 17 сентября, 2018)
Java все еще бесплатна 2.0.0, автор: Сообщество Java Champions (опубликовано 3 марта 2019 г.)
Алексей Шипилев об обновлениях JDK, интервью Opsian (опубликовано в июне 27, 2019)
person
Mikhail Kholodkov
schedule
20.09.2018