Si hemos aprendido algo sobre Java en los últimos años, es que la forma de descargar el JDK ha cambiado bastante y, con ello, también las dudas sobre qué versión elegir. Si tenemos apuntes o cursos antiguos, seguramente nos digan que descarguemos el JDK de Oracle, pero el material más reciente nos advierte que no es necesario o incluso que puede no ser seguro. ¿Qué ha pasado para que exista tanta confusión?
Oracle es la empresa que controla Java, su desarrollo y roadmap, aunque originalmente Java fue creado por Sun, que Oracle compró hace años. Como cualquier empresa, Oracle busca obtener beneficios, y su modelo de negocio se basa en vender productos caros a grandes empresas. Durante mucho tiempo, descargar Java era tan sencillo como ir a la web de Oracle y bajarlo, pero esto cambió en 2017 con un nuevo modelo de distribución.
Lo curioso es que Oracle realmente tiene dos versiones de Java: el Oracle JDK y el OpenJDK. El OpenJDK es el producto base, un software de código abierto bajo licencia GPL que cualquiera puede descargar y usar. Oracle desarrolla el OpenJDK y luego lo compila y distribuye como Oracle JDK, añadiendo algunos extras pensados para grandes empresas, que suelen ser costosos.
Entre las versiones 11 y 17, descargar el JDK directamente desde Oracle requería una suscripción de pago, y hoy en día se recomienda evitar usar el Oracle JDK sin contrato porque sus términos de uso son algo ambiguos. Por ejemplo, la licencia permite usarlo para desarrollo y operaciones internas, pero no está claro qué significa exactamente esto en contextos empresariales, lo que podría llevar a problemas legales o demandas inesperadas.
Legalmente, Oracle no está haciendo nada ilegal, ya que la GPL permite vender software siempre que se distribuya el código fuente, y el OpenJDK cumple con esto. De hecho, el código fuente está disponible públicamente en GitHub. Sin embargo, para evitar complicaciones, existen múltiples implementaciones del OpenJDK que podemos usar sin problemas.
Una opción es descargar directamente el OpenJDK desde jdk.java.net, que es mantenido por Oracle pero sin branding. Esta versión es gratuita y bajo licencia GPL, pero tiene la particularidad de que cada seis meses sale una nueva versión y las anteriores dejan de recibir soporte, incluso las LTS. Esto obliga a actualizar constantemente para mantener las actualizaciones de seguridad, lo que puede ser poco práctico.
Por eso, muchas empresas y comunidades recompilan el OpenJDK y ofrecen sus propias distribuciones con soporte extendido y para múltiples plataformas. La opción más recomendada actualmente es Adoptium, antes conocido como Adopt OpenJDK, mantenido por la fundación Eclipse. Adoptium recompila el OpenJDK y ofrece soporte para versiones antiguas, parches de seguridad y versiones para diversas arquitecturas, incluyendo 32 bits en Windows. Por ejemplo, Java 8 sigue recibiendo actualizaciones en Adoptium, algo que no ocurre con versiones no LTS como la 16.
Microsoft también ofrece su propia compilación del OpenJDK, enfocada en versiones LTS como la 11 y la 17. Esta distribución es especialmente útil si trabajamos con productos de Microsoft o en la nube de Azure, ya que está optimizada para esa plataforma. Por ejemplo, Minecraft, propiedad de Microsoft, utiliza esta versión de Java. Sin embargo, Microsoft no publica versiones no LTS, por lo que no encontraremos versiones como la 19 o la 20 en su distribución.
Amazon tiene su propia versión llamada Amazon Corretto, que también recompila el OpenJDK y está pensada para integrarse con AWS. Aunque está orientada a la nube de Amazon, podemos descargarla y usarla en cualquier plataforma, incluyendo Windows y Mac, lo que facilita probar localmente la misma versión que usaremos en producción.
Red Hat también ofrece su propia compilación del OpenJDK, principalmente para entornos de nube Red Hat. Aunque no distribuye versiones para macOS, sí ofrece soporte para Windows y Linux, y mantiene versiones antiguas como OpenJDK 8, lo que puede ser útil en ciertos entornos empresariales.
Existen muchas otras versiones del JDK, algunas de pago, como las que ofrece Oracle en ciertos casos o las versiones profesionales de Azul, que prometen ser muy rápidas. Pero en general, salvo la versión básica de OpenJDK, estas distribuciones ofrecen soporte extendido y actualizaciones de seguridad durante varios años.
Cada fabricante decide qué versiones soportar, qué arquitecturas y sistemas operativos cubrir, y cuánto tiempo mantener el soporte. Por ejemplo, Red Hat no ofrece compilaciones para macOS, y Microsoft no mantiene versiones antiguas como OpenJDK 8.
Para no complicarnos, la recomendación es descargar Adoptium o, si queremos algo rápido y sencillo, el JDK oficial de Java desde jdk.java.net. Ambas opciones nos permiten instalar Java sin problemas y con soporte adecuado para la mayoría de proyectos.
Así, podemos elegir la distribución que mejor se adapte a nuestras necesidades, teniendo en cuenta el soporte, la plataforma y el entorno en el que trabajamos, sin preocuparnos por licencias confusas o costos inesperados.