En estricta teoría la base de Oracle JDK debe ser Open JDK, con lo cual las diferencias deberían ser mínimas, conforme evolucionen las versiones, como veremos a continuación:
En la versión 11 del JDK de Oracle hay unas cuantas diferencias con OpenJDK 11, a continuación listo algunas de ellas:
- Solo Oracle JDK ofrece Solaris y OpenJDK ofrece Alpine Linux.
- Oracle JDK ofrece instaladores para los diferentes sistemas operativos (msi, rpm, deb, etc.), mientas que OpenJDK solo proporciona un archivo comprimido .tar.gz o .zip
- Los binarios de Oracle JDK incluyen APIs que no se agregarón a OpenJDK, como javafx y administración de recursos.
- Oracle JDK requiere que los proveedores criptograficos de terceros, estén firmados con un certificado proporcionado por Oracle.
- Oracle JDK es lanzado bajo licencia OTN, mientras que OpenJDK será lanzado bajo la GPLv2wCP e incluirá la licencia GPL.
- El código fuente de Oracle JDK incluye la leyenda “ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. “, mientras que los archivos fuentes de OpenJDK incluyen GPL.
Sin embargo, Oracle en su sitio web ha especificado que los binarios de la nueva versión (versión 12), no deben de tener diferencias y deben de ser casi idénticos, y siempre se buscará que sean idénticos.
En éste articulo, comento algunas de las versiones disponibles de OpenJDK que hay en el mercado, y la versión que yo uso en mis ambientes productivos.