¿Cuál es la diferencia entre Azul OpenJDK, Zulu OpenJDK y OpenJDK?
En mi primera lectura, parece que esta nueva licencia hace que el uso de producción sea gratuito (junto con los usos de desarrollo, prueba y capacitación), excepto para los productos que se venden por una tarifa mientras se empaqueta el producto Oracle JDK . Pero no soy abogado, así que lea los términos usted mismo y consulte con el asesoramiento legal según sea necesario.
Tenga en cuenta que muchos otros proveedores continúan brindando implementaciones de las especificaciones de Java, como se muestra en el siguiente diagrama de flujo. Algunos de estos proveedores venden planes de soporte, ya sea de forma opcional o como requisito para el uso de su producto. Nunca asuma, siempre lea los requisitos detallados para cualquier distribución que obtenga.
Otra actualización de 2021: agregue Microsoft a la lista de proveedores que se muestra a continuación.
Java está definido por un conjunto de especificaciones , JSR y JEP , todas publicadas por Oracle.
Esas especificaciones se implementan en el código fuente que se encuentra en el proyecto OpenJDK .
Varios proveedores proporcionan compilaciones de ese código fuente. Algunos cobran dinero por esas construcciones y otros no.
Azul Systems es uno de esos proveedores, una empresa que ofrece múltiples implementaciones. Zulu Community es uno, proporcionado de forma gratuita. Zulu Enterprise es otro de sus productos, una oferta comercial. Zing es otro producto más de ellos, un JVM/JDK para necesidades especiales.
Tu preguntaste:
¿Hay alguna diferencia práctica entre Azul OpenJDK, Zulu OpenJDK y OpenJDK?
Si y no.
En primer lugar, OpenJDK solo proporciona código fuente . Por lo tanto, no puede usar OpenJDK para ejecutar aplicaciones Java. Primero debe compilar el código fuente de OpenJDK usted mismo para obtener ejecutables para su plataforma de host en particular, o debe confiar en que un proveedor haga una compilación por usted. Como se ve en el diagrama de flujo a continuación, hay varios proveedores de este tipo que crean compilaciones del código fuente de OpenJDK.
En cuanto a los productos de Azul Systems, no existe Azul OpenJDK ni Zulu OpenJDK que yo sepa. Azul ofrece múltiples productos, como se discutió anteriormente, pero ninguno de ellos con ese nombre.
El nombre Zulu se usa para 3 productos, las ediciones Community y Enterprise anteriores, además de Zulu Embedded para ejecutarse en recursos de hardware limitados. Como se explica en su sitio web, los tres son compilaciones del código fuente de OpenJDK.
Entonces, no, básicamente no hay diferencias prácticas, ya que todas son compilaciones de OpenJDK y se comportan de manera similar a la mayoría de cualquier otra compilación del código fuente de OpenJDK. Cualquier aplicación de escritorio, servidor o consola escrita para cumplir con las especificaciones de Java se ejecutará en Zulu Community y Zulu Enterprise .
Pero, sí, hay algunas diferencias en el sentido de que Azul agrega algunas funciones, como tener Flight Recorder y Mission Control retroportados a su versión Java 8 de los productos Zulu. Y Azul, como cualquier proveedor de JDK, se reserva el derecho de agregar un parche cuando sea necesario con urgencia para corregir un error crítico o una vulnerabilidad de seguridad sin esperar un lanzamiento en el código base de OpenJDK.
Y sí, existen grandes diferencias con el producto Zing de Azul, ya que está diseñado para necesidades especiales, como admitir grandes cantidades de memoria. Si bien supongo que este producto usa partes de OpenJDK, Zing funciona de manera bastante diferente para satisfacer esas necesidades especiales y al mismo tiempo cumple con las especificaciones de Java para poder ejecutar cualquier aplicación escrita en Java.
Otra diferencia práctica es que puede obtener servicios de soporte de Azul Systems para sus compilaciones. Varios de los proveedores brindan servicios de soporte para sus compilaciones. OpenJDK solo proporciona código fuente, sin soporte.
Por último, debo mencionar que Azul Systems es uno de los patrocinadores de AdoptOpenJDK , un proyecto para proporcionar (a) compilaciones de OpenJDK y (b) conjuntos de pruebas para el control de calidad .
Si tiene preguntas específicas sobre productos, debe estudiar el sitio web Azul.com y comunicarse con el departamento de ventas de Azul Systems. Solo hablo por mí mismo aquí, no estoy afiliado a esa compañía. En ocasiones he usado su producto Zulu Community , pero no los demás.
➥ Lea Java sigue siendo gratuito para comprender el ecosistema de Oracle, OpenJDK y los diversos proveedores de implementaciones de Java.
Aquí hay un diagrama de flujo que hice para ayudarlo a elegir un proveedor para una implementación de Java 11.
Comencemos con la divulgación completa, trabajo para Azul (lo que creo que me califica para responder la pregunta).
OpenJDK es un "... lugar para colaborar en una implementación de código abierto de la plataforma Java, Standard Edition y proyectos relacionados". Principalmente, aloja los repositorios de código fuente para las versiones de Java desde JDK 6. Sun abrió su implementación de JDK 7 en 2007, que fue como se originó OpenJDK. Posteriormente, se creó un proyecto para JDK 6 (que curiosamente está basado en JDK 7). Cada versión desde entonces ha sido desarrollada a través de OpenJDK.
Azul es una empresa que se especializa en productos Java y JVM.
Zulu es el nombre elegido para la distribución binaria del OpenJDK proporcionado por Azul. Esto viene en tres versiones:
En resumen, OpenJDK es el código fuente, Azul es la empresa y Zulu es la distribución binaria creada a partir de OpenJDK.