In this article
Licencia Pública General de GNU: explicación de GPLv3
¿Qué es la licencia GPL?
La licencia GPL es una licencia de software libre que permite modificar o redistribuir el software sin restricciones ni pagos obligatorios por el código bajo licencia. Los desarrolladores usan la licencia GPL para asegurarse de que su código no se vuelva propietario cuando se modifica.
La licencia GPL hace referencia a la Licencia Pública General de GNU, ampliamente utilizada para el software de código abierto y redactada por primera vez por Richard Stallman en 1989. Desarrolladores y organizaciones la usan para evitar que el software se vuelva propietario. Unificó licencias similares disponibles en ese momento, pero principalmente representa la filosofía de la Free Software Foundation (FSF) y el concepto de copyleft de Stallman sobre el desarrollo y la distribución de software.
Con una licencia GPL (o simplemente GPL), cualquier usuario puede usar, modificar o redistribuir software libremente y sin restricciones. Un ejemplo popular de software que usa GPL es WordPress, lo que significa que cualquiera puede usar, modificar o ampliar su código fuente como quiera. En el contexto del proyecto WordPress, la GPL equivale a la declaración de derechos del software.
Otorga a los usuarios permisos de código abierto, entre ellos:
El derecho a descargar y ejecutar el software libremente
El derecho a realizar los cambios que quieran en el software
El derecho a redistribuir copias del software
El derecho a modificar y distribuir copias de nuevas versiones del software
La GPL alcanza sus objetivos mediante el concepto de copyleft. Como una versión ingeniosa del copyright, el copyleft usa las leyes de derechos de autor para proteger el carácter de código abierto del software. Al incorporar la libertad en una licencia de software mediante derechos de autor, los desarrolladores pueden garantizar que ninguno de sus programas se vuelva propietario cuando otro usuario lo modifica o amplía.
¿Cuál es la diferencia entre GPLv2 y GPLv3?
GPLv3 mantiene el mismo propósito principal que GPLv2, pero ofrece protecciones de copyleft más estrictas. El texto de GPLv3 es mucho más completo para abordar cambios técnicos y legales, e incluye cláusulas para el intercambio internacional de licencias.
Las cuatro cláusulas nuevas principales que incluye GPLv3 son:
Reglas de compatibilidad – La compatibilidad de licencias se refiere a los casos en que dos componentes distintos, con licencias bajo condiciones diferentes, se combinan para crear una obra nueva. GPLv3 facilita la gestión de licencias compatibles y aborda específicamente el código bajo la licencia Apache V2.0.
Gestión de derechos digitales – Las nuevas cláusulas buscan impedir que se restrinjan arbitrariamente las modificaciones al software GPL cuando los usuarios recurren a normas legales (como la DMCA) para implementar medidas de protección técnica.
Licencia explícita de patentes – Una nueva cláusula sobre patentes protege a los usuarios para que solo algunos licenciatarios no se beneficien de los derechos de patente. Exige que todos los usuarios disfruten de las mismas ventajas o que nadie pueda obtener ganancias del software.
Excepción de código fuente para ASP – Aclara que no es necesario divulgar el código fuente en una implementación ASP de GPL si los usuarios no distribuyen una copia a sus clientes. Si el copyleft debe aplicarse al uso de ASP, corresponde usar la Licencia Pública General Affero (AGPLv3).
¿Cuáles son los términos y condiciones de la licencia GPLv3?
Si un desarrollador usa cualquier componente GPL en su software, toda la obra queda sujeta a los términos y condiciones de GPL. GPLv3 establece términos específicos para las obras combinadas, que pueden aplicarse cuando el software GPL se acompaña de otro código fuente, componentes o bibliotecas.
Los términos y condiciones específicos que se aplican al software GPLv3 son:
Permisos – Derechos otorgados para el uso comercial, la distribución, la modificación, el uso de patentes y el uso privado del software.
Condiciones – Requisitos para divulgar el código fuente, mostrar la licencia y los avisos de derechos de autor, indicar todos los cambios y nombrar las bibliotecas sujetas a la misma licencia.
Limitaciones – Incluir en la obra información sobre responsabilidad y garantía.
El acuerdo de licencia completo define claramente cuándo se aplica cada condición y cuándo los desarrolladores pueden renunciar a esa cláusula. También incluye definiciones que ayudan a los usuarios a entender los límites de los componentes usados en obras más grandes, incluso cómo determinar qué cláusula seguir si tienen dudas.
¿Cómo uso GPLv3?
Para publicar software bajo licencias GPL, los usuarios deben obtener una renuncia a los derechos de autor de cualquier entidad que tenga prioridad, como un empleador o una escuela. Una vez obtenida, cada archivo debe incluir los avisos de derechos de autor correspondientes y definir claramente qué versiones pueden usar los usuarios.
Por último, agrega un archivo COPYING que contenga el texto completo de los términos y condiciones de GNU GPL, junto con los avisos de licencia y una declaración de permisos en cada archivo. Es opcional mostrar el aviso de derechos de autor al iniciar el programa.
¿Puedo usar GPLv3 en software comercial?
Los desarrolladores deben tener en cuenta que GPL busca impedir cualquier restricción adicional sobre el software. Al usar cualquier parte de software con licencia GPL, la versión modificada conserva los mismos derechos. Por lo tanto, el usuario debe publicar el código fuente actualizado para los usuarios posteriores, pero solo si publica el software modificado. Aunque es posible vender software con licencia GPL a otro usuario, no se pueden limitar sus derechos para modificarlo y distribuirlo.
Otras licencias de código abierto
Otras licencias de código abierto incluyen la licencia MIT del Instituto de Tecnología de Massachusetts y la licencia BSD de tres cláusulas de Berkeley Software Distribution. El propósito principal de GPL es fomentar la colaboración y la mejora continua entre una comunidad de desarrolladores. Todo software que ya tenga una licencia GPLv3 seguirá siendo libre y no podrá restringir la competencia. En situaciones en las que convenga limitar la libertad (lo que también se conoce como licencias de copyleft débil), es más adecuada la Licencia Pública General Reducida (LPGL).

Con LGPL, los usuarios pueden mantener privado el código fuente, ya que solo exige publicar las modificaciones a la biblioteca libre original. Permite que los usuarios posteriores reemplacen únicamente las partes del software sujetas a GPL, sin tener la opción de cambiar las partes propietarias.
Administra fácilmente componentes GPL con Snyk
Ahora que conoces la licencia GPL, ¿por qué no leer más sobre la herramienta de Snyk para gestionar el cumplimiento de licencias, diseñada para desarrolladores? Ayuda a los desarrolladores a mantener sus ciclos ágiles de creación y lanzamiento mientras resuelven los problemas de licencias desde las primeras etapas del proceso.
Empieza con los desafíos de Capture the Flag
Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.