Java Is Still Free
Portuguese translation by @leomrlima
Spanish translation by @aalmiray et al
Con los recientes cambios en la distribución y soporte de Oracle JDK, ha surgido una considerable incertidumbre sobre los derechos para utilizar la distribución Oracle JDK vs. Oracle OpenJDK vs. distribuciones OpenJDK de otros proveedores. También hay planes en torno a actualizaciones gratuitas y modelos de soporte pagado (nuevos y existentes) disponibles de varios proveedores para ser considerados. Este documento tiene una Versión Corta y una Versión Extendida con todos los detalles.
Versión Corta
Todavía es posible obtener una distribución de Oracle JDK, Oracle OpenJDK y OpenJDK de otros proveedores de forma gratuita (la siguiente leyenda y el resto de la sección proporcionan los detalles sobre cada uno de estos términos). Esto se debe a que múltiples proveedores ofrecen implementaciones de la especificación Java SE.
Java SE / OpenJDK / Oracle OpenJDK / Oracle JDK
La comunidad OpenJDK crea y mantiene la implementación de referencia (RI) de código abierto (Open Source) (GPLv2 + CE) de la especificación Java SE gobernada por el Proceso de la Comunidad Java (Java Community Process o JCP por sus siglas en inglés) y definida a través de una solicitud de especificación Java (Java Specification Request o JSR por sus siglas en inglés) .
Existen otras implementaciones de Java SE de varios proveedores (como Azul, Eclipse, IBM, Red Hat, Oracle, SAP y otros), el más común entre ellas es Oracle JDK.
Oracle JDK 8 se está sometiendo al proceso de "Fin de actualizaciones públicas", lo que significa que ya no habrán actualizaciones gratuitas para uso comercial después de enero de 2019. Sin embargo, desde Java SE 9, Oracle también proporciona distribuciones de Oracle OpenJDK builds que son gratuitas para uso comercial, así como también hay distribuciones gratuitas de OpenJDK por parte de otros proveedores como AdoptOpenJDK, Azul, IBM, Red Hat, distribuciones de Linux, etc.
Los proveedores aseguran que su implementación cumple con todos los requisitos de la especificación Java SE al pasar todas las pruebas del Kit de Compatibilidad Tecnológica (Technology Compatibility Kit o TCK por sus siglas en inglés) relevante.
|
En el futuro, hay varias opciones para obtener una distribución del JDK. Nos centramos en Java SE 8 (que está pasando por el final del proceso de actualizaciones públicas como lo fue así en versiones anteriores) y Java SE 11, que es la primera versión con Soporte de Tiempo Extendido (Long Term Support o LTS por sus siglas en inglés) bajo la nueva cadencia de publicaciones.
Continuar usando Java SE 8
Algunos prefieren continuar usando Java SE 8 por varios motivos.
- Oracle continuará ofreciendo actualizaciones públicas de Oracle JDK 8 al menos hasta diciembre de 2020 para computadoras de escritorio de uso personal y enero de 2019 para uso comercial. Después de éstas fechas, los usuarios podrán pagar por un plan de soporte o usar distribuciones de Java SE 8 / OpenJDK 8 de algún otro proveedor.
- En todo caso, puede continuar usando Oracle JDK 8 indefinidamente pero sin actualizaciones.
- Los usuarios que no utilicen Oracle JDK 8, podrán obtener con su proveedor de Java SE 8 / OpenJDK 8 las actualizaciones y/o planes de soporte comercial.
JAVA SE 8 GRATIS, CUÁL ESCOGER?
Si desea tener actualizaciones de Java SE 8 después de enero de 2019, debe utilizar una distribución de OpenJDK de alguno de los proveedores de OpenJDK, como por ejemplo, AdoptOpenJDK, Azul, IBM, Oracle, Red Hat, entre otros.
|
Obtener Java SE 11 (LTS)
A continuación se describen las opciones para obtener JavaSE 11 (LTS), es importante remarcar que Oracle JDK cambiará a partir de Java SE 11.
- Oracle OpenJDK builds - Bajo la licencia de código abierto GPLv2+CE, y
- Oracle JDK - Bajo una licencia comercial (pero gratuita para desarrollo), para aquellos que no deseen hacer uso de la licencia GPLv2+CE, o que se encuentren usando Oracle JDK con algún otro producto o servicio de Oracle.
NOTA: Oracle planea proveer actualizaciones de Oracle OpenJDK durante dos trimestres y luego mover a los usuarios hacia la siguiente versión, cada 6 meses (esto incluye las versiones LTS).
- También se pueden obtener distribuciones de Java SE / OpenJDK de otros proveedores, como por ejemplo: distribuciones Linux, AdoptOpenJDK, Azul, IBM, Oracle, Red Hat, y otros. Esto incluye actualizaciones por algún tiempo, dependiendo si es una versión LTS o no.
JAVA SE 11+ GRATIS, CUÁL ESCOGER?
|
Soporte Comercial
Oracle planea proveer soporte comercial de Oracle JDK 8 hasta al menos 2025 y de Oracle JDK 11 hasta al menos 2026 (detalles aquí). Hay un amplio rango de opciones de soporte comercial de Java SE / OpenJDK 8 y 11 por parte de Azul, IBM, Red Hat, y otros.
Esta página se ha dejado deliberadamente en blanco para separar la versión corta de la extendida.
La Versión Extendida
Esta sección contiene todos los detalles ampliados de la sección Versión Corta de este documento.
También nos gustaría agradecer a Simon Ritter, Stephen Colebourne, Hendrik Ebbers, Donald Smith, Jonas Konrad y muchos otros por sus publicaciones anteriores y el permiso para reutilizar su material. El Apéndice I: Signatarios, Agradecimientos y Referencias proporciona una lista completa de acreditaciones y personas que son signatarias de este documento.
¡Todos los comentarios son bienvenidos! Use este enlace donde puede hacer ediciones y comentarios sugeridos.
Bitácora de Cambios
Este documento será actualizado con el tiempo a medida que nueva información salga a la luz o si hay una corrección verificada a los datos presentados. Retorne a éste documento para ver las actualizaciones y / o siga nuestra cuenta en Twitter: @Java_Champions.
Version
|
Date
|
Comments
|
1.0.0
|
17 Sept 2018 1100 GMT
|
Publicación Inicial
|
TBD
|
TBD
|
TBD
|
Diseminación
La siguiente hoja rastrea la diseminación conocida de este documento. Se recomienda actualizar dicha hoja si el documento es compartido.
Tabla de Contenidos
Versión Corta
Continuar Usando Java SE 8
Oracle JDK / OpenJDK 8, 11 Fin de las actualizaciones públicas de Oracle JDK / OpenJDK 8, 11
Apéndice I: Signatarios, Agradecimientos y Referencias
Introducción
Con los recientes cambios a la distribución y soporte de Oracle JDK, existe una considerable incertidumbre acerca del futuro de Java, acerca del ciclo de vida del software, y acerca del soporte provisto por los proveedores. Este documento resume los cambios que está realizando Oracle y las diferentes opciones disponibles para los usuarios de Java SE.
Estos cambios que han ocurrido en poco tiempo, han creado una tormenta de incertidumbre donde aquellos desarrolladores que no siguen de cerca las noticias de la industria, se ven atrapados en ella. Esto lleva a publicaciones objetivamente incorrectas como:
Que afortunadamente se compensan con publicaciones más precisas como:
- Donald Smith (Senior Director, Java Platform Product Management - Oracle) - Update and FAQ on the Java SE Release Cadence
- Simon Ritter (CTO Delegado - Azul) - Eliminating Java Update Confusion
- Hendrik Ebbers (Co-fundador de Karakun) - Do I need to pay for Java now?
Este artículo cubrirá las principales áreas de preocupación y lo que se está haciendo sobre éstas por parte del ecosistema. Al final de esta publicación, el lector estará convencido de que Java SE sigue siendo bien cuidado y que tiene un futuro más fuerte que nunca.
La Nueva Cadencia de Lanzamientos Cada 6 Meses y LTS
Java SE ahora realiza lanzamientos cada 6 meses, utilizando un nuevo esquema de versiones que se anunció previamente en 2017. Gracias a las mejoras en los procesos del JCP, contribuidores a OpenJDK ahora pueden introducir cambios en las características de la especificación JavaSE (como var en Java SE 10) cada 6 meses.
QUE SIGNIFICA LTS RESPECTO A JAVA / OPENJDK?
El soporte a largo plazo (LTS) en OpenJDK es solo un acuerdo entre los diversos contribuidores (liderados por Oracle) de que la línea de código para Java SE 11/17/23, etc. se mantendrá durante un período de tiempo más largo de 6 meses.
Oracle liderará los primeros 6 meses de una línea de código OpenJDK LTS, proporcionando actualizaciones y produciendo Oracle OpenJDK builds, para después proporcionar solamente actualizaciones para Oracle JDK, bajo un plan de soporte comercial.
Sin embargo, Oracle trabajará con otros proveedores de OpenJDK haciendo el paso de estafeta del código OpenJDK LTS y les permitirá continuar trabajando juntos para proporcionar actualizaciones. Cada proveedor tiene entonces la opción de proporcionar actualizaciones y / o soporte comercial para los binarios que ellos mismos produzcan.
NOTA: Esto significa que el Oracle JDK podría diferir de los binarios basados en OpenJDK producidos por otros proveedores (este ha sido siempre el caso). Dicho esto, siempre que los binarios pasen el TCK puede estar seguro de que esos binarios son compatibles con el estándar Java SE.
|
Comprender el nuevo esquema de control de versiones (incluyendo lo que significa LTS) y cómo se introducen las nuevas características afecta la forma en que se mantiene cada versión. Por mantenimiento, nos referimos a la provisión de versiones de actualización con parches de seguridad e importantes correcciones de errores.
ACTUALIZACIONES vs SOPORTE
Las actualizaciones se refieren a los parches de código que se han incluido en OpenJDK y Oracle JDK. Por lo general, estos han sido gratuitos, hasta que los proveedores decidan que hay un Fin de Actualizaciones Públicas.
El soporte significa un compromiso para corregir errores y requiere que el personal responda a los problemas de los usuarios, y eso cuesta dinero. Siendo claros, nunca ha habido soporte gratuito para Oracle JDK o OpenJDK.
|
Hasta OpenJDK 8 / Oracle JDK 8 inclusive, Oracle y otros contribuidores de OpenJDK proporcionaron actualizaciones dentro de una "publicación feature". Dichas publicaciones, como 8u91, 8u111 y 8u131 (en una cadencia de 6 meses) fueron reemplazadas por cada publicación posterior. Por ejemplo, una vez que se lanzó 8u111 no se realizaron actualizaciones para 8u91.
Comenzando con OpenJDK 9 / Oracle JDK 9, el nuevo ciclo de publicación semestral entró en vigencia y ahora las actualizaciones se producen entre "publicaciones feature", es decir, similares a 8u91 -> 8u111, una vez que se lanze 12, no se recibirán actualizaciones de 11 por parte de Oracle (Sin embargo, otros contribuidores de OpenJDK, probablemente liderados por Red Hat, los proporcionarán).
Plan de Actualizaciones de Oracle
Hasta Java 8, Oracle proporcionó actualizaciones de Oracle JDK para un ciclo de vida de más de 3 años, permitiendo el uso tanto en ambientes personales como comerciales. Las actualizaciones se proporcionaron sin soporte alguno, y el soporte requirió la compra de licencias explícitas de Oracle. El soporte comercial también conllevaba ciclos de actualización más largos.
A partir de Java 9, Oracle comenzó a usar una cadencia más rápida para lanzamientos Oracle JDK y también comenzó a producir Oracle OpenJDK builds. Las actualizaciones generalmente se proporcionarán durante 6 meses antes de que se detengan al momento de la publicación de la próxima versión. Si se requieren actualizaciones/soporte con una duración más larga, o para uso en producción, entonces debe comprarse una licencia de Oracle (es decir, debe estar en Oracle JDK). Periódicamente, las versiones se marcarán como "LTS". Estos lanzamientos serán soportadas por Oracle a través de sus licencias de soporte estándar por un período prolongado. Al momento de escribir este artículo, el plan de actualización de Oracle para Oracle OpenJDK builds, es el siguiente:
Versión Oracle OpenJDK Build
|
Fecha de Lanzamiento
| |
8
|
Marzo 2014
|
Al menos hasta enero 2020 (uso personal de escritorio)
Uso comercial finaliza en enero 2019
|
9
|
Sept 2017
|
Reemplazado por Oracle OpenJDK build 10
|
10
|
Marzo 2018
|
Será reemplazado por Oracle OpenJDK build 11 en septiembre 2018
|
11
|
Sept 2018
|
Será reemplazado por Oracle OpenJDK build 12 en marzo 2019 (con posibilidad de extensión).
|
12
|
Marzo 2019
|
Para ser reemplazado por Oracle OpenJDK build 13
|
13
|
Sept 2019
|
Para ser reemplazado por Oracle OpenJDK build 14
|
La idea es simple. Tal como era el modelo de Java SE en la época de Sun, Oracle se centra en las nuevas innovaciones y en el avance de Java SE. Las organizaciones que desean permanecer en versiones antiguas pueden hacerlo a través de ofertas de soporte comercial. Por supuesto, para algunos usuarios de Java SE y empresas de desarrollo, dicha actualización rápida no es factible.
Plan de Actualizaciones de OpenJDK
La comunidad OpenJDK trabaja en una implementación gratuita y de código abierto del estándar Java SE. Oracle contribuye en gran medida a este proyecto, y es la base para Oracle JDK y Oracle OpenJDK builds. OpenJDK 11+ es intercambiable con Oracle JDK para las aplicaciones que se adhieren al estándar Java SE y utilizan una liberación que ha sido probada contra el TCK. Oracle continuará contribuyendo a OpenJDK mientras proporciona actualizaciones para la versión Oracle OpenJDK build correspondiente. Una vez que esa versión sea reemplazada, Oracle dejará de contribuir a esa versión y comenzará a actualizar la siguiente.
Oracle se ha comportado de manera muy receptiva a la idea de mantenimiento comunitario (para OpenJDK 6 y 7) y continuará apoyando el traspaso de OpenJDK a la comunidad a una entidad de voluntariado calificada una vez que Oracle comience a trabajar en la siguiente versión. Red Hat intervino para dirigir globalmente (y proporcionar actualizaciones regulares) los proyectos OpenJDK 6 y OpenJDK 7 después de que Oracle finalizó las actualizaciones para dichos proyectos. Después de que Red Hat dejó de actualizar OpenJDK 6, Azul Systems intervino para liderar el proyecto y continúan proporcionando actualizaciones hasta el día de hoy.
Red Hat tiene la intención de solicitar el liderazgo de OpenJDK 8 después de que Oracle deje de actualizarlo en enero 2019. Es importante tener en cuenta que, aunque Red Hat lidera los proyectos OpenJDK 6 y 7, no son los únicos contribuyentes. Otros proveedores también ofrecen parches y correcciones de vez en cuando. Con OpenJDK 8, habrá más contribuciones que nunca antes por parte de compañías como Amazon, Azul, IBM y otros.
Por coherencia, el ciclo de actualización de OpenJDK se extenderá para las mismas versiones que se consideren LTS de Oracle JDK. Al momento de escribir este artículo, el ciclo de soporte de OpenJDK es el siguiente:
NOTA: Las fechas propuestas están sujetas a cambios y dado que los proveedores presentan ligeras diferencias de tiempo en sus compromisos, usamos el término "Por lo menos".
Versión
|
Fecha de Lanzamiento
| |
OpenJDK 6
|
Respaldado principalmente por Azul Systems
| |
OpenJDK 7
|
Por lo menos hasta junio 2020 respaldado principalmente por Red Hat
| |
OpenJDK 8
(LTS)
|
Marzo 2014
|
Por lo menos hasta septiembre 2023. Red Hat liderará después de enero 2019, y contará con el respaldo de Amazon, Azul Systems, IBM y otros.
|
OpenJDK 9
|
Sept 2017
|
Reemplazado por OpenJDK 10
|
OpenJDK 10
|
Marzo 2018
|
Será reemplazado por OpenJDK 11 en Septiembre 2018
|
OpenJDK 11 (LTS)
|
Sept 2018
|
Por anunciar, pero comparable a los ciclos de vida largos de OpenJDK 6/7/8
|
OpenJDK 12
|
Marzo 2019
|
Será reemplazado por OpenJDK 13
|
OpenJDK 13
|
Sept 2019
|
Será reemplazado por OpenJDK 14
|
Proveedores de Java SE / OpenJDK
Ahora existe una gran cantidad de proveedores Java SE / OpenJDK que proporcionan actualizaciones y/o opciones de soporte comercial. Las siguientes secciones proporcionan muchos detalles, si prefiere una lectura más corta, la publicación Opciones para Java SE 11 (en inglés) de Stephen Colebourne ofrece un resumen.
ACTUALIZACIONES vs SOPORTE
Las actualizaciones se refieren a los parches de código que se han incluido en OpenJDK y Oracle JDK. Por lo general, estos han sido gratuitos, hasta que los proveedores decidan que hay un Fin de Actualizaciones Públicas.
El soporte significa un compromiso para corregir errores y requiere que el personal responda a los problemas de los usuarios, y eso cuesta dinero. Siendo claros, nunca ha habido soporte gratuito para Oracle JDK o OpenJDK.
|
Por qué Escoger Soporte Comercial?
Si necesita una solución de manera oportuna, alguien que responda a sus peticiones como usuario, o si desea la tranquilidad de que el binario que utiliza está respaldado por un proveedor, entonces Azul, IBM, Red Hat, Oracle y otros le ofrecen distintas opciones.
UNA RAZÓN FILOSÓFICA QUE JUSTIFICA EL PAGO POR CÓDIGO ABIERTO
La industria en general ha resuelto que el código abierto es el camino a seguir. Debido a su naturaleza de "libertad", las licencias de OSS permiten a las personas modificar y adaptar el software de otras personas sin temor a acciones punitivas.
Muchas personas también disfrutan de la naturaleza "gratuita" del software de código abierto, ¡Pero esto tiene un gran costo para los autores! Los desarrolladores de software, como cualquier otro, necesitan poner un techo sobre sus cabezas y comida en su mesa. Los proveedores como Oracle invierten grandes sumas de dinero en Java SE (alrededor de decenas de $ millones por año como mínimo) y de alguna manera tienen que pagar ese costo.
Así que, aunque ciertamente no está obligado a utilizar una opción de soporte comercial con uno de los proveedores, a veces vale la pena pensar en cómo usted, los usuarios finales, pueden respaldar el ecosistema Java SE para garantizar que tenga un futuro duradero.
|
Reseña de Proveedores
Construirlo Directo desde la Fuente
Implica crear una distribución por cuenta propia, basada en la fuente canónica de OpenJDK [OpenJDK, sin soporte comercial, requiere esfuerzo propio]:
Distribuciones Binarias Gratuitas
Distribuciones gratuitas para Linux, Windows, Mac, etc. [OpenJDK, sin soporte comercial]:
- Azul Zulu (Actualizaciones gratuitas por 6 meses)
- Distribuciones de Linux
- Oracle OpenJDK builds - GPLv2+CE binary distribution (Actualizaciones gratuitas por 6 meses)
Distribuciones con Soporte Comercial
Incluye soporte comercial [cumplen con Java SE]:
Azul Systems [basado en OpenJDK]:
IBM [basado en OpenJDK + Eclipse OpenJ9 VM]:
Oracle JDK [basado en OpenJDK]:
Red Hat [basado en OpenJDK]:
Distribuciones Linux
Las diversas distribuciones de Linux continuarán proporcionando OpenJDK para sus respectivas distribuciones, que incluyen pero no se limitan a Debian, Ubuntu, CentOS, Fedora, Mint, Alpine et al.
Opciones de Soporte
Las distribuciones Linux normalmente no ofrecen soporte comercial (la excepción siendo Red Hat para OpenJDK en RHEL).
Enlaces Importantes
Por favor visite la página de inicio de la distribución particular para obtener más información.
AdoptOpenJDK
AdoptOpenJDK proporciona distribuciones binarias OpenJDK (HotSpot y Eclipse OpenJ9) para una amplia gama de plataformas (Linux, Mac, Windows 32/64, Arm 32/64, z / OS, Solaris, AIX, PPC, s390 y más).
Opciones de Soporte
- AdoptOpenJDK no ofrece soporte comercial. Simplemente proporciona binarios creados bajo un riguroso procesos de pruebas (algunos de los cuales cubren el TCK) de los proyectos OpenJDK y Eclipse OpenJ9.
- IBM ofrece soporte comercial para distribuciones binarias de OpenJDK (con Eclipse OpenJ9 VM) construídas en AdoptOpenJDK.
Enlaces Importantes
- Página oficial de AdoptOpenJDK
Azul
Azul proporciona distribuciones binarias de OpenJDK (Zulu), así como una plataforma especializada de Java (Zing).
Opciones de Soporte
Azul ofrece una opción para todas las empresas que no desean omitir todas las versiones de Java SE entre lanzamientos de LTS, pero que no pueden cambiar a la versión más nueva cada 6 meses. Adicionalmente al soporte de todas las versiones de LTS, donde Azul brinda un año más de soporte que Oracle, Azul ofrece soporte para las así llamadas versiones de Soporte de Mediano Plazo (Medium Term Support o MTS por sus siglas en inglés) para Zulu JDK. Puede obtener soporte comercial para cada segunda versión de Java SE independientemente de si es LTS o no. La duración de soporte de estas versiones es diferente. Azul intenta proporcionar un buen intervalo de tiempo para preparar una migración a la próxima versión y define 3 duraciones diferentes para el soporte de las versiones Java SE.
Debido a que Zulu es una distribución de Java SE que orientada a aplicaciones en servidores, Azul no proporciona ningún modelo compatible para Java SE en computadoras de escritorio. A diferencia de Oracle, el soporte comercial de Zulu no está definido por CPU, sino en función del número de sistemas. Un sistema se define como un servidor físico o virtual. La única diferencia entre el soporte estándar y premium es la disponibilidad del soporte. Al comprar soporte premium puede llamar a Azul 24x7.
Enlaces Importantes
IBM
IBM proporciona paquetes JDK nativos para AIX, Linux (en x86, Power, zSystems), z/OS e IBM i. IBM ofrece las versiones de IBM SDK para Java SE para uso con productos o plataformas de IBM y para el uso de desarrolladores de developerWorks. IBM también proporciona binarios OpenJDK (con Eclipse OpenJ9) creados y probados en AdoptOpenJDK.
Opciones de Soporte
Para Java SE 7 y 8, IBM aún proporciona actualizaciones de seguridad y correcciones de errores. El Ciclo de Vida de Soporte IBM continuará siendo actualizado. Basado en el nuevo esquema de lanzamientos de Java SE, IBM ha anunciado que las versiones no LTS estarán disponibles como OpenJDK con los binarios OpenJ9 de AdoptOpenJDK.
Enlaces Importantes
Oracle
Opciones de Soporte
En junio de 2018, Oracle reemplazó su antiguo producto de soporte de licencia perpetua “Java SE Advanced” por una oferta basada en suscripción que incluye licencia y soporte. Una de estas ofertas se orienta a Java SE en el escritorio y la otra a Java SE en el servidor, la nube y Java SE en general. Si no utiliza Java SE en el escritorio, la “Java SE Subscription” será el modelo de soporte adecuado para usted. Si utiliza Java SE en el escritorio para aplicaciones cliente, el producto “Java SE Desktop Subscription” está disponible. Si su software utiliza un servidor Java SE y clientes basados en Java SE, puede suscribirse a ambas ofertas.
El soporte comercial para las aplicaciones Java SE en el escritorio puede ser bastante importante para algunas empresas ya que Oracle eliminará varias características importantes del JDK comenzando con Java SE versión 11. Si está utilizando Java SE en el escritorio, recomendamos ampliamente leer lo siguiente artículos:
Enlaces Importantes
Red Hat
Red Hat produce binarios OpenJDK para varias plataformas en las que se ejecuta Red Hat Enterprise Linux.
Opciones de Soporte
Red Hat no proporcionará versiones de Java SE 9 y 10. La próxima distribución que Red Hat planea lanzar es OpenJDK 11 para Red Hat Enterprise Linux 7 (RHEL por sus siglas en inglés.). Actualmente, Java SE 8 es la versión compatible para Red Hat Enterprise Linux y la compañía le dará soporte hasta el 2023.
Enlaces Importantes
Java Desktop / Java Web Start / JavaFX
Hay una serie de cambios con Desktop Java SE comenzando con Oracle JDK 11 que debe tener en cuenta.
JavaFX / OpenJFX
A partir de Java SE 11, tanto los binarios Oracle JDK y las Oracle OpenJDK builds no incluirán los binarios de JavaFX. Los componentes de JavaFX estarán disponibles como un SDK separado, o como artefactos que se pueden usar a través de herramientas de compilación (por ejemplo, Apache Maven, Gradle et al.). Como consecuencia positiva de este desacoplamiento, el desarrollo de JavaFX ahora puede tener su propio calendario de lanzamientos y plan de características.
JavaFX se sigue desarrollando en OpenJFX, que es un proyecto en auspicio de la comunidad OpenJDK. Oracle, otras empresas y personas de la comunidad están desarrollando activamente JavaFX. También se creó un repositorio espejo en GitHub sincronizado automáticamente, lo que reduce la barrera para que los desarrolladores contribuyan con código y reporte de problemas a JavaFX.
Por el momento, lanzamientos para OpenJFX solo las proporciona la empresa Gluon. Otras entidades e individuos pueden crear o distribuir binarios también dado que todo el código fuente OpenJFX es 100% abierto. En OpenJFX, se sigue un enfoque similar al de OpenJDK, donde después de lanzar JavaFX 11, el foco está en JavaFX 12, y así sucesivamente. Se recomienda a los desarrolladores y usuarios de JavaFX que utilicen la versión más reciente de OpenJFX.
Java Packager
El binario javapackager, que permite agrupar aplicaciones y sus dependencias con un subconjunto de la JVM, ya no forma parte de OpenJFX y se elimina de Oracle JDK y Oracle OpenJDK builds a partir de Java 11. Se envió una Propuesta para Mejoras Java (Java Enhancement Proposal o JEP por sus siglas en inglés) para agregar una herramienta de empaquetado para OpenJDK. Si bien la nueva Java Packaging Tool no estará lista para la versión de Java 11, Gluon está trabajando en una herramienta que permita que las aplicaciones de Java 11 se empaqueten en imágenes nativas.
Java WebStart
Si está utilizando la tecnología Java Web Start para distribuir clientes de escritorio, debe ocuparse de la situación actual lo más rápido posible, ya que Oracle ha eliminado Web Start de Java.
- IcedTea-Web es una alternativa que puede usar
- IBM apoyará OpenJDK con binarios OpenJ9 con IcedTea-Web
- Los lanzamientos comunitarios de Red Hat incluyen un instalador de IcedTea-Web simplificado (ojdkbuilts)
FAQ
Reconocemos que la publicación anterior puede no tener la información explicada de manera que responda su pregunta de manera exacta. Por ello proporcionamos un FAQ (Frequently Asked Questions)
Variantes OpenJDK vs Cada Una vs Oracle JDK
Q. ¿Cuáles son las diferencias entre OpenJDK, Oracle OpenJDK y Oracle JDK?
Hablaremos sobre versiones de Java 11+ LTS solamente en este punto. Las versiones Oracle JDK y Oracle OpenJDK son idénticas, pero tienen licencia de diferentes maneras (comercial y GPLv2 + CE, respectivamente).
Oracle JDK / Oracle OpenJDK builds y OpenJDK builds de otros proveedores se construirán desde la misma fuente durante los primeros 6 meses de actualizaciones y deben ser intercambiables para ese período. Después de 6 meses, Oracle JDK / Oracle OpenJDK builds se construirán desde la propia copia (fork) de Oracle. Otros proveedores OpenJDK continuarán creando binarios del proyecto de actualizaciones OpenJDK. Oracle JDK / Oracle OpenJDK y OpenJDK builds de los otros proveedores pueden por lo tanto diferir en pequeñas formas. Los binarios de varias partes pueden, por supuesto, variar con el tiempo.
Q. ¿Cuáles son las diferencias entre la actualización de OpenJDK de proveedor A versus la de proveedor B?
Hablaremos sobre lanzamientos LTS solamente en este punto. Como ha sido el caso con los proyectos de actualizaciones de Java SE 6 y Java SE 7, varios proveedores trabajan juntos en la comunidad OpenJDK, la cual proporciona repositorios comunes, listas de correo e infraestructura diversa para compartir el trabajo. Esto significa que la diferencia entre los binarios basados en OpenJDK son en su mayoría funciones no esenciales, como monitoreo extendido y soporte de diagnóstico. Aunque puede haber pequeñas diferencias en los archivos binarios finales (tal vez una herramienta específica del proveedor, etc.) todos tendrán al menos la misma línea de base de seguridad y estabilidad, tal y como ha sucedido durante muchos años.
Oracle JDK / OpenJDK 8, 11 Fin de las actualizaciones públicas de Oracle
Con el fin de las actualizaciones públicas de Oracle JDK 8 y 11 que se realizarán próximamente, algunas personas no tienen claro el tema de las ramificaciones:
Q. Si permanezco en Oracle JDK 8 / 11, ¿ tengo que pagar para obtener seguridad y corrección de errores?
Con Oracle JDK 8, si es de uso personal, en escritorio, la respuesta es no. Para uso comercial después de enero de 2019, entonces sí. Para las compilaciones Oracle OpenJDK que comienzan con Java SE 11, después de los 6 meses iniciales de actualizaciones, la respuesta es sí.
Q. Si permanezco en OpenJDK 8/11, ¿tengo que pagar para obtener seguridad y corrección de errores?
No necesariamente. Como fue el caso de Java SE 6 y Java SE 7, Oracle trabaja con la comunidad OpenJDK para hacer la transición del liderazgo de los proyectos de actualización de OpenJDK a otros contribuyentes. Esto funcionó bien durante más de una década. Es muy probable que Red Hat continúe con este liderazgo en las actualizaciones de OpenJDK 8 y OpenJDK 11 con la ayuda de Oracle y otras partes. Esto significa que los parches importantes serán selectivamente respaldados. Luego se tiene la opción de tomar binarios basados en OpenJDK de una variedad de proveedores de forma gratuita, o como parte de una oferta de soporte pagado. En particular, existe un grupo de vulnerabilidad OpenJDK que se ocupa de exploits de 0 días así como Brechas y Vulnerabilidades Comunes (Common Vulnerabilities and Exposures o CVE for sus siglas en inglés), garantizando que las correcciones se eliminen lo más rápido posible.
Q. ¿La versión JDK 8 y 11 aún estarán disponibles para descarga (ultimo release público)? Por ejemplo, ¿qué pasa, si hay una compañía que tiene un software que se ejecuta solamente con Oracle JDK 8 y aprovisiona una nueva máquina después de Enero del 2019?
Aún se podrá descargar versiones antiguas del Oracle JDK hasta el punto cuando las actualizaciones públicas sean detenidas. No hay razón para esperar que estas versiones sean eliminadas. Oracle JDK 8 seguirá siendo gratuito para uso personal de escritorio hasta al menos el 2020.
Q. ¿Se necesitará comprar una licencia de Oracle para descargar / ejecutar Oracle JDK 8/11 para uso comercial y actualizaciones después de Enero del 2019?
El Oracle JDK continuará siendo gratuito para descarga y se puede usar libremente para desarrollo, pruebas, y demos. Sin embargo, si se desea desplegar este en un entorno de producción, se necesitará pagar por una "Java SE Subscription". Se seguirá como es usual el proceso de “Fin de las actualizaciones públicas” que ha estado en practica durantes más de una década. Además, hay que tener en cuenta que Oracle JDK 8 seguirá siendo gratuito para uso personal en escritorio por lo menos hasta el 2020.
Q. ¿Si alguien está usando Oracle JDK para ejecutar software comercial, después de Enero del 2019 necesitará comprar una licencia?
No. El usuario puede continuar usando Oracle JDK 8 indefinidamente sin pago alguno. El único costo es si se desea obtener actualizaciones posteriores a enero del 2019, en cuyo caso se deberá comprar una “Oracle Java SE Subscription”.
Q. ¿Qué pasará con Oracle Java Web Start después de Enero del 2019? ¿Seguirá funcionando y/o en qué punto habrá que comprar una licencia?
Como Java Web Start es parte de Oracle JDK 8, este continuará funcionando y podrá ser usado indefinidamente sin costo. Como se indicó anteriormente, si se necesita actualizaciones (corrección de errores y parches de seguridad) se deberá comprar una "Java SE Subscription". Si tus usuarios finales son consumidores, ellos estarán cubiertos de forma gratuita hasta el 2020, ya que Oracle JDK 8 seguirá siendo gratuito para uso personal en escritorio, al menos, hasta finales del 2020. Oracle ha declarado que continuará brindando soporte (es decir, proporcionará actualizaciones comerciales) para Java Web Start hasta marzo del 2025.
Existe también IcedTea-Web como alternativa y Karakun, está trabajando en un reemplazo para Web Start.
Apéndice I: Signatarios, Agradecimientos y Referencias
Un agradecimiento especial a las siguientes personas que abrieron camino con sus publicaciones anteriores en blogs y artículos en línea. Muchos de los enlaces y el material en este documento fueron copiados y cotejados (con permiso) de estas fuentes.
- Java Champions - Un cuerpo comunitario de expertos en Java
- Simon Ritter (Deputy CTO - Azul) - Eliminating Java Update Confusion
- Hendrik Ebbers (Co-fundador Karakun) - Do I need to pay for Java now?
- Johan Vos (Co-fundador Gluon) - JavaFX Release and Support Plans
- Martijn Verburg - Autor Principal / Facilitador de éste documento
- Y muchos más!
- Oracle via Donald Smith (Director Senior de Product Management)
- Otras personas notables
- Jonas Konrad - Java Support
Las siguientes personas del ecosistema de Java respaldan este documento como un registro justo y equilibrado del estado de Java SE / OpenJDK y planes para actualizaciones gratuitas y / soporte comercial.
Person
|
Credentials
|
Martijn Verburg
|
AdoptOpenJDK co-lead, Java Champion, London JUG Leader, Member of JCP Executive Committee, Jakarta EE Steering Committee Member, CEO @ jClarity
|
Hendrik Ebbers
|
Java Champion, JUG Dortmund Leader, JSR EG member, Co-founder of Karakun
|
Ivar Grimstad
|
Java Champion, Malmö JUG Leader, JCP Executive Committee Member, EE4J PMC Lead, Jakarta EE WG Member
|
Markus Eisele
|
Java Champion
|
Heinz Kabutz
|
Java Champion, The Java Specialists’ Newsletter, JCrete Founder
|
Ivan St. Ivanov
|
Java Champion, Bulgarian JUG Leader, jPrime Conference Organizer, Virtual JUG Leader, VIDA Software co-founder and senior programmer
|
Stephen Colebourne
|
Java Champion, Creator Joda and ThreeTen projects
|
Trisha Gee
|
Java Champion, Sevilla Java User Group Leader, JCP Executive Committee Member, Java Developer Advocate for JetBrains
|
Josh Long
|
Java Champion, Spring Developer Advocate for Pivotal, best-selling book author and prolific speaker worldwide
|
Gail Anderson
|
Java Champion, Oracle Developer Champion, co-founder Anderson Software Group, Inc.
|
Justin Lee
|
Java Champion, JSR EG Member
|
Andres Almiray
|
Java Champion, JCP EC Member, Oracle Developer Champion, Hackergarten worldwide
|
Enrique Zamudio
|
Java Champion, JVMMX (Mexico City JUG), author of j8583, jAlarms, Ceylon to Javascript compiler
|
Alan Williamson
|
Java Champion, author, podcaster, CTO of MacLaurin Group
|
Maurice Naftalin
|
Java Champion, Oracle Developer Champion, author
|
Mark Heckler
|
Java Champion, Spring Developer Advocate for Pivotal, conference speaker, & published author
|
Kirk Pepperdine
|
Java Champion, jCrete cofounder, Performance tuning advocate, co-founder jClarity
|
Matt Raible
|
Java Champion, Web Developer, and Developer Advocate at Okta. Classic VWs Enthusiast.
|
Henri Tremblay
|
Java Champion, Montréal JUG & Devoxx4kids Québec leader, EasyMock and Objenesis lead developer, conference speaker
|
Cay Horstmann
|
Java Champion, author of “Core Java”
|
David Heffelfinger
|
Java Champion, Apache NetBeans Committer, Technical Author, Jakarta EE Consultant and Instructor.
|
Josh Juneau
|
Java Champion, Apache NetBeans Committer, Jakarta EE Mojarra Committer, Technical Author, Podcaster
|
Jonathan Giles
|
Java Champion, Dukes Choice Award winner, Microsoft Cloud Developer Advocate, Co-founder Gluon
|
Ben Evans
|
Java Champion, former JCP EC Member, co-founder jClarity, author of “Java in a Nutshell” & “Optimizing Java”
|
Johan Vos
|
Java Champion, Oracle Developer Champion, Gluon co-founder
|
Thor Henning hetland
|
Java Champion, Principal at Capra Consulting. Community leader Cantara, javaBin, JavaZone, Oslo Software Architecture and more..
|
Simone Bordet
|
Java Champion, JUG Torino co-leader, Jetty team member
|
Holly Cummins
|
Java Champion, Author of Enterprise OSGi in Action
|
Daniel Bryant
|
Java Champion, co-author of Continuous Delivery in Java, and leader within the LJC
|
Mohamed Taman
|
Java Champions, Oracle Developer Champions, JCP member, EGJUG leader, Sr. Enterprise Architect / Sr. Software Engineer @WebCentric Belgrade, Serbia. International speaker, Books Author of "JavaFX essentials", "Getting started with clean code, Java SE 9", and “Hands-On Java 10 Programming with JShell”. Won Duke’s choice 2015, 2014 awards, & JCP outstanding adopt-a-jar participant 2013 awards
|
Simon Maple
|
Java Champion, Oracle Developer Champion, Virtual JUG leader, Director of Developer Relations, Snyk.
|
Oliver Gierke
|
Java Champion, Spring Data Project Lead at Pivotal Software, Inc.
|
Jean-Michel Doudoux
|
Java Champion, author of “Développons en Java”
|
Michael Kölling
|
Java Champion, Creator of BlueJ and Greenfoot, author of ‘Objects First with Java’.
|
Mert Çalışkan
|
Java Champion, Director of OpsGenie Academy, Published Author, Speaker
|
Leonardo M R Lima
|
Java Champion, JSR Spec Lead
|
Cesar Hernandez
|
Java Champion, Senior Software Engineer at Tomitribe, Eclipse Foundation Committer, Guatemala Java User Group member, Speaker and board member of Latin America Virtual JUG JEspañol.
|
Rustam Mehmandarov
|
Java Champion, Chief Engineer, Leader of JavaZone, board member and former leader of javaBin – Norwegian Java User Group.
|
Paul Bakker
|
Java Champion, Senior Software Engineer at Netflix
|
Geir Magnusson Jr
|
Java Champion, Member Apache Software Foundation, CTO at fuboTV
|
Jorge Vargas
|
Java Champion, JUG Leader JavaUP - Mexico - Speaker and member of JUG JEspañol.
|
Bruno Souza
|
Java Champion, JUG Leader of SouJava
|
Ian F. Darwin
|
Java Champion, Developer, Author, Trainer, Mentor, Speaker. Author of O’Reilly Java Cookbook, Android Cookbook, etc.
|
Alexis López
|
Java Champion, Independent Consultant, Cali JUG Leader, Speaker and board member of Latin America Virtual JUG JEspañol. www.acelopez.com
|
Traducido a español por:
- Andrés Almiray
- Andrew Binstock
- José Amadeo Díaz
- César Hernández
- Alexis López
No hay comentarios:
Publicar un comentario
Te agradezco tus comentarios. Te esperamos de vuelta.