JDK Java 11
El JDK Java 11, Oracle proporcionará versiones de JDK bajo la licencia pública general GNU de código abierto v2, con la excepción Classpath (GPLv2 + CPE), y bajo una licencia comercial para aquellos que utilizan Oracle JDK como parte de un producto o servicio de Oracle. o que no deseen utilizar software de código abierto. Esta combinación de usar una licencia de código abierto y una licencia comercial reemplaza la licencia histórica "BCL", que tenía una combinación de términos comerciales gratuitos y de pago.
Se proporcionarán diferentes compilaciones para cada licencia, pero estas compilaciones son funcionalmente idénticas, aparte de algunas diferencias cosméticas y de empaque, que se describen en detalle a continuación.
De la BCL a la GPL
La licencia de código binario para las tecnologías Oracle Java SE ("BCL") ha sido la licencia principal para las tecnologías Oracle Java SE durante más de una década. La BCL permite el uso sin tarifas de licencia bajo ciertas condiciones. Para simplificar las cosas en el futuro, Oracle comenzó a proporcionar compilaciones OpenJDK con licencia de código abierto a partir de Java 9, utilizando el mismo modelo de licencia que la plataforma Linux. Si está acostumbrado a obtener binarios de Oracle Java SE de forma gratuita, simplemente puede continuar haciéndolo con las compilaciones OpenJDK de Oracle disponibles en jdk.java.net. Si está acostumbrado a obtener binarios de Oracle Java SE como parte de un producto o servicio comercial de Oracle, puede continuar obteniendo versiones de Oracle JDK a través de My Oracle Support (MOS) y otras ubicaciones.
Funcionalmente idénticos e intercambiables ...
El JDK con licencia BCL de Oracle contenía históricamente "características comerciales" que no estaban disponibles en las compilaciones de OpenJDK. Sin embargo, como se prometió, durante el año pasado, Oracle ha contribuido con estas características a la comunidad OpenJDK, que incluyen:
Grabadora de vuelo de Java,
Control de misión de Java,
Uso compartido de datos de clases de aplicaciones y
ZGC.
Desde Java 11 en adelante, por lo tanto, las compilaciones de Oracle JDK y las compilaciones de OpenJDK serán esencialmente idénticas.
... pero con algunas diferencias cosméticas y de empaque
Sigue habiendo una pequeña cantidad de diferencias, algunas intencionales y cosméticas, y otras simplemente porque se justifica más tiempo para discutir con los colaboradores de OpenJDK.
Oracle JDK 11 emite una advertencia cuando se usa la opción -XX: + UnlockCommercialFeatures, mientras que en OpenJDK esta opción genera un error. Esta opción nunca fue parte de OpenJDK y no tendría sentido agregarla ahora, ya que no hay características comerciales en OpenJDK. Esta diferencia se mantiene para facilitar a los usuarios de Oracle JDK 10 y versiones anteriores la migración a Oracle JDK 11 y versiones posteriores.
Oracle JDK 11 se puede configurar para proporcionar datos de registro de uso a la herramienta "Consola de administración avanzada", que es un producto comercial independiente de Oracle. Trabajaremos con otros colaboradores de OpenJDK para discutir cómo estos datos de uso pueden ser útiles en OpenJDK en versiones futuras, si es que lo son. Esta diferencia sigue siendo principalmente para brindar una experiencia consistente a los clientes de Oracle hasta que se tomen tales decisiones.
El comando javac --release se comporta de manera diferente para los destinos Java 9 y Java 10, ya que en esas versiones, Oracle JDK contenía algunos módulos adicionales que no formaban parte de las versiones correspondientes de OpenJDK:
javafx.base
javafx.controls
javafx.fxml
javafx.graphics
javafx.media
javafx.web
java.jnlp
jdk.jfr
jdk.management.cmm
jdk.management.jfr
jdk.management.resource
jdk.packager.services
jdk.snmp
Esta diferencia se mantiene para proporcionar una experiencia coherente para tipos específicos de uso heredado. Estos módulos ahora están disponibles por separado como parte de OpenJFX, ahora están tanto en OpenJDK como en Oracle JDK porque eran características comerciales que Oracle contribuyó a OpenJDK (por ejemplo, Flight Recorder), o se eliminaron de Oracle JDK 11 (por ejemplo, JNLP) .
La salida de los comandos java --version y java -fullversion distinguirá las compilaciones de Oracle JDK de las compilaciones de OpenJDK, de modo que los equipos de soporte puedan diagnosticar cualquier problema que pueda existir. Específicamente, ejecutar java --version con una compilación de Oracle JDK 11 da como resultado:
java 11 2018-09-25
Java (TM) SE Runtime Environment 18.9 (compilación 11 + 28)
Java HotSpot (TM) 64-Bit Server VM 18.9 (compilación 11 + 28, modo mixto)
Y para una compilación de OpenJDK 11:
versión openjdk "11" 2018-09-25
Entorno de tiempo de ejecución OpenJDK 18.9 (compilación 11 + 28)
OpenJDK 64-Bit Server VM 18.9 (compilación 11 + 28, modo mixto)
Oracle JDK 11 continuará incluyendo instaladores, marca y empaque JRE para una experiencia consistente con los usos de escritorio heredados. Las compilaciones de Oracle OpenJDK están actualmente disponibles como archivos zip y tar.gz, mientras que se están considerando formatos de distribución alternativos.
Referencias
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
https://www.oracle.com/java/technologies/javase-downloads.html#JDK16
Comentarios
Publicar un comentario