java 8 update 212 Desarrollo

El abismo de Java 11 también afecta a Java 8 update 212: ¿llega a su fin?

06/11/19 5 min. de lectura

Hace unos meses salió la actualización a Java 11 y viendo la situación como desarrollador, escribí el artículo: “¿El fin de Java se encuentra tras la versión 11?”.

Unos meses más tarde el escenario se puso más optimista y publiqué otro post: “Java 11 vuelve para quedarse”.

No lo dirías pero la situación ha empeorado, y aquí tienes la actualización sobre el tema.

Oracle ha actualizado, de nuevo, su licencia. Ahora en la web, cuando intentas descargar Java, se puede leer “The Oracle JDK License has changed for releases starting April 16, 2019.” Y te dirige a la nueva licencia en https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html.

Lo lees y te encuentras con la misma jerga legal de siempre, pero no menciona ninguna versión. Ahí está el truco. Porque aplica a todas las versiones desde el 16 de abril de 2019. ¿Y?

Afecta a Java 8. A cualquier versión superior a 1.8u202

Desde el 16 de abril de 2019 ha habido las siguientes actualizaciones:

¿Qué incluyen esas actualizaciones de Java 8?

Java 8u212 corrige los siguientes bugs:

  • JDK-8215364: JavaFX crashes on Ubuntu 18.04 with Wayland while using Swing-FX interop
  • JDK-8207070: Webstart app popup on wrong screen in a one-screen setup changing to multi-monitor
  • JDK-8189926: [Mac] Pulse timer should pause when idle
  • JDK-8210411: JavaFX crashes on Ubuntu 18.04 with Wayland
  • JDK-8211280: JavaFX build fails on Linux with gcc8
  • JDK-8213952: Relax DNSName restriction as per RFC 1123

No parecen muy importantes, ¿verdad? Salvo el último, el que está clasificado en “security-libs/ java security”. Vamos a investigar a que se refiere:

DNSName only accepts letters as the first character. RFC 1123 has relaxed that restriction:

RFC 1123, Section 2.1:


One aspect of host name syntax is hereby changed: the restriction on the first character is relaxed to allow either a letter or a digit. Host software MUST support this more liberal syntax

Original

No parece especialmente peligroso, hasta que lidias con un nombre DNS que empieza por un número. Pero la mayoría de las empresas pueden vivir con ello.

¿Qué hay de Java 8u221?

¡¡Tiene 55 correcciones de errores!! Listarlos todos sería muy tedioso, pero hagamos un resumen rápido:

  • 16 en  “client-libs” (1 general, 5 para el subsistema “2d”, 5 para “ava.awt” y 5 para “javax.swing”)
  • 10 en “core-libs” (1 para “java.net”, 1 para “java.util.stream” y  8 para “java.util:i18n”)
  • 4 en “hotspot” (1 para cada uno de “compiler”, “runtime” y “svc, svc-agent”)
  • 2 en “install
  • 13 en “javafx” (2 para “build”, 2 para “graphics”, 3 para “media”, 1 para “other” y para “samples”, 4 para “web”)
  • 1 en “xml
  • Y lo que más miedo da: 9 para “securitylibs”. Llegados a este punto no daremos una recomendación tajante pero parece que bastantes compañías podrían vivir con ello (JDK-8151225, JDK-8222137, JDK-8223499, JDK-8222136, JDK-8181594, JDK-8203228, JDK-8201317, JDK-8208648, JDK-8204909 y JDK-8193830)

Así que hemos revisado los bugs y podemos vivir con ellos, pero ¿recuerdas la famosa escena de la cuchara en Matrix? ¿Cuál es la realidad que se nos esconde? La verdad es que llegará el día en que haya un bug de seguridad que realmente ponga en peligro a tu empresa. Y hay que estar preparado.

Qué otras JDK tenemos disponibles:

¿Cómo se prepara uno para un bug de seguridad? Puedes elegir pagar a Oracle por soporte y usar su fix o puedes encontrar alguna otra compañía o recurso que te cubra las espaldas. Desde nuestro primer artículo hemos ampliado la información sobre las JDK disponibles:

ProveedorDistribución LibreActualizaciones ExtendidasSoporte ComercialURL
AdoptOpenJDKSiSiNohttps://adoptopenjdk.net/
Alibaba Dragonwell8 JDKSiSiNohttps://github.com/alibaba/dragonwell8/
Amazon – CorrettoSiSiNohttps://aws.amazon.com/es/corretto/
Azul ZuluSiSiSihttps://www.azul.com/downloads/zulu/
BellSoft LibericaSiSiSihttps://bell-sw.com/java.html
IBMNoNoSihttps://www.ibm.com/developerworks/java/jdk
jClarityNoNoSihttps://www.jclarity.com/adoptopenjdk-support/
OpenJDK UpstreamSiSiNohttps://adoptopenjdk.net/upstream.html
Oracle JDKSiNo*Sihttps://www.oracle.com/technetwork/java/javase/downloads
Oracle OpenJDKSiSiNohttps://jdk.java.net
OjdkbuildSiNoNohttps://github.com/ojdkbuild/ojdkbuild
RedHatSiSiSihttps://developers.redhat.com/products/openjdk/overview
SapMachineSiSiSihttps://sap.github.io/SapMachine

* No todas las versiones son LTS, Oracle decide bajo su propio criterio cuales serán LTS.

  • Distribución Libre: El software es público y está disponible para descargarlo y usarlo.
  • Actualizaciones Extendidas (Conocido como LTS – Long-term support – ): Tendrá actualizaciones públicas tras finalizar el ciclo general de 6 meses de vida.
  • Soporte Comercial: Algunos proveedores ofrecen actualizaciones y soporte gratuito y algunos con coste.

Si finalmente crees que Oracle es la solución que te encaja mejor, aquí puedes ver su lista de precios pública.

En conclusión

La foto de Java ha vuelto a cambiar, con Java 8 afectado se vuelve urgente tener una distribución segura, o pagar y continuar con Oracle.

Me encantaría contrastar con la opinión de James Gosling pero desde que se unió a AWS parece que no hace comentarios sobre los movimientos de Oracle.

Juan Tavira

Juan Tavira

Santander Global Tech

Especialista, arquitecto y friki multidisciplinar apasionado de todas las innovaciones. Esto es fácil de decir por uno mismo, pero cuando lo dicen mis compañeros informáticos, mis amigos geeks de los juegos e incluso mi mujer, algo de verdad tendrá ;-). Me gusta construir violines como hobby. En ocasiones veo código

 

Otros posts