Actualizado a: 19 de enero de 2024
Las licencias GPL y LGPL de GNU protegen los proyectos, pero dan libertad a los usuarios y a otros desarrolladores para compartir o modificar el proyecto. Esto no es así en las licencias propietarias, que restringen gran cantidad de acciones.
Dada la importancia de las licencias GPL y LGPL, no solo en el ámbito del software, sino que cada vez se extienden a más apartados, vamos a dedicar este artículo para tratar de conocer qué son exactamente y cuáles son las diferencias entre ambas.
¿Qué es la licencia GPL?
La Licencia Pública General de GNU, o GPL (General Public License), es un tipo de licencia que enumera los términos y condiciones sobre la obra protegida bajo ella. Fue creada por Richard Stallman para evitar que el software de GNU se convirtiera en propietario, aunque poco a poco se expandió para otros muchos proyectos fuera de GNU.
Esta licencia se basa en el concepto de copyleft, es decir, lo contrario al copyright. Según el propio Stallman, una licencia copyleft es un derivado de la ley de derechos de autor que sirve para lo contrario de su propósito habitual. Es decir, en lugar de privatizar se convierte en un medio para mantener la libertad.
De hecho, todos los proyectos bajo licencia GPL se pueden usar, compartir, modificar o copiar libremente, sin que ello implique un delito como podría ser la copia pirata de un proyecto privativo o propietario.
Además, hay que resaltar que la GPL está ahora bajo la Free Software Foundation o FSF, una organización benéfica exenta de impuestos fundada por el proyecto GNU de Stallman y que se dedica a promover el desarrollo de software libre.
Ventajas y Desventajas de GPL
Versiones de GNU GPL
La licencia GPL se ha lanzado bajo varias versiones que deberías conocer. Estas versiones son:
GPL v1 (1989)
La GPL inicial se basó en una combinación de licencias de software libre similares utilizadas por las primeras versiones de GNU Emacs, GDB y GCC. Cuando estas licencias se publicaron por primera vez, eran similares a las licencias GPL existentes, pero se adaptaron a cada programa, por lo que no eran extensibles a otros proyectos.
El objetivo de GNU GPL era desarrollar una licencia que pudiera usarse para cualquier proyecto.
GPL v2 (1991)
La cláusula «Libertad o Muerte» (Sección 7) de la versión número 2, GPL v2, llegó con cambios bastante más significativos en cuanto a la libertad de los usuarios.
La Sección 7 incluye un descargo de responsabilidad, que establece que los licenciatarios pueden distribuir un trabajo cubierto por la GPL solo si pueden cumplir con todos los términos de la licencia, independientemente de cualquier otra restricción legal a la que puedan estar sujetos.
Para 1990, estaba claro que una nueva versión menos permisiva de la licencia sería estratégicamente útil. Por lo tanto, cuando se introdujo la GPL v2 en 1991, fue acompañada por una segunda licencia denominada GNU Lesser General Public License (LGPL) de la que comentaremos más adelante, pero que llegó para satisfacer esa necesidad de una licencia menos permisiva…
GPL v3 (2007)
La tercera versión es bastante más reciente. Durante los 15 años de su evolución, los defensores de los programas libres se preocuparon por los problemas con la licencia GPL v2 que podrían permitir que alguien hiciera un mal uso del código con licencia GPL de una manera contraria al objetivo del licenciante.
Esta versión vino para solventar algunos desafíos como:
- El uso de software con licencia GPL en hardware que se niega a ejecutar versiones modificadas de su software patentado
- Las dificultades de compatibilidad comparables a las planteadas por la Licencia Pública General GNU Affero.
- Las negociaciones de Microsoft con los distribuidores del software libre y de código abierto fueron solo algunos de los desafíos.
La última versión de la licencia de código abierto GPL, GPL v3 se lanzó en junio de 2007 para intentar abordar estos problemas.
Términos y condiciones
La licencia GPL requiere que los términos y condiciones bajo los cuales se distribuye el trabajo estén disponibles para todos los que obtengan una copia del mismo. Todos deben cumplir las reglas, pero tienen permiso para usarlo, editar el trabajo, así como para copiarlo y distribuirlo tal cual o la distribución de un trabajo derivado.
Algunos piensan que este tipo de proyectos bajo GPL deben ser siempre gratuitos, pero lo cierto es que la licencia GPL no obliga a que sean gratuitos, podrían ser de pago perfectamente. Por tanto, no se trata de una licencia que prohíba la distribución comercial. La FSF cree que el uso comercial del software libre no debe limitarse, y la GPL establece de manera inequívoca que el software GPL puede venderse a cualquier precio.
Eso sí, un distribuidor no puede imponer limitaciones adicionales a los derechos otorgados por la GPL. Además, la obra derivada también debería estar bajo GPL, y no se podría restringir.
Otros detalles importantes que aparecen en las cláusulas son:
- Se debe aportar el código fuente del proyecto junto con el binario.
- Se debe enviar una copia de la licencia al destinatario del programa.
- Se permite descargar el código de varias formas posibles, desde la descarga desde un servidor de red hasta Peer-to-Peer.
- La GPL no otorga a la FSF los derechos de autor de un programa publicado bajo la GPL a menos que un autor transfiera explícitamente los derechos de autor a la FSF, lo que rara vez ocurre excepto para los programas que forman parte del proyecto GNU.
- Solo los titulares legales de derechos de autor tienen la autoridad para demandar si hay evidencia de una violación de licencia.
¿Qué es la LGPL?
Una Licencia Pública General Menor (LGPL o Lesser GPL) es una licencia para proyectos de código abierto que permite disposiciones para incluir elementos de software libre o propietario. La LGPL a veces se denomina «Biblioteca GPL» o «Biblioteca GNU», y algunos la asocian con la idea de ingeniería para bibliotecas en recursos compartidos.
De alguna manera, LGPL se considera una licencia «más débil» que la licencia GPL, es decir, es menos restrictiva. Veamos todos los detalles en el siguiente apartado, donde comprenderás mejor en qué se diferencia esta LGPL derivada de la GPL original…
Ventajas y Desventajas
¿Cuál es la diferencia entre GPL y LGPL?
Para comprender mejor la diferencia entre la GPL y LGPL, vamos a ver algunas cosas que difieren en ambas:
- GPL brinda más protección a los usuarios de software. Les permite la libertad de realizar cambios en el software, compartir y recibir el código fuente.
- En la GPL, cualquier cambio realizado en el software también debe estar bajo licencia GPL.
- LPGL, por otro lado, está especialmente diseñado para bibliotecas de software, en las que se pueden realizar cambios y devolver los códigos fuente, pero se puede vincular a un programa no libre que no sea GPL.
Casos de uso de GPL y LGPL
La Licencia Pública General de GNU, o GPL, es especialmente adecuada para proyectos que buscan crear un ecosistema de código abierto y colaborativo. Algunos de los casos de uso más comunes incluyen:
- Software de Código Abierto: Proyectos que aspiran a fomentar una comunidad activa de contribuyentes.
- Sistemas Operativos: Linux es un ejemplo icónico de un sistema operativo que opera bajo la licencia GPL.
- Aplicaciones de Escritorio: Cuando el objetivo es que el software permanezca libre y abierto para futuras iteraciones y desarrollos.
La LGPL, por otro lado, es más flexible en términos de cómo se puede utilizar el software. Los casos de uso típicos son:
- Bibliotecas de Software: Ideal para bibliotecas que se desean integrar en programas que no están bajo la licencia GPL.
- Plugins y Extensiones: Utilizado comúnmente en componentes adicionales para aplicaciones existentes.
- Software Empresarial: Cuando se busca incorporar componentes de código abierto en soluciones de software cerrado.
Cómo elegir entre GPL y LGPL
La elección entre GPL y LGPL dependerá de varios factores, que van desde los objetivos del proyecto hasta el modelo de negocio previsto. Aquí hay algunas pautas para ayudarte en tu decisión:
- Objetivos del Proyecto: Evalúa si deseas que tu proyecto sea completamente abierto o si estás dispuesto a permitir usos más comerciales.
- Modelo de Negocio: Considera cómo planeas monetizar el proyecto, si es que lo haces.
- Comunidad y Colaboración: Piensa en el tipo de comunidad que deseas fomentar alrededor de tu proyecto.
- Requisitos Legales y de Cumplimiento: Asegúrate de comprender las implicaciones legales de cada licencia.
- Consultar con Expertos: Cuando sea posible, busca el consejo de expertos en licencias de software para asegurarte de que estás tomando la decisión más informada.
Al considerar estos factores, estarás mejor preparado para seleccionar la licencia que mejor se adapte a tus necesidades y objetivos.
Ejemplos de proyectos famosos con GPL y LGPL
Para ofrecer una perspectiva más tangible sobre cómo se aplican estas licencias en el mundo real, aquí presentamos algunos ejemplos de proyectos famosos que utilizan GPL y LGPL.
Proyectos con Licencia GPL
Linux
El sistema operativo Linux es quizás el ejemplo más conocido de un proyecto bajo la licencia GPL. Su código abierto ha permitido a los desarrolladores de todo el mundo contribuir al proyecto, lo que ha resultado en una amplia variedad de distribuciones de Linux.
WordPress
WordPress, la plataforma de gestión de contenido que alimenta una gran parte de la web, también utiliza la licencia GPL. Esto ha permitido el desarrollo de una gran cantidad de temas y plugins que amplían su funcionalidad.
GIMP
El Programa de Manipulación de Imágenes GNU (GIMP) es otro proyecto de alto perfil que utiliza la licencia GPL. Ofrece una alternativa de código abierto a programas de edición de imágenes como Adobe Photoshop.
Proyectos con Licencia LGPL
Wine
Wine es un proyecto que permite ejecutar aplicaciones de Windows en sistemas operativos basados en Unix. Utiliza la licencia LGPL para permitir su uso en una variedad de aplicaciones, incluidas algunas comerciales.
Qt
Qt es un framework para el desarrollo de interfaces gráficas de usuario (GUI) que se utiliza en una variedad de dispositivos y plataformas de software. Está licenciado bajo la LGPL, lo que permite su uso en proyectos de software propietario.
FFmpeg
FFmpeg es una biblioteca de software que se utiliza para manejar archivos multimedia, incluidos audio, video y transmisiones. Su licencia LGPL permite que se integre en una amplia gama de aplicaciones, desde software de edición de video hasta sistemas de transmisión en vivo.
Estos ejemplos ilustran cómo las licencias GPL y LGPL se utilizan en proyectos que han tenido un impacto significativo en diversas áreas del desarrollo de software. La elección de la licencia puede influir en el tipo de contribuciones que un proyecto recibe, así como en su aplicabilidad para diferentes tipos de uso.
Conclusión
La elección entre las licencias GPL y LGPL es una decisión crucial que puede tener un impacto duradero en el futuro de un proyecto de software. Ambas licencias tienen sus méritos y desafíos, y la elección entre una y otra dependerá en última instancia de los objetivos específicos del proyecto, el modelo de negocio y la comunidad que se desea fomentar.
Hemos explorado los casos de uso más comunes para cada licencia, sus ventajas y desventajas, y cómo elegir la más adecuada para tu proyecto. También hemos visto ejemplos de proyectos famosos que han adoptado cada tipo de licencia, lo que demuestra la versatilidad y el impacto de estas opciones de licencia en el mundo del desarrollo de software.
Esperamos que este artículo te haya proporcionado una comprensión más clara de las diferencias entre GPL y LGPL, y te ayude a tomar una decisión informada sobre qué licencia es la más adecuada para tu proyecto. Si aún tienes dudas, siempre es recomendable consultar con expertos en licencias de software para asegurarte de que estás tomando la decisión más acertada.