← Licencias

¿Puedo usar código GPL en un producto comercial?

Sí, la GPL permite el uso comercial. Lo que define tus obligaciones es si distribuyes el software, cómo se combina con tu código y si lo ofreces como servicio. Los casos típicos.

En este artículo
  1. Caso 1: uso interno
  2. Caso 2: software como servicio
  3. Caso 3: herramientas que usas pero no incluyes
  4. Caso 4: distribuyes un programa que incluye código GPL
  5. Caso 5: programas separados en el mismo producto
  6. Caso 6: bibliotecas LGPL
  7. Resumen
  8. Si ya distribuiste sin cumplir
  9. Alternativas cuando la GPL no sirve
  10. Preguntas frecuentes

Sí. La GPL permite usar software libre con fines comerciales, e incluso venderlo. Lo que define tus obligaciones no es si ganas dinero, sino tres preguntas: si entregas el software a otros, si tu código forma una obra derivada del código GPL y si lo ofreces por la red (en ese caso importa si la licencia es AGPL). Según las respuestas, puede que no tengas ninguna obligación o que debas publicar todo tu código.

Esta guía ordena los casos más comunes. No reemplaza una revisión legal cuando hay mucho en juego.

Caso 1: uso interno

Usas un programa GPL dentro de tu empresa: un servidor, una herramienta de desarrollo, una biblioteca en un sistema interno. Lo modificas a gusto. No se lo entregas a nadie fuera de la empresa.

Obligaciones: ninguna. La GPL se activa al distribuir. Usar y modificar en privado está expresamente permitido.

Ojo con lo que cuenta como “fuera”: entregar el software a un cliente, a una empresa relacionada o a un contratista externo puede considerarse distribución.

Caso 2: software como servicio

Tu producto es una aplicación web. Por dentro usa componentes GPL, modificados o no. Los clientes la usan desde el navegador y nunca reciben una copia del programa.

Con GPL: ninguna obligación de publicar. Correr software en tu servidor no es distribuirlo.

Con AGPL: sí. Si modificaste un componente AGPL y los usuarios interactúan con él por la red, tienes que ofrecerles el código de tu versión. Revisa la licencia de cada dependencia de servidor: la diferencia entre GPL y AGPL es justamente esta.

Caso 3: herramientas que usas pero no incluyes

Compilas con GCC, editas con un editor GPL, despliegas con scripts GPL. Lo que vendes es el resultado.

Obligaciones: ninguna. El resultado de usar un programa GPL no queda bajo la GPL. La excepción son las piezas del propio programa que se copian dentro del resultado; los compiladores GPL incluyen excepciones explícitas para que sus bibliotecas de soporte no afecten tu binario.

Caso 4: distribuyes un programa que incluye código GPL

Vendes un programa de escritorio, una aplicación móvil, un dispositivo con software o un instalador, y dentro va código GPL combinado con el tuyo.

Obligaciones: las de la GPL completas. Si tu programa y el código GPL forman una sola obra, tienes que distribuir el conjunto bajo GPL y entregar el código fuente completo a quienes compran. Puedes cobrar por el producto, pero no impedir que lo redistribuyan.

Por esto muchas empresas evitan el código GPL dentro de productos que entregan a clientes.

Caso 5: programas separados en el mismo producto

Tu producto incluye un programa GPL que corre como proceso independiente (por ejemplo, una herramienta de línea de comandos o un servidor) y tu aplicación se comunica con él por mecanismos normales: ejecutándolo, por un socket, por una API HTTP.

Obligaciones: solo sobre la parte GPL. Esto se considera, en general, “simple agregación”: dos programas independientes distribuidos juntos. Tienes que cumplir la GPL para el programa GPL (entregar su código, conservar la licencia), pero tu aplicación puede tener otra licencia.

La línea entre agregación y obra derivada no siempre es nítida. Si los dos programas intercambian estructuras de datos complejas y funcionan como uno solo, la conclusión puede cambiar.

Caso 6: bibliotecas LGPL

Usas una biblioteca bajo LGPL, la GPL “menor”, pensada para esto.

Obligaciones: moderadas. Puedes enlazarla desde software cerrado. Tienes que permitir que el usuario reemplace la biblioteca por otra versión (en la práctica, enlazado dinámico o entregar los archivos objeto) y publicar los cambios que hagas a la biblioteca misma.

Resumen

Situación GPL AGPL
Uso interno, aunque lo modifiques Sin obligaciones Si lo modificaste, ofrecer el código a los usuarios internos; no hay que publicarlo
SaaS con componentes modificados Sin obligaciones Publicar el código de tu versión
Herramientas de desarrollo Sin obligaciones Sin obligaciones
Producto distribuido con código GPL integrado Todo el producto bajo GPL Todo el producto bajo AGPL
Programa GPL separado dentro del producto Cumplir solo para esa parte Cumplir solo para esa parte

Si ya distribuiste sin cumplir

La GPL v3 tiene un mecanismo de corrección: si es la primera vez que el titular te notifica y corriges el problema dentro de 30 días desde el aviso, recuperas tus derechos. La forma de corregir suele ser publicar el código fuente correspondiente o retirar el producto. La GPL v2 no tiene ese plazo, aunque en la práctica muchos titulares lo aplican igual.

Alternativas cuando la GPL no sirve

  • Buscar una alternativa permisiva (MIT, Apache 2.0) para el mismo componente.
  • Comprar una licencia comercial, si el proyecto ofrece licenciamiento dual.
  • Aislar el componente como programa separado, si técnicamente tiene sentido.

Preguntas frecuentes

¿Puedo cobrar por un programa que incluye código GPL? Sí. Puedes venderlo, pero tienes que distribuir el conjunto bajo la GPL, entregar el código fuente completo a quienes lo compran y no impedir que lo redistribuyan.

¿Tengo que publicar mi código si mi aplicación web usa componentes GPL? No. Ejecutar software GPL en tu servidor no es distribuirlo. La excepción es la AGPL: si modificaste un componente AGPL y los usuarios lo usan por la red, debes ofrecerles el código de tu versión.

¿Puedo usar una biblioteca LGPL en software propietario? Sí. Puedes enlazarla desde software cerrado, siempre que el usuario pueda reemplazar la biblioteca por otra versión y publiques los cambios que hagas a la biblioteca misma.

¿El programa que compilo con GCC queda bajo la GPL? No. El resultado de usar un programa GPL no queda bajo la GPL, y GCC incluye una excepción explícita para que sus bibliotecas de soporte no afecten tu binario.

¿Qué pasa si incumplo la GPL? Pierdes el permiso para distribuir el software. Con la GPL v3, si es la primera notificación del titular y corriges dentro de 30 días desde el aviso, recuperas tus derechos.

Fuentes