- PVSM.RU - https://www.pvsm.ru -
Вчера на Хабре был опубликован перевод поста «Не попадитесь в ловушку используя Oracle JDK 11» [1] с последующим обсуждением «платности Java», но не всё так страшно, как кажется на первый взгляд — ниже перевод публикации из блога Oracle с официальной позицией по лицензированию и распространению версий JDK 11+.
Начиная с Java 11, Oracle будет выпускать JDK под лицензией GNU General Public License v2, with the Classpath Exception (GPLv2+CPE) [2] и под коммерческой лицензией для тех, кто использует Oracle JDK как часть продуктов или сервисов Oracle, или кто не хочет использовать открытое программное обеспечение. Эта комбинация из OS-лицензии и коммерческой заменяет старую лицензию BCL [3] (Oracle Binary Code License), которая состоит из коммерческих и бесплатных условий использования.
Для каждой лицензии будут предоставляться отдельные сборки, но эти сборки будут идентичны функционально, кроме некоторых косметических различий и различий в способе упаковки бинарников, подробно описанных ниже.
Лицензия BCL для Oracle Java SE использовалась для лицензирования технологий Oracle Java SE более 10 лет. BCL при определённых условиях разрешает использование без лицензионных отчислений. Чтобы упростить дальнейшую работу, начиная с Java 9, Oracle начала предоставлять сборки OpenJDK под OS-лицензией, используемой платформой Linux (ядро Linux распространяется под лицензией GNU GPLv2). Если вы привыкли использовать бинарники Oracle Java SE бесплатно, вы можете просто продолжить делать это с бинарниками OpenJDK, доступными на jdk.java.net. Если вы привыкли использовать бинарники Oracle Java SE как часть коммерческих продуктов или сервисов Oracle, тогда вы можете продолжить получать релизы Oracle JDK через My Oracle Support [4] (MOS) или в других местах.
Oracle JDK, лизензируемый по BCL, исторически содержал «коммерческие функции», которые не были доступны в сборках OpenJDK. Как и было обещано, за последний год Oracle добавила эти функции в OpenJDK, включая:
Поэтому, начиная с Java 11 и выше, сборки Oracle JDK и OpenJDK будут по сути идентичными.
Остаётся небольшое количество различий, некоторые умышленные и косметические, а некоторые просто требуют больше времени на обсуждение с контрибьюторами OpenJDK.
-XX:+UnlockCommercialFeatures
, тогда как в OpenJDK эта опция приведёт к ошибке. Эта опция никогда не была частью OpenJDK, поэтому нет никакого смысла добавлять её, поскольку в OpenJDK нет коммерческих функций. Эта разница остаётся для того, чтобы пользователям Oralce JDK 10 или более ранних версий было проще перейти Oracle JDK 11 или более поздние версии.javac --release
ведёт себя по-разному для Java 9 и Java 10, поскольку в этих версиях Oracle JDK содержит некоторые дополнительные компоненты, которые не были частью соответствующих версий OpenJDK:
Это отличие остаётся для сохранения совместимости в некоторых случаях легаси. Эти модули теперь либо доступны отдельно как часть OpenJFX, либо присутствуют в OpenJDK и в Oracle JDK, потому что они были коммерческими функциями, которые Oracle добавила в OpenJDK, либо были удалены из Oracle JDK 11 (например, JNLP).
java --version
и java -fulversion
будет отличаться между сборками Oracle JDK и OpenJDK, чтобы команды поддержки могли диагностировать любые возникающие проблемы. В частности, запуск java --version
со сборкой Oracle JDK 11 выведет:java 11 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
И с OpenJDK 11:
openjdk version «11» 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
В идеале, мы бы могли ссылаться на все сборки Oracle JDK как на «Oracle JDK», либо под лицензией GPL или под коммерческой лицензией в зависимости от вашей ситуации. Однако по историческим причинам, пока присутствуют небольшие различия, мы будет ссылаться на них по отдельности: OpenJDK и Oracle JDK.
Автор: gnkoshelev
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/294263
Ссылки в тексте:
[1] перевод поста «Не попадитесь в ловушку используя Oracle JDK 11»: https://habr.com/post/424579/
[2] GNU General Public License v2, with the Classpath Exception (GPLv2+CPE): http://openjdk.java.net/legal/gplv2+ce.html
[3] BCL: https://java.com/license
[4] My Oracle Support: https://support.oracle.com/epmos/faces/MosIndex.jspx
[5] Java Flight Recorder: http://openjdk.java.net/jeps/328
[6] Java Mission Control: http://openjdk.java.net/projects/jmc/
[7] Application Class-Data Sharing: http://openjdk.java.net/jeps/310
[8] ZGC: http://openjdk.java.net/jeps/333
[9] Advanced Management Console: https://www.oracle.com/technetwork/java/javaseproducts/advanced-mgmt/advancedmanagementconsole-2254207.html
[10] Источник: https://habr.com/post/424725/?utm_campaign=424725
Нажмите здесь для печати.