Java ya no es gratis. ¿Y ahora qué?
Me hacía eco de este asunto en otro artículo hace algún tiempo: https://aprendeitonline.com/cobrara-oracle-por-java/. El momento ha llegado pero con matices. Este artículo titulado «Java ya no es gratis. ¿Y ahora qué?, pretende aclarar lo que ocurre pues hay mucha confusión al respecto. Es cierto que es un tema que ya se lleva tratando cierto tiempo, incluso hay cursos para ello pero intentaré aquí aclarar lo realmente importante.
Comencemos. Lo primero es tener meridianamente claro qué causa todo este revuelo (porque importante si que lo es): con el lanzamiento del Java JDK 11 cambia la licencia y el soporte de Oracle.
La siguiente imagen nos muestra la advertencia que se encuentra en la página de descarga de Oracle Java JDK 11 :
La información exacta sobre el cambio de licencia la obtenemos aquí: https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html .
Con el lanzamiento de JDK 11 cambia la licencia y el soporte de Oracle
El siguiente paso es saber qué cosas se verán afectadas exactamente y en qué modo. Para ello, debemos identificar bien a los actores que intervienen en todo esto.
Oracle JRE
Empezamos por la JVM o máquina virtual de Java, el JRE: no hay de qué preocuparse.
Efectivamente, en este punto no nos afecta. Sigue igual.
Oracle Java JDK
La herramienta Java básica para poder desarrollar es el llamado JDK como sabéis. Contiene el compilador y otras herramientas. Oracle ofrece un JDK oficial y otros libres o gratuítos. En el caso de Oracle nuevamente, se trata del conocido Open JDK, a cuya licencia podemos acceder aquí: https://openjdk.java.net/legal/gplv2+ce.html .
Ahora que hemos identificado a estos actores, ¿dónde está el cambio y por qué los mencionas José Manuel? Pues como he mencionado más arriba, la licencia y el soporte de Oracle Java JDK 11 han cambiado.
Con Oracle Java JDK 11 podemos crear nuestras aplicaciones Java como antes pero, no podemos usarlas libremente en producción. Para hacerlo, tendremos que pagar por ello, por usuario o procesador.
Es algo que puede parecer alarmante. Sin embargo, en la propia página de descarga de Oracle Java JDK 11 indicada más arriba, también se nos ofrece un enlace para descargar una versión libre: https://jdk.java.net/11/ .
El otro problema son las actualizaciones y el soporte del Oracle Java JDK 11 y posteriores. Ya no es gratis tampoco.
Las tres preguntas que debemos hacernos para saber si estos cambios son un problema para nosotros son:
- ¿Voy a llevar mis aplicaciones a Producción? Y entiéndase Producción cualquier entorno de ese tipo, al cliente final, vaya. Damos un uso comercial a nuestras aplicaciones.
- ¿Necesito las actualizaciones que provee Oracle?
- ¿Necesito de soporte?
Los problemas únicamente vendrán si hacemos un uso comercial de nuestras aplicaciones, necesitamos soporte y actualizaciones, mientras utilicemos el JDK Java oficial de Oracle
Alguien prodía argumentar aquí respecto a las actualizaciones que seguirán siendo libres: solamente por algún tiempo. También dejarán de serlo.
¿Y ahora qué?
Pues la respuesta depende de las contestaciones a las preguntas que nos hacíamos en el apartado anterior. Lo recomendable en principio es pasarnos a alguna alternativa libre seria (otro punto a favor del software libre). Tal y como he comentado antes, disponemos de diferentes alternativas al respecto.
Alternativas
Amazon Corretto
Es una distribución sin coste de Open JDK. Creada por Amazon, la utiliza en sus propios desarrollos lo que garantiza que ha sido probada en un entorno de producción.
Gratis, estable, incluye modificacones para un mejor rendimiento, soporte a largo plazo y totalmente compatible con Java SE.
Puedes acceder a Amazon Corretto aquí .
Azul Systems
Esta compañía ofrece Zulu , otra herramienta basada en Open JDK y también muy a tener en cuenta como sustituta.
Red Hat
El que según algunos, llevará la voz cantante en todo esto. Ya veremos: https://developers.redhat.com/products/openjdk/download/ .
AdoptOpenJDK
Otra de las opciones: https://adoptopenjdk.net/ .
Conclusión
Espero que esto aclare cualquier confusión al respecto y ofrezca una ayuda para tomar decisiones aunque, recuerda siempre consultar fuentes autorizadas que confirmen cada dato.
Nada más. Un saludo y hasta otra.
4 comentarios
Sigo con la duda, sobre el uso comercial, en mi caso uso Cisco ASDM para administrar un firewall de Cisco, este corre bajo plataforma java y lo utilizo en empresas, debo adquirir licencias java para poder ejecutar Cisco ASDM?.
Hola Pedro:
Pues aquí está el detalle: https://aprendeitonline.com/java-ya-no-es-gratis-ahora-que/#oracleJREAnchor. Vas a necesitar Java para ejecutar, no para crear y comercializar: solamente necesitas el JRE, por tanto no hay problema.
En realidad no es tan así. Si estás utilizando binarios Java de Oracle atenidos a licencia OTN sí necesitarás comprar la licencia ($2.50 al mes), pues es para dar uso NO PERSONAL al software CISCO ASDM el cual corre sobre binarios Oracle atenidos a dicha licencia.
Te sugiero leer los nuevos términos de uso y restricciones de los binarios Java y ver las FAQs, que aclaran bastante la película… Por ejemplo, nota el comentario bajo la pregunta «Can you elaborate on what qualifies as Personal use?»
https://www.oracle.com/downloads/licenses/javase-license1.html
https://www.oracle.com/java/technologies/javase/jdk-faqs.html
Gracias Mauricio por comentar y aportar. Toda la razón. Efectivamente, ¿qué consideramos exactamente como uso personal? Todo lo que ejecutes que no tenga que ver con uso empresarial. Procede a una actualización del artículo en cuanto pueda. Un cordial saludo.