Licencia Java para empresas: adecuación al nuevo modelo de Oracle y alternativas de evolución

Oct 5, 2021 | Asesoramiento en licencias de software

A pesar de que tradicionalmente haya existido la percepción de que la licencia Java para empresas podía utilizarse de manera gratuita sin restricciones, siempre ha sido necesario considerar diversas circunstancias en torno al desarrollo y el uso de código Java. Se trata de un punto a tener muy en cuenta dentro del software empresarial.

En este ámbito, resulta cada vez más frecuente que las empresas se preocupen por el licenciamiento de esta tecnología. A este hecho contribuyen las nuevas condiciones impuestas por Oracle y las auditorías que este fabricante lleva a cabo.

Así pues, en este escrito se describen los principios básicos relacionados con la licencia Java para empresas. En él se identifican los riesgos asociados a cada escenario, así como las alternativas existentes para garantizar el pleno cumplimiento.

1. Antecedentes de la licencia Java para empresas

Por hacer una breve recopilación histórica, Java fue comercializado originalmente por Sun Microsystems bajo una licencia de software propietaria. No obstante, en mayo de 2007, Sun liberó la mayoría de su tecnología de programación Java bajo la licencia GNU General Public License (GPL).

Así se permitía la posibilidad de ejecutar, analizar, compartir o modificar el software libremente. En enero de 2010, Sun fue adquirida por Oracle y la descarga Java continuó disponible bajo la licencia Oracle Binary Code License (OBCL).

Posteriormente, en mayo de 2011, Oracle introdujo dos licencias comerciales nuevas para descargar Java (Java SE Advanced y Java SE Suite) y en febrero de 2014 una tercera (Java SE Advanced Desktop). Tal y como sucede con otras licencias de Oracle, cada una de estas licencias representa un conjunto de productos, componentes o funcionalidades que pueden ser utilizados como parte de su adquisición.

2. Componentes de Java para versiones anteriores a la 11

En este sentido, en la siguiente tabla se recogen los componentes incluidos para instalar Java Standard Edition (SE), Java SE Advanced, Java SE Advanced Desktop y Java SE Suite para versiones anteriores a la 11:

ComponenteJava SEJava SE AdvancedJava SE Advanced DesktopJava SE Suite
Java SE Development Kit (JDK)

§  JavaFX SDK Libraries
Java Runtime Environment (JRE Java)

§  Máquina Virtual Java (Java Virtual Machine o JVM)

§  Java Standard Libraries

§  JavaFX Runtime
Java Deployment Technologies

§  Plugin

§  Web start
JRockit Development Kit
Java Flight Recorder – for DesktopNo
Java Flight Recorder – for ServerNoNo
Java Mission ControlNo
Java Advanced Management ConsoleNo
Java SE Enterprise InstallerNo
JRE Usage TrackingNo
JRockit Real Time con Deterministic GCNoNoNo
JRockit Flight RecorderNoNo
JRockit Mission Control

§  JRockit Mission Control Console observability

§  JRockit Mission Control Memory Leak Detector observability
NoNo

3. Condiciones de la licencia Java para empresas anteriores a Java SE 11

3.1 Componentes comerciales

Por una parte, según los términos de la licencia Oracle Binary Code License Agreement, no pueden utilizarse todas las funcionalidades en Java sin coste. De hecho, en este acuerdo de licencia Java para empresas, se establece explícitamente que hay determinados componentes comerciales que están sujetos a restricciones.

Estos componentes comerciales pueden consultarse directamente en la tabla 1-1 de la página que describe los productos y características de Java SE , y coinciden con los reflejados en la parte final de la tabla del apartado 2: Java Flight Recorder, Java Mission Control, Java Advanced Management Console, MSI Enterprise JRE Installer, JRockit Flight Recorder, JRockit Mission Control Console observability, JRockit Mission Control Memory Leak Detector observability, JRE Usage Tracking y JRockit Real Time con Deterministic GC.

Si se desea utilizar estos componentes, ya sea para operaciones internas de negocio o con propósito comercial, ha de obtenerse una licencia Oracle específica. No obstante, si se hace uso de los mismos en un entorno de desarrollo Java, así como para pruebas, aprender Java o un curso Java, no es necesario adquirir una licencia Java para empresas para satisfacer las condiciones de licenciamiento.

3.2 Computación de propósito general

Por otra parte, la necesidad de asumir un coste por utilizar aplicaciones Java ha dependido también de la infraestructura empleada, siendo gratuito en el caso de computación de propósito general (General Purpose Computing) o suponiendo un gasto en caso contrario.

computación-pronóstico-general

Un equipo de propósito general para Oracle es aquel que puede realizar por sí mismo todas las tareas habituales de computación para una aplicación con lenguaje Java. Es decir, PCs, portátiles, tablets o smartphones, incluyendo en su caso el uso de Java para Android. En cambio, son considerados dispositivos de no propósito general aquellos como sistemas embebidos o impresoras, plataformas de almacenamiento, electrónica de red… etc.

3.3  Instalación de los componentes de Java SE

Las organizaciones debían ser conscientes de que Oracle no ofrece paquetes de instalación que se correspondan directamente con “Java SE”, “Oracle Java SE Advanced”, “Oracle Java SE Advanced Desktop” u “Oracle Java SE Suite”.

Por el contrario, dependiendo de cada producto concreto que estuviera licenciado, es necesario descargar uno o varios de los siguientes paquetes de software: JRE, JDK, Java Advanced Management Console, Microsoft Windows Installer (MSI) Enterprise JRE Installer, JavaFX Runtime, JRockit JDK, JRockit Mission Control, Java for Business JRE o Java for Business JDK.

Asimismo, hay que tener en cuenta que existen productos de Oracle que han venido ofreciendo implícitamente derechos de uso para utilizar componentes comerciales de Java SE, como por ejemplo:

  • WebLogic Server Enterprise Edition, incorporando el derecho de uso de Java SE Advanced.
  • WebLogic Suite, incluyendo el derecho de uso de Java SE Suite restringido para WebLogic Server, Oracle Containers for J2EE y Coherence.

Por consiguiente, desde hace tiempo ha sido necesario que las organizaciones conozcan con exactitud qué componentes debían ser licenciados, aunque pudieran descargar Java gratis. Del mismo modo debían conocer cuáles podían utilizarse sin coste, junto con las circunstancias concretas para que esto fuera así.

Así, el uso de cualquier funcionalidad considerada como comercial por parte de Oracle implicaba la obligatoriedad de adquirir una licencia Java para empresas, al igual que sucedía si se utilizaban equipos que no fueran de propósito general.

licencia-java-para-empresas

4. Estrategia para el uso de la licencia Java para empresas con el nuevo modelo

Al igual que sucede con los productos de cualquier fabricante, se antoja fundamental identificar el uso real que se está haciendo de cada programa Java. De esta forma, podrán tomarse las medidas oportunas para asegurar el cumplimento con el menor coste posible. Es necesario determinar, por tanto, cuestiones como las siguientes:

  • Dónde se utiliza y para qué sirve Java en su organización.
  • Qué componentes han sido usados. Aunque se haya desplegado alguno de los componentes comerciales referidos anteriormente, no supondrán un coste hasta que sean utilizados. Así pues, no habrá inconveniente por el mero hecho de descargar Java 8, descargar Java 7 o descargar JRE.
  • Verificar versión Java: comprobar Java para determinar qué ediciones o versiones se han instalado o están en uso.

Asimismo, han de conocerse con claridad los pormenores de la nueva política de licenciamiento de Oracle en torno a lo que es Java, incluyendo aspectos tan importantes como:

  • Principales implicaciones del acuerdo de licenciamiento OTN (Oracle Technology Network), que resulta de aplicación a partir de JDK 11. Este acuerdo contemplará, por tanto, la última versión de Java.
  • Cuestiones que deben tenerse en cuenta desde abril de 2019 para las versiones anteriores a Java SE 11.
  • Esquema de costes para el nuevo modelo de suscripción, según se utilice la plataforma Java en servidores (Java SE) o en desktops (Java SE Desktop).
  • Consecuencias de la nueva política de publicación de actualizaciones y parches.
  • Cómo afecta el nuevo licenciamiento a la arquitectura de los data centers, considerando los escenarios de virtualización.
  • Cómo monitorizar y controlar el uso real de Java.
  • Alternativas al uso de Oracle JDK, con sus ventajas e inconvenientes.

5.  Conclusiones sobre el uso de la licencias Java para empresas

En definitiva, para poder gestionar con éxito las nuevas reglas de Oracle para la licencia Java para empresas, se torna recomendable que cada organización revise sus implementaciones de Java, de manera que pueda determinar la solución que mejor se adapte a las necesidades de su negocio. De este modo, estará en disposición de acometer aquellos cambios que sean precisos con la mayor agilidad, contemplando la posible adecuación de parte de su infraestructura.

Además, al margen de las anteriores consideraciones, hay que tener en cuenta que a partir de Oracle JDK 17 vuelven a cambiar las condiciones de licenciamiento de Java. A partir de esta versión resulta de aplicación la licencia NFTC (Oracle No-Fee Terms and Conditions). De esta forma, se posibilita el uso de Java sin coste para entornos de Producción y comerciales.

Programacion-de-un-computador

¿Conoce con claridad las condiciones de licenciamiento que aplica Oracle al uso de Java? ¿Ha evaluado las alternativas existentes para la evolución de su escenario basado en esta tecnología? ¿Se considera preparado para abordar una auditoría de Java? En cualquier caso, es recomendable apoyarse en un equipo de expertos en la gestión de licencias de Oracle.

Los especialistas de Evergreen Compliance están a su disposición para enviarle o comentar con usted, sin ningún tipo de compromiso, cualquier información sobre la nueva estrategia para el uso de la licencia Java para empresas, profundizando en los contenidos reflejados en este artículo y colaborando en cualquier cuestión que pueda surgir en su compañía.

También te puede interesar:

Licencia PAH: qué es y su importancia para Oracle

Licencia PAH: qué es y su importancia para Oracle

La licencia PAH (Proprietary Application Hosting) es un tipo de licencia para cubrir los escenarios en los que una empresa desarrolla una aplicación propia sobre software Oracle para prestar servicios a clientes finales. Es prioritario conocer sus principales ventajas e inconvenientes para evitar riesgos de cumplimiento y optimizar costes.