Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=32031299-7f11-45d9-a9f0-4c756388df9e

Si desarrollo una aplicación usando Java y la comercializo, ¿tengo que pagarle algo a Oracle?

A raíz de un artículo escrito por Richard Stalman, Libre pero encadenado. La trampa de Java, hay a algunas personas que no les queda clara la siguiente pregunta: si programo en Java ¿le tengo que pagar algo a Oracle cuando empiece a comercializar mi software?.

En primer lugar decir que no hay que pagarle nada cuando desarrollas una aplicación de Java para comercializar y utilizas el SDK estándar de Oracle o versiones de código abierto como OpenJDK. La cantidad que debes pagar suma un montante total de cero.

Actualización Septiembre de 2018: a partir de Java 11 esto ha cambiado y sí que tienes que pagarla a Oracle si usas el JDK 11 o posterior. El camino a seguir ahora es utilizar el OpenJDK. Más información

Aquí toda la problemática de la Fundación GNU (ver el artículo del principio) viene dada de que ellos no quieren utilizar un software que esté vinculado a un código cerrado, es decir, software propietario. Para ilustrar el caso, ahí van unos ejemplos:

  • nVidia ofrece controladores para la plataforma Linux. Dichos controladores son software propietario, en otras palabras nVidia tiene en su poder los archivos originales del código hecho con C++. Para la Fundación GNU el hecho de tener una dependencia y estar cautivo de un software que no puede ser mantenido ni editado por la comunidad supone un riesgo y un problema, ya que si la empresa desaparece, descontinua o cambia de controladores o lo que sea, te quedas con una instalación de Linux no-funcional (por ejemplo: nVidia dejó colgada a la comunidad de código abierto de Linux con controladores de la serie GTX 900).
  • Mono es una ingeniería inversa de C#, de nuevo para evitar problemas si Microsoft cambia de criterio.
  • GNU Octave es una implementación de código abierto de Matlab.

En resumidas cuentas, para la Fundación de Software GNU el problema realmente no está en el licenciamiento del software, porque no están en contra de que se cobre dinero por software. El fin último de la Fundación de Software GNU es una instalación de Linux "pura". Todos los componentes, controladores, software... que se ejecuten sobre una instalación en Linux deberían ser de código abierto, y preferiblemente bajo una licencia de código abierto GNU.

Obviamente hay muchas personas que consideran que este enfoque es muy radical y existen muchos otros puntos de vista. Al otro lado del espectro, hay algo denominado la licencia de código abierto BSD que es muy laxa. Por ejemplo, permite en principio que las empresas puedan coger software de código abierto BSD y crear su propio software propietario partiendo de aquél, bajo unos requisitos mínimos. Por poner un ejemplo, Apple es una empresa que se beneficia de software bajo licencia BSD para hacer software propietario.

Así que si te estás planteando la opción de comercializar algo que has programado en Java, no tienes que pagarle nada a Oracle usando el SDK estándar.

Nota: este artículo es una traducción de la respuesta de Koen Samyn en Quora a la misma pregunta.

Nota 2: en realidad la licencia de Oracle es más complicada si vas a crear, por ejemplo, sistemas embebidos o hacer que tu aplicación se ejecute en sistemas que no son de "propósito general". Puedes ver una interesante presentación que profundiza sobre esto, aquí: The challenges of Oracle Java Licensing (en inglés)-

Fecha de publicación:
campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP
Archivado en: Lenguajes y plataformas

No te pierdas nada, recibe lo mejor en tu email

Si te ha gustado este art­ículo, únete a miles de desarrolladores que ya reciben cada mes nuestro boletí­n por email. No te pierdas los mejores trucos, noticias y frikadas.

Enviamos poco, pero bueno. Palabra de desarrollador.

Suscríbete aquí­

Sí­guenos también en:

Telegram LinkedIn YouTube
La mejor formación online para desarrolladores como tú

Comentarios (8) -

Buenas tardes , quería saber si cuando dices que es gratuito desarrollar con el SDK STANDAR es lo mismo que el JDK Standar?, porque descargue el jdk.8 con netbeans standar edition Muchas gracias. Saludos

Responder

campusMVP
campusMVP

Hola Pedro:

Sí, el JDK es lo mismo que el SDK. No tienes que pagarle nada a oracle ni a nadie por utilizarlo.

¡Saludos!

Responder

Ocurre lo mismo si quiero desarrollar y vender un proyecto web con Java, GlassFish y MySql?

Responder

campusMVP
campusMVP

Hola Diego:

Glassfish es una implementación Open Source de J2EE que usa la licencia CDDL (https://javaee.github.io/glassfish/LICENSE). Eso significa que puedes distribuirlo mientras cumplas unas condiciones sencillas (como que incluyas el copyright, la licencia y si cambias algo en el código original de Glassfish, liberes dicho código). Los detalles resumidos muy convenientemente aquí: tldrlegal.com/.../...-license-(cddl-1.0)-explained

En cuanto a MySQL la cosa es diferente.  Si quieres usar MySQL en un proyecto que no sea Open Source debes pagar a Oracle por ello (https://www.mysql.com/about/legal/licensing/oem/). Es mucho más barato que el servidor de datos de la empresa, pero cuesta dinero. Por eso mismo se desarrolló un "fork" llamado MariaDB que es compatible con MySQL (parte del mismo código fuente) pero tiene una licencia diferente GNU GPL 2 (tldrlegal.com/.../gnu-general-public-license-v2) que es mucho más permisiva. Tienes un FAQ sobre su licenciamiento aquí: https://mariadb.com/kb/en/library/licensing-faq/

Saludos.

Responder

Unas cuantas (demasiadas) puntualizaciones:

1. La "Fundación de Software GNU" no existe como tal, existe la Fundación de Software Libre, que haya nacido a raíz del proyecto GNU no significa que si desarrollas software libre vaya a peternecer al proyecto GNU, es ridículo, la FSF tiene de objetivo velar por el software libre, no hacer ningún S.O.

2. Y respecto al proyecto GNU, no tiene como objetivo conseguir un "Linux" totalmente libre. El objetivo del proyecto GNU era inicialmente conseguir "un S.O totalmente libre", ni siquiera existía Linux por aquel entonces. Linus Torvalds y otros colaboradores hicieron el núcleo Linux y se formó "GNU/Linux", que es como realmente se llama el famoso S.O, no Linux a secas.

3. El movimiento del software libre y el movimiento del código abierto son movimientos DISTINTOS, con una misma realidad práctica pero con direcciones tan opuestas en su filosofía que hace imposible posicionarse a ambos bandos a la vez. La diferencia es tan crucial que es una falta de respeto considerable decir que la FSF persigue los objetivos del movimiento del código abierto o genera código abierto. "Código abierto" no es una propiedad aunque suene así, es un movimiento que defiende exactamente las mismas 4 libertades fundamentales que el movimiento del software libre, pero siempre renunciando a hablar de temas incómodos como ética y libertad, centrándose en costes y aspectos técnicos que no educan a la población ni les hacen entender qué pierden al aceptar software privativo aunque sea gratuito.

4. Por lo dicho en 3, NO EXISTEN LAS LICENCIAS DE CÓDIGO ABIERTO DE GNU, existen licencias LIBRES de la FSF o del proyecto GNU (y de otros proyectos y comunidades también).

5. Existen licencias libres laxas de la FSF, y otras que no son de la FSF pero sí más afines al movimiento, como la licencia Apache 2.0. Permiten comercializar tu producto privativo, protegiéndolo además contra la trampa de las patentes. Entonces, no hace falta moverse en el espectro como se sugiere.

6. Respecto a la cuestión de Diego sobre MySQL (casi abandonado por Oracle), no tiene sentido usarlo. No entiendo por qué directamente campusMVP no recomienda que uses MariaDB que es exactamente el mismo proyecto continuando desde que se vendió MySQL a Oracle. La compatibilidad es del 100%, la sintaxis es igual, salvo evidentemente en las nuevas funcionalidades que MySQL no tiene. MariaDB está optimizado y al día. Oracle sólo compró MySQL para quitarse el competidor directo de su SGBD Oracle, y el creador de MySQL hizo el fork renombrado a MariaDB y continuó como si nada, con más dinero en la cartera y el mismo proyecto libre en marcha. Por otra parte, ¿cuándo has visto un proyecto que meta MySQL embebido? Porque no sé si lo sabías, la licencia es sobre el software en sí, no te obliga a pagar porque tu aplicación privativa use una base de datos MySQL que tengas en cualquier servidor, te obliga a pagar si tu aplicación en si contiene al SGDB o código del mismo, algo ridículo que no hace nadie (lo más cercano a meter un SGDB dentro de una aplicación que te encontrarás son todas aquellas que usan SQLite). No es el caso de Diego (he de suponer).

En mi opinión, este artículo debería borrarse, porque destruye directamente esta página. Es decir, yo leo esto, y tengo por seguro que no me voy a fiar de ninguna otra cosa que vea en este sitio web, porque si se han cometido tantos errores para algo de lo que existe información de fuentes primarias directas que tardan en leerse 10 minutos, ¿qué debo esperar del resto de contenidos?

Responder

campusMVP
campusMVP

Hola Raúl:

Gracias por comentar. Como se indica, este artículo es una traducción directa de una respuesta de Quora, no un artículo original nuestro. Quizá deberías contestarle directamente al autor en esta red social.

En cuanto a lo de MySQL si lees atentamente nuestra respuesta verás que, en efecto, recomendamos que use MariaDB en lugar de MySQL.

Saludos.

Responder

Sí, omití descaradamente esa parte, perdón.

Respecto a la traducción, creo que es lo mismo, ¿no? No importa quién la haya escrito, a la hora de traducir podría haberse corregido los errores o bien directamente no haber traducido nada y crear una entrada explicando el problema desde 0 de forma correcta. Por muy de otros que sea, está en vuestra página, y no ha llegado aquí sola, ¿no? Se asume que estáis de acuerdo con lo que se expone en el artículo.

Un saludo.

Responder

Se trataba de contestar una pregunta muy concreta sobre si es necesario pagar licencia a Oracle por utilizar Java o no, no se trataba de escribir una tesis sobre los detalles filosóficos sobre la fundación de software libre, GNU, sus nombres, etc...

Esa parte sobre si Java necesitaba licencia, en el momento de escribirlo (febrero de 2017) quedaba meridianamente claro. Ahora, desde hace un par de meses, la cosa ha cambiado y por eso hemos escrito otro que lo aclara de nuevo y que está referenciado al principio de este artículo.

Saludos.

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.