Una excepción de vinculación GPL modifica la Licencia Pública General GNU (GPL) de una manera que permite que los proyectos de software que proporcionan código de biblioteca estén " vinculados " a los programas que los usan, sin aplicar los términos completos de la GPL al programa que los usa. La vinculación es el proceso técnico de conectar el código de una biblioteca al código de uso, para producir un solo archivo ejecutable . Se realiza en tiempo de compilación o en tiempo de ejecución para producir código funcional legible por máquina. La Free Software Foundation afirma que, sin aplicar la excepción de vinculación, un programa vinculado al código de la biblioteca GPL solo se puede distribuir bajo una licencia compatible con GPL. [1] Esto no se ha probado explícitamente en los tribunales, pero las violaciones de vinculación han dado lugar a un acuerdo. [2] La licencia del proyecto GNU Classpath incluye explícitamente una declaración a tal efecto.
Muchas bibliotecas de software libre que se distribuyen bajo la GPL utilizan una excepción equivalente, aunque la redacción de la excepción varía. Los proyectos notables incluyen ERIKA Enterprise , [3] GNU Guile , [4] las bibliotecas en tiempo de ejecución de GNAT , [4] GNU Classpath [5] y la excepción de biblioteca en tiempo de ejecución de GCC . [6]
Las bibliotecas en tiempo de ejecución del compilador también utilizan a menudo esta modificación de licencia o una equivalente, por ejemplo, la libgcc
biblioteca de la Colección GNU Compiler , [7] así como todas las bibliotecas del proyecto Free Pascal .
En 2007, Sun Microsystems lanzó la mayor parte del código fuente a las bibliotecas de clases para los proyectos Java SE y Java EE bajo la versión 2 de la licencia GPL más la excepción de vinculación Classpath, [8] y usó la misma licencia como una posible licencia para su servidor empresarial GlassFish [9] y para su NetBeans Java IDE . [10]
La versión 3 de la GNU Lesser General Public License (LGPL) [11] también se construye como una excepción a la GPL. [12]
La excepción Classpath
El proyecto GNU Classpath proporciona un ejemplo del uso de dicha excepción de vinculación GPL . La biblioteca GNU Classpath usa la siguiente licencia:
Classpath se distribuye bajo los términos de la Licencia Pública General GNU con la siguiente aclaración y excepción especial.
Vincular esta biblioteca de forma estática o dinámica con otros módulos es hacer un trabajo combinado basado en esta biblioteca. Por lo tanto, los términos y condiciones de la Licencia Pública General GNU cubren toda la combinación.
Como excepción especial, los titulares de los derechos de autor de esta biblioteca le dan permiso para vincular esta biblioteca con módulos independientes para producir un ejecutable, independientemente de los términos de licencia de estos módulos independientes, y para copiar y distribuir el ejecutable resultante bajo los términos de su elección. siempre que también cumpla, para cada módulo independiente vinculado, los términos y condiciones de la licencia de ese módulo. Un módulo independiente es un módulo que no se deriva ni se basa en esta biblioteca. Si modifica esta biblioteca, puede extender esta excepción a su versión de la biblioteca, pero no está obligado a hacerlo. Si no desea hacerlo, elimine esta declaración de excepción de su versión.
Como tal, se puede utilizar para ejecutar, crear y distribuir una gran clase de aplicaciones y subprogramas. Cuando GNU Classpath se usa sin modificar como biblioteca de clases central para una máquina virtual, compilador para el lenguaje Java o para un programa escrito en el lenguaje de programación Java, no afecta la licencia para distribuir esos programas directamente. [5]
La licencia pública general reducida de GNU
Si bien la versión 2.1 de la LGPL era una licencia independiente, la actual versión 3 de la LGPL se basa en una referencia a la GPL.
En comparación con la licencia GNU Classpath anterior, la LGPL formula más requisitos para la excepción de vinculación: los licenciatarios deben permitir la modificación de las partes de la biblioteca que utilizan y la ingeniería inversa (de su software y la biblioteca) para depurar dichas modificaciones. [ cita requerida ]
Ver también
- Licencia pública general GNU § Vinculación y obras derivadas
- Licencia de software libre
- Licencia pública general modificada GNAT
- Excepción de OpenSSL
- Software que utiliza la excepción de vinculación GPL (categoría)
- Excepción de fuente GPL
Referencias
- ^ Preguntas frecuentes de GPL: vinculación con GPL
- ^ "MySQL, NuSphere resolver disputa de contrato GPL" . Consultado el 20 de mayo de 2021 .
- ^ "Erika Enterprise RTOS de código abierto" . Fundación Linux .
- ^ a b Stallman, Richard. Varias licencias y comentarios sobre ellas Archivado el 15 de agosto de 2000 en Wayback Machine . Fundación de Software Libre. Publicado el 17-05-2007. Consultado el 18 de mayo de 2007.
- ^ a b Classpath :: Licencia . Fundación de Software Libre. 2007-04-23. Consultado el 18 de mayo de 2007.
- ^ Excepción de biblioteca en tiempo de ejecución de GCC . Fundación de Software Libre. 2009-03-31. Consultado el 18 de octubre de 2011.
- ^ Texto del repositorio de códigos gcc de licencias de GCC . 2009-09-24. Consultado el 19 de enero de 2010.
- ^ "Descripción general del proyecto Java de código abierto" . Sun Microsystems . Consultado el 22 de mayo de 2007 .
- ^ Licencia de Glassfish , 2008-03-27, archivado desde el original el 2016-01-17 , consultado 2008-03-27
- ^ Licencia de Netbeans . 2008-03-27. Consultado el 27 de marzo de 2008.
- ^ Licencia pública general reducida GNU, versión 3 . 2007-06-29. Consultado el 19 de octubre de 2007.
- ^ Guía del segundo borrador de LGPLv3 . 2007-04-03. Consultado el 10 de mayo de 2007.
enlaces externos
Trabajos relacionados con la excepción de vinculación GPL en Wikisource