В связи с недавним обновлением политики План поддержки Oracle Java SE (в частности, окончание бесплатных обновлений от Oracle после марта 2019 года) я искал альтернативы Oracle Java. Я обнаружил, что OpenJDK - альтернатива с открытым исходным кодом. И я нашел AdoptOpenJDK, теперь известно как Adoptium, что является предварительно созданный двоичный файл. Это озадачивает.
В чем разница между OpenJDK и Adoptium / AdoptOpenJDK?
Обновлять:AdoptOpenJDK изменил свое имя на Адоптиум как часть своего перейти в Фонд Затмения.
Difference between OpenJDK and AdoptOpenJDK
Первый предоставляет исходный код, другой предоставляет строит этого исходного кода.
Адоптиум из Фонд Затмения, ранее известный как AdoptOpenJDK, является лишь одним из нескольких поставщиков, распространяющих реализации платформы Java. Это включает:
Просмотрите эту мою блок-схему, которая поможет вам выбрать поставщика для реализации платформы Java. Щелкните / коснитесь для увеличения.
Другой ресурс: Эта сравнительная матрица от Azul Systems полезен и кажется мне правдивым и справедливым.
Вот список соображений и мотивов, которые следует учитывать при выборе поставщика и реализации.
Некоторые поставщики предлагают вам на выбор технологии JIT.
Чтобы узнать больше об этой экосистеме Java, прочтите Java по-прежнему бесплатна
@iCurious Попробуй еще раз. Не сломано для меня. Изображения находятся на специальном сайте компании Stack Exchange Imgur.com.
Если «OpenJDK» относится к источнику, то в чем разница между hub.docker.com/_/openjdk и hub.docker.com/_/adoptopenjdk?
@bcoughlan. Вам нужно будет спросить издателя этих двух продуктов: Docker, Inc. На ваших связанных веб-страницах указано, что второй поддерживается проектом AdoptOpenJDK, а первый поддерживается «Сообществом Docker». Первый вводит в заблуждение в использовании логотипа и наименования, поскольку может создать у вас впечатление, что проект OpenJDK создал его, что не так. Первый может даже нарушать пункт № 2 уведомления о товарном знаке, предоставленного OpenJDK, но я не поверенный.
Я очень ценю этот хорошо задокументированный ответ, но я могу перейти на веб-сайт OpenJDK и загрузить сборку OpenJDK. Их поддержка очень ограничена (ограниченные окна поддержки, ограниченные SLA поддержки), но достаточно хороша для многих пользователей. Я думаю, что AdoptOpenJDK - лучший выбор в любом случае, но этот ответ кажется неполным без подтверждения сборок OpenJDK. Для справки, я считаю этот документ поучительным и авторитетным в этом вопросе.
@SanderVerhagen Можете ли вы предоставить ссылку на эту страницу загрузки на сайте OpenJDK? Я не нахожу такого предложения. Я нашел ссылку на двоичные файлы Oracle OpenJDK JDK для Windows, macOS и Linux на другом веб-сайте: jdk.java.net. Этот сайт и его двоичные файлы для загрузки предоставляются сообществу Oracle, а не проектом OpenJDK. Как сказано в домашняя страница: Сборки Java Development Kit от Oracle. Я показываю этот продукт в виде второго пузыря в синей бочке моей блок-схемы в правом верхнем углу.
Я не говорю, что двоичные файлы OpenJDK создаются не Oracle, я считаю, что они есть (загрузите здесь). Я просто считаю, что это другой продукт, чем Oracle JDK (скачать здесь). (И «другой продукт» вполне может быть «в основном одними и теми же байтами, заключенными в другую лицензию».)
@SanderVerhagen Ваша ссылка ведет на другой веб-сайт, как я и подозревал, на вне OpenJDK. Сайт jdk.java.net/14 является частью нет веб-сайта OpenJDK и не является частью проекта OpenJDK. Другими словами, openjdk.java.net не является jdk.java.net. Снова посмотрите на два пузыря в верхней части синей бочки на моей блок-схеме. Продукт Oracle в верхнем левом углу - это их коммерческий продукт. Продукт Oracle в правом верхнем углу представляет собой бесплатную сборку под лицензией GPL - ваша ссылка ведет к этому конкретному продукту.
Достаточно справедливо насчет пузырей, но вы начинаете с того, что говорите: «Исходный код OpenJDK», я думаю, это вводит в заблуждение.
@SanderVerhagen Я подозреваю, что вас смущает название продукта. Слово «Java» является товарным знаком Oracle и может использоваться только с их разрешения. Поэтому большинство поставщиков не используют этот товарный знак. Вместо этого большинство поставщиков используют термин «OpenJDK» как часть своего наименования, а не «Java». Эти поставщики создают свои сборки из исходного кода, полученного из проекта OpenJDK. Проект OpenJDK предоставляет только исходный код, а не сборки, не установщики. Для сборки / установщика вы должны либо сделать свою собственную, либо получить ее у поставщика. Предлагаю прочитать Java по-прежнему бесплатна.
Вопрос касался OpenJDK, а не «проекта OpenJDK». Когда вы устанавливаете OpenJDK, скажем, используя apt-get install openjdk-11-jdk
, вы получаете двоичные файлы по бесплатной разрешающей лицензии. Это библиотеки OpenJDK для всех целей и задач, даже если они созданы Oracle. Java по-прежнему бесплатна, я не только прочитал эту статью, я дал ссылку на нее в своем первом ответе.
@SanderVerhagen Раздел 1 (a) Уведомление о товарном знаке OpenJDK позволяет третьим сторонам, таким как apt-get, использовать «Имя в именах пакетов и строках версий» двоичных файлов, построенных по существу из исходного кода, предоставленного проектом OpenJDK, при определенных условиях. Если под «бесплатным» вы имели в виду «бесплатный», это не обязательно тот случай, когда вы видите слово «openjdk» в названии. Я считаю, что для любого, кто приобретает программное обеспечение, такое как реализация Java, очень важно четко понимать его происхождение, лицензирование и условия.
Обновление: AdoptOpenJDK изменил свое имя на Адоптиум, как часть своего перейти в Фонд Затмения.