Preguntas frecuentes acerca de las licencias de GNU
Esta página contiene respuestas a las preguntas más comunes acerca de las licencias de GNU.
Una vez lea estas PF, puede poner a prueba sus conocimientos de las licencias de software libre con nuestro test.
Índice general
Preguntas básicas acerca de la GPL, el proyecto GNU y la Fundación para el Software Libre
- ¿Qué significa «GPL»?
- Cuando se habla de software libre, ¿significa que se está empleando la GPL?
- ¿Por qué debería usar la GPL de GNU en lugar de otras licencias de software libre?
- ¿Todos los programas de GNU utilizan como licencia la GPL de GNU?
- Utilizar la GPL para un programa, ¿lo convierte en software GNU?
- ¿Puedo usar la GPL para algo que no sea software?
- ¿Por qué no utilizan la GPL para manuales?
- ¿Hay traducciones de la GPL a otras lenguas?
- ¿Por qué algunas bibliotecas GNU están publicadas bajo la GPL ordinaria en lugar de la GPL Reducida?
- ¿Quién tiene la facultad de hacer cumplir la GPL?
- ¿Por qué la FSF pide a quienes contribuyen al desarrollo de programas cuyo copyright está en posesión de la FSF, que asignen el copyright a la FSF? Si tengo el copyright de un programa bajo la GPL, ¿debo hacerlo yo también? Si es así, ¿cómo?
- ¿Puedo modificar la GPL y hacer una licencia modificada?
Ideas generales en torno al contenido de la GPL
- ¿Por qué la GPL permite a los usuarios publicar versiones modificadas?
- ¿Exige la GPL que el código fuente de las versiones modificadas se ponga a disposición del público?
- ¿Puedo tener en el mismo ordenador un programa cubierto por la GPL y un programa distinto no-libre?
- Si sé de alguien que tiene copias de un programa cubierto por la GPL, ¿puedo exigirle que me proporcione una copia?
- ¿Qué significa eso de «oferta escrita válida para cualquier tercera parte»? ¿Significa que cualquier persona puede obtener el código fuente de cualquier programa publicado bajo la GPL, no importa cuál?
- La GPL dice que las versiones modificadas, de hacerse públicas, han de ser «licenciadas ... a todas las terceras partes.» ¿Quiénes son esas terceras partes?
- ¿Me permite la GPL vender copias del programa a cambio de dinero?
- ¿Me permite la GPL establecer una tarifa por bajar el programa de mi sitio web?
- ¿Me autoriza la GPL a exigir que cualquiera que reciba el software haya de abonarme unas cantidad y/o notificármelo?
- Si distribuyo software con licencia GPL a cambio de una cantidad, ¿es necesario que lo ponga a disposición también gratuitamente?
- ¿Me permite la GPL distribuir una versión modificada o una versión beta bajo un acuerdo de no divulgación?
- ¿Me permite la GPL desarrollar una versión modificada bajo un acuerdo de no divulgación?
- ¿Por qué exige la GPL que en toda copia del programa se incluya una copia de la GPL?
- ¿Y si el trabajo no es mucho más largo que la propia licencia?
- ¿Es preciso que reclame un copyright de mis modificaciones de un programa cubierto por la GPL?
- Si un programa combina código de dominio público con código cubierto por la GPL, ¿puedo tomar la parte que es de dominio público y utilizarla como código de dominio público?
- Quiero obtener un reconocimiento por mi trabajo. Quiero que la gente conozca lo que he escrito. ¿Puedo obtener un reconocimiento si uso la GPL?
- ¿Puedo omitir el preámbulo de la GPL, o las instrucciones acerca de su uso en los propios programas, para ahorrar espacio?
- ¿Qué significa que dos licencias son «compatibles»?
- ¿Qué se quiere decir con que una licencia es «compatible con la GPL»?
- ¿Por qué la licencia BSD original es incompatible con la GPL?
- ¿Que diferencia hay entre la «mera agregación» y la «combinación de dos módulos para formar un programa»?
- ¿Por qué la FSF pide a quienes contribuyen al desarrollo de programas cuyo copyright está en posesión de la FSF, que asignen el copyright a la FSF? Si tengo el copyright de un programa bajo la GPL, ¿debo hacerlo yo también? Si es así, ¿cómo?
- Si utilizo parte de un programa obtenido bajo la GPL de GNU, ¿estoy autorizado a modificar el código original para hacer un nuevo programa, y luego distribuir y vender ese nuevo programa comercialmente?
- ¿Puedo usar la GPL para algo que no sea software?
- ¿Cómo funciona la LGPL con Java?
Utilización de la GPL para sus programas
- ¿Podrían indicarme uno a uno los pasos a seguir para aplicar la GPL a mi programa?
- ¿Por qué debería usar la GPL de GNU en lugar de otras licencias de software libre?
- ¿Por qué exige la GPL que en toda copia del programa se incluya una copia de la GPL?
- ¿Y si el trabajo no es mucho más largo que la propia licencia?
- ¿Puedo omitir el preámbulo de la GPL, o las instrucciones acerca de su uso en los propios programas, para ahorrar espacio?
- ¿Cómo consigo un copyright de mi programa con el fin de publicarlo bajo la GPL?
- ¿Qué sucede si mi centro de enseñanza quiere incluir mi programa en sus productos de software privativo?
- Me gustaría publicar bajo la GPL de GNU un programa que he escrito, pero quisiera usar el mismo código en programas no-libres.
- El creador de un programa que en principio lo distribuyó bajo la GPL, ¿puede más adelante licenciarlo a otra parte para su uso exclusivo?
- ¿Puede el gobierno de los EE.UU. publicar un programa bajo la GPL de GNU?
- ¿Puede el gobierno de los EE. UU. publicar mejoras de un programa cubierto por la GPL?
- ¿Por qué los programas deben decir «Versión 2 de la GPL o cualquier versión posterior»?
- ¿Existe alguna manera de que yo pueda licenciar bajo la GPL los archivos que la gente obtenga mediante el uso de mi programa? Por ejemplo, si mi programa se utiliza para desarrollar diseños de hardware, ¿puedo exigir que esos diseños tengan que ser libres?
- ¿Por qué no utilizan la GPL para manuales?
- ¿Cómo se aplica la GPL a los tipos de letra?
- ¿Qué licencia debería emplear para plantillas de sistema destinadas al mantenimiento de sitios web?
- ¿Puedo publicar bajo la GPL un programa que he creado utilizando herramientas no libres?
Distribución de programas publicados bajo la GPL
- ¿Puedo publicar una versión modificada de un programa cubierto por la GPL, en forma binaria únicamente?
- Me he bajado sólo los binarios. Si distribuyo copias, ¿tengo que conseguir los archivos fuente y distribuirlos también?
- Quiero distribuir los binarios por medio de un soporte material sin acompañarlos de los fuente.¿Puedo proporcionar el código fuente por FTP en vez de por correo?
- Un amigo consiguió un binario cubierto por la GPL, con una oferta de facilitar el fuente, e hizo una copia para mí. ¿Puedo también yo hacer uso de la oferta para obtener el archivo fuente?
- ¿Puedo poner los binarios en mi servidor y los fuente en un sitio diferente de Internet?
- Quiero distribuir en forma binaria una versión extendida de un programa cubierto por la GPL. ¿Basta con distribuir el código fuente de la versión original?
- Quiero distribuir los binarios, pero distribuir el código fuente completo es un engorro. ¿Vale si con los binarios proporciono a los usuarios los diffs de la versión «estándar»?
- Quiero poner los binarios a disposición a través de FTP anónimo, pero enviar los fuente sólo a quien los solicite.
- ¿Cómo puedo asegurarme de que todo usuario que se baje los binarios obtenga también los fuente?
- ¿Puedo publicar un programa con una licencia que diga que puede distribuir versiones modificadas del mismo bajo la GPL, pero que no puede distribuir el original bajo la GPL?
- He descubierto que una empresa tiene una copia de un programa bajo la GPL y que para conseguirla hay que pagar. ¿No están vulnerando la GPL al no ponerlo a disposición en Internet?
- Una empresa está utilizando una versión modificada de un programa bajo la GPL en un sitio web. ¿Dice la GPL que deben publicar los fuente modificados?
- ¿Es «distribución» hacer y usar múltiples copias dentro de una organización o empresa?
- Si alguien roba un CD que contiene una versión de un programa cubierto por la GPL, ¿le concede la GPL el derecho de redistribuir esa versión?
- ¿Qué sucede si una empresa distribuye una copia como secreto comercial?
- ¿Tengo derechos de «uso legítimo» para utilizar el código fuente de un programa cubierto por la GPL?
- Trasladar una copia a una empresa subsidiaria bajo control y cuya titularidad se tiene en mayoría, ¿constituye distribución?
- ¿Pueden los programas para la instalación de software pedir al usuario que pulse con el ratón para mostrar su acuerdo con la GPL? Si obtengo un programa bajo la GPL, ¿he de manifestar mi acuerdo con alguna cosa?
- Me gustaría usar un software de instalación para un software licenciado bajo la GPL. ¿Implica esto que el instalador debe tener una licencia compatible con la GPL?
Utilización de programas publicados bajo la GPL cuando se escriben otros programas
- ¿Puedo tener en el mismo ordenador un programa cubierto por la GPL y un programa distinto que no sea libre?
- ¿Puedo emplear editores de texto cubiertos por la GPL, tales como GNU Emacs, para desarrollar programas que no sean libres? ¿Puedo emplear herramientas tales como GCC para compilarlos?
- ¿Existe alguna manera de que yo pueda licenciar bajo la GPL los archivos que la gente obtenga mediante el uso de mi programa? Por ejemplo, si mi programa se utiliza para desarrollar diseños de hardware, ¿puedo exigir que esos diseños tengan que ser libres?
- ¿En qué casos los archivos de salida de un programa cubierto por la GPL están también cubiertos por la GPL?
- Si porto mi programa a GNU/Linux, ¿significa eso que tengo que publicarlo como software libre, bajo la GPL o alguna otra licencia de software libre?
- Me gustaría incorporar software cubierto por la GPL a mi sistema privativo. ¿Puedo hacerlo?
- ¿La excepción de libstdc++ permite los enlaces dinámicos?
Combinación de los trabajos con código publicado bajo la GPL
- ¿Que diferencia hay entre la «mera agregación» y la «combinación de dos módulos para formar un programa»?
- ¿Tengo derechos de «uso legítimo» para utilizar el código fuente de un programa cubierto por la GPL?
- ¿Puede el gobierno de los EE.UU. publicar mejoras de un programa cubierto por la GPL?
- Si una biblioteca se publica bajo la GPL (y no bajo la LGPL), ¿significa esto que cualquier programa que la utilice ha de estar bajo la GPL o una licencia compatible?
- Usted tiene un programa cubierto por la GPL que yo quisiera enlazar con mi código para construir un programa privativo. El hecho de enlazar con su programa, ¿significa que tengo que publicar mi programa bajo la GPL?
- En tal caso, ¿hay alguna posibilidad de que obtenga una licencia de su programa bajo la GPL Reducida?
- Utilizar bajo la GPL cierto programa de GNU no encaja en nuestro proyecto para hacer software privativo. ¿Harían una excepción para nosotros? Eso representaría más usuarios del programa.
- Si un intérprete de lenguajes de programación es publicado bajo la GPL, ¿significa esto que los programas escritos para ser interpretados por él han de tener licencias compatibles con la GPL?
- Si un intérprete de lenguajes de programación tiene una licencia que es incompatible con la GPL, ¿puedo correr en él programas cubiertos por la GPL?
- Si añado un módulo a un programa cubierto por la GPL, ¿tengo que usar la GPL como licencia para mi módulo?
- Si un programa publicado bajo la GPL utiliza accesorios (plug-ins), ¿cuáles son los requisitos para las licencias de un accesorio?
- ¿Puedo utilizar la GPL al escribir un accesorio (plug-ins) para un programa no-libre?
- ¿Puedo publicar un programa privativo que está diseñado para cargar un accesorio (plug-ins) cubierto por la GPL?
- Me gustaría incorporar software cubierto por la GPL a mi sistema privativo. ¿Puedo hacerlo?
- Me gustaría incorporar software cubierto por la GPL a mi sistema privativo. ¿Puedo hacerlo poniendo un módulo «envoltorio», bajo una licencia compatible con la GPL pero más permisiva (como la licencia X11), entre la parte cubierta por la GPL y la parte privativa?
- ¿Puedo escribir software libre que utilice bibliotecas no-libres?
- ¿Qué problemas legales pueden producirse si utilizo bibliotecas incompatibles con la GPL con software GPL?
- Estoy escribiendo una aplicación para Windows con Microsoft Visual C++ (o Visual Basic) y voy a publicarla bajo la GPL. ¿Permite la GPL enlazar mi programa dinámicamente con la biblioteca en tiempo de ejecución Visual C++ (o Visual Basic)?
- Me gustaría modificar programas cubiertos por la GPL y enlazarlos con las bibliotecas de portabilidad de Money Guzzler Inc. No puedo distribuir el código fuente de esas bibliotecas, de manera que cualquier usuario que quisiera cambiar esas versiones tendría que obtener dichas librerías por separado. ¿Por qué la GPL no lo permite?
- Si una licencia para un módulo Q contiene un requisito que es incompatible con la GPL, pero el requisito sólo es aplicable cuando Q se distribuye solo, no cuando Q está incluido en un programa más grande, ¿hace eso que la licencia sea incompatible con la GPL? ¿Puedo combinar o enlazar Q con un programa cubierto por la GPL?
- En un lenguaje orientado a objetos tal como Java, si utilizo, sin modificarla, una clase que está bajo la GPL y la convierto en una subclase, ¿en qué modo afecta la GPL al programa mayor?
- ¿Cómo puedo autorizar que con mi biblioteca, cubierta por la GPL, se enlacen módulos privativos únicamente bajo una interfaz determinada?
- Consideren el siguiente caso: 1. X publica V1 de un proyecto bajo la GPL. 2. Y contribuye al desarrollo de V2 con cambios y código nuevo basado en V1. 3. X quiere poner V2 bajo una licencia distinta de la GPL. ¿Necesita X el permiso de Y?
- He escrito una aplicación que enlaza con muchos componente distintos, que tienen licencias diferentes. No tengo nada claro qué limitaciones afectan a la licencia de mi programa. ¿Pueden explicarme qué licencias puedo usar?
Preguntas acerca de vulneraciones de la GPL
- ¿Que debo hacer si descubro una posible violación de la GPL?
- ¿Quién tiene la facultad de hacer cumplir la GPL?
- He oído que alguien obtuvo una copia de un programa GPL bajo otra licencia. ¿Es esto posible?
- El creador de un programa cubierto por la GPL, ¿se encuentra vinculado por la GPL? ¿Podrían en algún caso los actos del creador constituir una vulneración de la GPL?
- He descubierto que una empresa tiene una copia de un programa bajo la GPL y que para conseguirla hay que pagar. ¿No están vulnerando la GPL al no ponerlo a disposición en Internet?
- ¿Qué significa «GPL»?
- «GPL» significa General Public License («Licencia Pública General»). La más extendida de tales licencias es la Licencia Pública General de GNU, o «GPL de GNU», para abreviar. Puede reducirse aún más, a «GPL», cuando se sobreentienda que nos estamos refiriendo a la «GPL de GNU».
- Cuando se habla de software libre, ¿significa que se está empleando la GPL?
- En absoluto, hay muchas otras licencias diferentes de
programas libres. Disponemos de una lista incompleta.
Cualquier licencia que conceda al usuario ciertas libertades
específicas es una licencia de software libre.
- ¿Por qué debería usar la GPL de GNU en lugar de otras licencias de software libre?
- Usar la GPL de GNU exige que todas las versiones mejoradas que se publiquen sean software libre. Esto significa que evitará el riesgo de tener que competir con una versión modificada privativa de su propio trabajo. No obstante, en algunas situaciones particulares puede ser mejor emplear una licencia más permisiva.
- ¿Todos los programas de GNU utilizan como licencia la GPL de GNU?
- La mayor parte de los paquetes de programas GNU utilizan la GPL de GNU, pero hay unos pocos programas (y partes de programas) que emplean licencias menos estrictas, tales como la GPL Reducida. Cuando lo hacemos así es por razones de estrategia.
- Utilizar la GPL para un programa, ¿lo convierte en software GNU?
- Cualquiera puede publicar un programa bajo la GPL de GNU,
pero eso no lo convierte en un programa de GNU.
Para que el programa sea un paquete de software de GNU ha de ser una contribución explícita al proyecto GNU. Eso sucede sólo cuando los creadores del programa y el Proyecto GNU dan su aprobación. Si está interesado en aportar un programa al proyecto GNU, escriba por favor a <maintainers@gnu.org>.
- ¿Qué debo hacer si descubro una posible violación de la GPL?
- Debería comunicarlo. En primer lugar, compruebe los hechos lo mejor que pueda. A continuación, comuníqueselo al publicador o titular del copyright del programa concreto cubierto por la GPL. Si este es la Free Software Foundation, escriba a <license-violation@gnu.org>. También es posible que el titular del copyright sea el mantenedor del programa, o si no él podría decirle cómo ponerse en contacto con el poseedor del copyright, de modo que informe al mantenedor.
- ¿Por qué la GPL permite a los usuarios publicar versiones modificadas?
- Un aspecto crucial del software libre es que los usuarios
tienen la libertad de cooperar. Es absolutamente esencial que a los
usuarios que deseen ayudarse entre sí se les permita compartir
sus correcciones de errores y mejoras con otros usuarios.
Algunos han propuesto licencias alternativas a la GPL que requerirían que las versiones modificadas fueran supervisadas por el autor original. Mientras el autor original permaneciera atento a las necesidades de mantenimiento, esto podría funcionar bien en la práctica; pero si el autor (en mayor o menor medida) tiene que dejar de hacer otras cosas o no atiende las necesidades de todos los usuarios, el procedimiento se viene abajo. Dejando a un lado los problemas prácticos, este planteamiento no permite a los usuarios ayudarse entre sí.
En ocasiones, el control sobre las versiones modificadas se propone como un medio de evitar la confusión entre las diferentes versiones hechas por los usuarios. A juzgar por nuestra experiencia, esta confusión no supone mayor problema. Se han hecho muchas versiones de Emacs independientes del proyecto GNU, pero los usuarios son capaces de distinguirlas. La GPL exige al autor de una versión que ponga su nombre en ella, con el objeto de distinguirla de otras versiones y para proteger la reputación de otros responsables del mantenimiento del programa.
- ¿Exige la GPL que el código fuente de las versiones modificadas se ponga a disposición del público?
- La GPL no le obliga a publicar el programa
modificado. Usted es libre de hacer versiones modificadas y usarlas en privado, sin
tener nunca que hacerlas públicas. Esto es aplicable también a
organizaciones (empresas incluidas); una organización puede
hacer una versión modificada y usarla internamente sin hacerla
pública fuera de la organización.
Pero si hace de alguna manera pública la versión modificada, la GPL le exige que ponga el código fuente modificado, a disposición de los usuarios, bajo la GPL.
Así, pues, la GPL le autoriza a publicar el programa modificado, de determinadas maneras y no de otras; pero la decisión de publicarlo o no depende de usted.
- ¿Puedo tener en el mismo ordenador un programa cubierto por la GPL y un programa distinto que no sea libre?
- Sí. La cláusula de la «mera agregación» de la GPL lo permite de manera explícita, pero esto no hace más que reforzar lo que creemos sucedería de cualquier modo.
- Si sé de alguien que tiene copias de un programa cubierto por la GPL, ¿puedo exigirle que me proporcione una copia?
- No. La GPL le autoriza a hacer y redistribuir copias del programa si decide hacerlo Tiene también derecho a no redistribuir el programa, si así lo decide.
- ¿Qué significa eso de «oferta escrita válida para cualquier tercera parte»? ¿Significa que cualquier persona puede obtener el código fuente de cualquier programa publicado bajo la GPL, no importa cuál?
- «Válido para cualquier tercera parte»
significa que quien reciba esa oferta tiene derecho a hacerla valer
ante usted.
Si usted distribuye comercialmente los archivos binarios sin acompañarlos del código fuente, la GPL dice que debe hacer por escrito la oferta de facilitar el código fuente más adelante. Cuando los usuarios redistribuyan sin ánimo comercial los binarios recibidos de usted, deberán incluir una copia de esa oferta escrita. Eso significa que quienes no hayan obtenido los binarios directamente de usted tienen también la posibilidad de recibir copia de los binarios, junto a la oferta escrita.
La razón por la que exigimos que la oferta sea válida para cualquier tercera parte es que, de este modo, quien reciba los binarios por otra vía pueda solicitarle a usted el código fuente.
- La GPL dice que las versiones modificadas, de hacerse públicas, han de ser «licenciadas ... a todas las terceras partes.» ¿Quiénes son esas terceras partes?
- La Sección 2ª dice que las versiones modificadas que usted distribuya han de ser licenciadas a todas las terceras partes bajo la GPL. «Todas las terceras partes» significa absolutamente todo el mundo, pero esto no exige que usted haga físicamente algo por ellos. Sólo significa que tienen una licencia de usted, bajo la GPL, para esa versión.
- ¿Es preciso que reclame el copyright de mis modificaciones de un programa cubierto por la GPL?
- No es preciso que reclame el copyright de sus cambios. De
todos modos, en la mayoría de los países esto sucede
automáticamente por defecto, de manera que si quiere que sus
cambios no tengan copyright tendrá que declarar
explícitamente que son de dominio público.
Reclame o no un copyright sobre sus cambios, en cualquier caso debe publicar la versión modificada, en su conjunto, bajo la GPL (si es que hace pública su versión modificada).
- Si un programa combina código de dominio público con código cubierto por la GPL, ¿puedo tomar la parte que es de dominio público y utilizarla como código de dominio público?
- Puede hacerlo, si acierta a saber qué parte es de dominio público y a separarla del resto. Si el creador puso su código en el dominio público, es de dominio público sin importar donde haya estado.
- ¿Me permite la GPL vender copias del programa a cambio de dinero?
- Sí. La GPL autoriza a cualquier persona a hacerlo. El derecho de vender copias es parte de la definición de software libre. Excepto en una situación particular, no existe un límite al precio que puede ponerles. (Esa excepción es la oferta escrita de proporcionar el código fuente, que ha de acompañar a los binarios obligatoriamente cuando estos no se distribuyen junto a su código fuente)
- ¿Me permite la GPL establecer una tarifa por bajar el programa de mi sitio?
- Sí. Usted puede establecer la tarifa que desee por distribuir copias del programa. Si distribuye binarios para descargar, ha de facilitar un «acceso equivalente» para descargar los fuente. Por tanto, la tarifa para descargar los fuente no puede ser mayor que la tarifa para bajar los binarios.
- ¿Me autoriza la GPL a exigir que cualquiera que reciba el software haya de abonarme unas cantidad o notificármelo?
- No. En realidad, una exigencia de ese tipo haría que
el programa no fuese libre. Si la gente tiene que pagar cuando obtiene
una copia del programa, o si tiene que notificárselo a alguien
en particular, entonces el programa no es libre. Véase
la definición de software libre.
La GPL es una licencia de software libre, y por tanto permite a la gente usar e incluso distribuir los programas sin que por hacerlo pueda exigírseles el abono de ninguna cantidad a nadie.
- Si distribuyo software con licencia GPL a cambio de una cantidad, ¿es necesario que lo ponga a disposición también gratuitamente?
- No. De todos modos, si alguien abona la cantidad y obtiene una copia, la GPL le concede la libertad de hacerlo público por un precio o no. Por ejemplo, alguien podría pagarle el precio y después colgar una copia en su sitio web para el público en general.
- ¿Me permite la GPL distribuir una versión modificada o una versión beta bajo un acuerdo de no divulgación?
- No. La GPL dice que cualquiera que reciba de usted una copia de su versión tiene derecho a redistribuir copias (modificadas o no) de esa versión. No le autoriza a distribuir el trabajo en condiciones más restrictivas, cualesquiera que sean.
- ¿Me permite la GPL desarrollar una versión modificada bajo un acuerdo de no divulgación?
- Sí. Por ejemplo, puede aceptar un contrato para desarrollar cambios
y acordar no publicar sus cambios
hasta que el cliente dé su aprobación. Esto está
permitido porque en tal caso no hay código cubierto por la GPL
distribuido bajo un acuerdo de no divulgación.
También puede proporcionar al cliente sus cambios bajo la GPL, pero acordar no proporcionárselos a nadie más hasta que el cliente lo autorice. En este caso tampoco hay código cubierto por la GPL que esté siendo distribuido bajo un acuerdo de no divulgación o con restricciones adicionales.
La GPL concedería al cliente el derecho de redistribuir su versión. En un caso como este, el cliente probablemente elegirá no ejercer ese derecho, pero lo tiene.
- Quiero obtener un reconocimiento por mi trabajo. Quiero que la gente conozca lo que he escrito. ¿Puedo obtener un reconocimiento si uso la GPL?
- Sin duda puede obtener un reconocimiento por su trabajo. Parte de la publicación de un programa bajo la GPL consiste en escribir una nota de copyright en su propio nombre (suponiendo que sea usted el titular del copyright). La GPL exige que en todas las copias figure una nota de copyright apropiada.
- ¿Por qué exige la GPL que en toda copia del programa se incluya una copia de la GPL?
- Incluir en la obra una copia de la licencia es vital, pues
de este modo cualquiera que obtiene una copia del programa puede
conocer cuáles son sus derechos.
Uno podría sentirse tentado de incluir una dirección de Internet que remita a la licencia, en lugar de la licencia misma. Pero no puede estar seguro de que esa dirección seguirá siendo válida dentro de cinco o diez años. Es posible que dentro de veinte años ni siquiera existan las direcciones de Internet tal y como hoy las conocemos.
La única forma de asegurarse de que, por muchos cambios que sufra la red, la gente que tiene copias del programa continuará teniendo la posibilidad de ver la licencia, consiste en incluir una copia de la licencia en el programa.
- ¿Y si el trabajo no es mucho más largo que la propia licencia?
- Si un programa es así de breve, en vez de la GPL de GNU puede utilizar una licencia sencilla, completamente permisiva.
- ¿Puedo omitir el preámbulo de la GPL, o las instrucciones acerca de su uso en los propios programas, para ahorrar espacio?
- El preámbulo y las instrucciones son parte integrante
de la GPL y no pueden omitirse. En realidad, la GPL tiene copyright, y
su licencia permite únicamente la copia literal de la GPL en su
integridad. (Puede utilizar los términos legales para
hacer otra licencia, pero no será
la GPL de GNU).
El preámbulo y las instrucciones suman unos 5000 caracteres, menos de un tercio del tamaño total de la GPL. No supondrán un cambio sustancial en el tamaño de un paquete de software, a menos que el propio paquete sea muy pequeño. En ese caso, puede utilizar también una licencia sencilla, totalmente permisiva, en lugar de la GPL de GNU.
- ¿Qué significa que dos licencias son «compatibles»?
- Para combinar dos programas (o partes sustanciales de los
mismos) dentro de una obra más amplia es preciso tener
permiso para usar ambos programas de esa manera. Si las licencias de
dichos programas lo permiten, son compatibles. Si no es posible
respetar a la vez las cláusulas de ambas licencias, son
incompatibles.
En algunas licencias la compatibilidad puede depender del tipo de combinación que se haga. Por ejemplo, pueden permitir vincular dos módulos, pero no fundir los códigos en un solo módulo.
- ¿Qué se quiere decir con que una licencia es «compatible con la GPL»?
- Significa que la otra licencia y la GPL de GNU son
compatibles; usted puede combinar el código publicado
bajo la otra licencia con el código publicado bajo
la GPL de GNU dentro de un programa más amplio.
La GPL permite tal combinación siempre que se publique bajo la GPL de GNU. La otra licencia es compatible con la GPL si también lo permite.
- ¿Puedo escribir software libre que utilice bibliotecas no-libres?
- Si hace esto, su programa no podrá utilizarse
por completo en un entorno libre. Si su programa depende de una
biblioteca que no sea libre para realizar determinada tarea, no puede realizar
esa tarea en el mundo libre. Si depende de una biblioteca no-libre para
funcionar, no puede formar parte de un sistema operativo libre como
GNU: está completamente fuera del mundo libre.
De modo que, por favor, plantéese lo siguiente: ¿Puede encontrar la manera de realizar esa tarea sin emplear esa biblioteca? ¿Puede escribir un sustituto libre para esa biblioteca?
Si el programa está ya escrito haciendo uso de la biblioteca no-libre, quizá sea demasiado tarde para cambiar la decisión. Puede también publicar el programa tal cual está, antes que no publicarlo. Pero haga el favor de mencionar en el LÉEME que la necesidad de la biblioteca no-libre es un inconveniente, y sugiera la tarea de cambiar el programa de tal modo que realice el mismo trabajo sin dicha biblioteca. Sugiera que cualquiera que se proponga desarrollar el programa a fondo, lo libere en primer lugar de su dependencia de la biblioteca no-libre.
Advierta que también puede haber problemas legales en combinar algunas bibliotecas no-libres con software libre cubierto por la GPL. Para más información, vea la pregunta sobre software GPL con bibliotecas incompatibles con la GPL.
- ¿Qué problemas legales pueden producirse si utilizo bibliotecas incompatibles con la GPL con software GPL?
- Si las bibliotecas que usted enlaza entran dentro
de la siguiente salvedad de la GPL:
Como excepción especial el código fuente distribuido no necesita incluir nada que sea distribuido normalmente (bien como fuente, bien en forma binaria) con los componentes principales (compilador, kernel y similares) del sistema operativo en el cual funciona el ejecutable, a no ser que el propio componente acompañe al ejecutable.(*)
Entonces no tiene que hacer nada en especial para utilizarla; el requisito de distribuir el código fuente del programa en su conjunto no incluye esas bibliotecas, ni siquiera si distribuye un ejecutable enlazado que las contenga. De este modo, si las bibliotecas que usted necesita vienen con partes fundamentales de un sistema operativo privativo, la GPL dice que se permite enlazar su programa con dichas bibliotecas, sin condiciones de ningún tipo.
Si usted quiere enlazar su programa con una biblioteca que no entra dentro de esa excepción, tendrá que añadir su propia cláusula de excepcionalidad, completamente aparte de la GPL. Esta nota de copyright y la de la licencia dan permiso para enlazar con el programa X:
Copyright (C) 20aa <nombre del titular del copyright>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
In addition, as a special exception, the copyright holders of ABC give you permission to combine ABC program with free software programs or libraries that are released under the GNU LGPL and with code included in the standard release of DEF under the XYZ license (or modified versions of such code, with unchanged license). You may copy and distribute such a system following the terms of the GNU GPL for ABC and the licenses of the other code concerned, provided that you include the source code of that other code when and as the GNU GPL requires distribution of source code.
Note that people who make modified versions of ABC are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.
IMPORTANTE: Esta traducción tiene carácter meramente informativo y carece de validez legal.
Copyright (C) 20aa <nombre del titular del copyright>
Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU según es publicada por la Fundación para el Software Libre, bien de la versión 2 de dicha Licencia o bien (según su elección) de cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Véase la Licencia Pública General de GNU para más detalles.
Debería haber recibido una copia de la Licencia Pública General junto con este programa. Si no ha sido así escriba a la Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Al enlazar ABC estática o dinámicamente con otros módulos se está haciendo una obra combinada basada en ABC. Así, pues, los términos y condiciones de la Licencia Pública General de GNU cubren la combinación en conjunto.
Además, como excepción especial, los titulares del copyright de ABC le conceden permiso para combinar el programa ABC con programas de software libre o bibliotecas publicadas bajo la LGPL de GNU y con código incluido en la edición estándar de DEF bajo la licencia XYZ (o versiones modificadas de dicho código, siempre que la licencia no haya cambiado). Puede copiar y distribuir el sistema así construido, según los términos de la GPL de GNU para ABC, y las licencias del resto del código implicado, siempre que incluya el código fuente de ese otro código, en el momento y de la manera en que la GPL de GNU exija la distribución del código fuente.
Advierta que quien haga modificaciones de ABC no está obligado a garantizar esta excepción especial en sus versiones modificadas; queda a su discreción hacerlo o no. La Licencia Pública General de GNU concede permiso para publicar una versión modificada sin esta excepción; esta excepción hace también posible publicar una versión modificada que contenga dicha excepción.
Deberá poner este texto en cada archivo al que se aplique la excepción.
Sólo los titulares del copyright del programa tienen capacidad legal para autorizar esta excepción. Si usted ha escrito todo el programa, suponiendo que su empleador o centro de enseñanza no reclame no reclame los derechos, usted es el titular del copyright, de modo que puede autorizar esta excepción. Pero si quiere utilizar en su código partes de otros programas cubiertos por la GPL, de autores diferentes, usted no puede autorizar esta excepción en lugar de ellos. Tendrá que obtener la aprobación de los titulares del copyright de esos programas.
Si otros modifican el programa, ellos no tienen por qué hacer la misma excepción para su código; queda a su discreción hacerlo o no.
Si las bibliotecas con las que intenta enlazar no son libres, consulte la sección acerca de escribir software libre que utiliza bibliotecas no-libres.
- ¿Cómo consigo un copyright de mi programa con el fin de publicarlo bajo la GPL?
- En virtud de la Convención de Berna, todo lo que se
escribe tiene automáticamente copyright desde el momento en
que la obra es fijada en un soporte material. De manera que no tiene
que hacer nada para «obtener» el copyright de lo que usted
escribe, con tal que nadie más pueda reclamar la titularidad
de su trabajo.
En cualquier caso, es una buena idea registrar su copyright en los EE.UU. Eso le dará más fuerza para combatir a los posibles infractores en los EE.UU.
El caso en que existe la posibilidad de que alguien más reclame el copyright se produce cuando usted es un empleado o un estudiante. En ese caso, el empleador o el centro de enseñanza podrían alegar que usted hizo ese trabajo para ellos y que es a ellos a quienes pertenece el copyright. La validez de esa alegación dependerá de diversas circunstancias tales como las leyes del lugar donde reside, su contrato de trabajo y el tipo de trabajo que hace. Si existe alguna duda, lo mejor es consultar a un abogado.
Si cree que su empleador o centro de enseñanza podrían tener algún derecho sobre la obra, puede resolver el problema consiguiendo una renuncia al copyright firmada por una persona convenientemente autorizada de la empresa o centro de enseñanza. (Su inmediato superior o un profesor normalmente NO están autorizados a firmar tal renuncia).
- ¿Qué sucede si mi centro de enseñanza quiere incluir mi programa en sus productos de software privativo?
- En la actualidad muchas universidades tratan de obtener
fondos restringiendo el uso del conocimiento y la información que
desarrollan, comportándose en la práctica de manera muy similar a la
de las empresas comerciales. (Cfr. "The Kept University",
Atlantic Monthly, March 2000, para un tratamiento más amplio de
este problema y sus consecuencias).
Si ve alguna posibilidad de que su escuela rehúse el permiso para que su programa sea publicado como software libre, lo mejor es abordar el asunto en las primeras etapas de su desarrollo. Cuanto más cerca esté el programa de funcionar y ser útil, más tentada podrá sentirse la administración de arrebatárselo y terminarlo sin usted. En una etapa más temprana sus posibilidades de conseguirlo serán mayores.
Así, pues, le recomendamos que se dirija a ellos cuando el programa esté todavía a medio hacer, diciendo: «Si están de acuerdo en publicar esto como software libre, lo termino.» No vea esto como un falso alarde de fuerzas. Para conseguirlo tiene que tener el valor de decir: «Mi programa será libre o nunca verá la luz».
- ¿Podrían indicarme uno a uno los pasos a seguir para aplicar la GPL a mi programa?
- Consulte la página instrucciones sobre la GPL.
- He oído que alguien obtuvo una copia de un programa GPL bajo otra licencia. ¿Es esto posible?
- La GPL de GNU no autoriza a los usuarios a
añadir otras licencias al programa. Pero el titular del
copyright de un programa puede publicarlo bajo diversas licencias a la vez. Una de
ellas puede ser la GPL de GNU.
La licencia incluida en la copia que usted tiene, suponiendo que haya sido puesta por el titular del copyright y que usted consiguiera la copia de forma legítima, es la licencia aplicable a su copia.
- Me gustaría publicar bajo la GPL de GNU un programa que he escrito, pero quisiera usar el mismo código en programas no-libres.
- Publicar un programa no libre es siempre censurable desde el punto de vista ético, pero legalmente no existe ningún problema para hacerlo. Si usted es el titular del copyright del código, puede publicarlo bajo diferentes licencias no exclusivas en diferentes momentos.
- El creador de un programa cubierto por la GPL, ¿se encuentra vinculado por la GPL? ¿Podrían en algún caso los actos del creador constituir una vulneración de la GPL?
- En sentido estricto, la GPL es una licencia del creador
para otros, a fin de determinar lo que estos pueden hacer
con el programa: uso, distribución y cambios. El creador
mismo no se encuentra vinculado por la licencia, de manera que, haga lo
que haga, no puede considerarse una «vulneración» de la GPL.
De todos modos, si el creador hace algo que supondría una vulneración de la GPL si fuera otro quien lo hiciera, sin duda perderá su credibilidad moral ante la comunidad.
- El creador de un programa que en principio lo distribuyó bajo la GPL, ¿puede más adelante licenciarlo a otra parte para su uso exclusivo?
- No, porque el público ya tiene el derecho de usar el programa bajo la GPL, y este derecho no puede ser revocado.
- ¿Puedo emplear editores de texto cubiertos por la GPL, tales como GNU Emacs, para desarrollar programas no-libres? ¿Puedo emplear herramientas tales como GCC para compilarlos?
- Sí, puesto que el copyright de los editores y
herramientas no cubre el código que usted escriba. El hecho de
utilizarlos no impone, legalmente, ninguna restricción a la
licencia que use para su código.
Algunos programas, por razones técnicas, copian partes de sí mismos en su salida; por ejemplo, Bison copia un analizador sintáctico estándar en el archivo de salida. En tales casos, el texto copiado en la salida está cubierto por la misma licencia que lo cubre en el código fuente. Al tiempo, la parte del archivo de salida que se deriva de los datos suministrados al programa hereda los derechos de dichos datos.
Como sucede de hecho, Bison puede utilizarse también para desarrollar programas no libres. En su momento decidimos autorizar de forma explícita y sin restricciones el uso del analizador sintáctico estándar de Bison en los archivos de salida de este programa. Tomamos esta decisión porque ya existían otras herramientas análogas que permitían su uso para programas no-libres.
- ¿Tengo derechos de «uso legítimo» para utilizar el código fuente de un programa cubierto por la GPL?
- Sí, lo tiene. «Uso legítimo» es
el uso que está autorizado sin ningún permiso especial.
Puesto que para dicho uso no necesita el permiso de los creadores,
puede hacerlo independientemente de lo que los creadores digan al
respecto, ya sea en la licencia o en cualquier
otra parte, ya sea esa licencia la GPL de GNU o cualquier otra
licencia de software libre.
Advierta, no obstante, que el principio de uso legítimo no es igual en todas partes; las clases de uso que se considera «legítimo» varían de un país a otro.
- ¿Puede el gobierno de los EE.UU. publicar un programa bajo la GPL de GNU?
- Si el programa lo escriben empleados del gobierno federal
como parte de su trabajo, está en el dominio público, lo
que significa que no tiene copyright. Puesto que la GPL de GNU tiene su
fundamento en el copyright, dicho programa no puede publicarse bajo la GPL de GNU.
(No obstante, será software libre: un
programa de dominio público es libre).
De todos modos, cuando una agencia del gobierno federal de los EE.UU. se sirve de contratistas para desarrollar software, la situación es diferente. El contrato puede exigir al contratista que lo publique bajo la GPL de GNU (GNU Ada fue desarrollado de esta manera.) O bien el contrato puede transferir el copyright a la agencia del gobierno, la cual puede luego publicar el software bajo la GPL de GNU.
- ¿Puede el gobierno de los EE.UU. publicar mejoras de un programa cubierto por la GPL?
- Sí. Si las mejoras son escritas por empleados del
gobierno federal como parte de su trabajo, entonces las mejoras
están en el dominio público. No obstante, la
versión mejorada, en su conjunto, sigue estando cubierta por
la GPL de GNU. No hay ningún problema en esta situación.
Si el gobierno se sirve de contratistas para hacer el trabajo, entonces las mejoras también pueden estar cubiertas por la GPL.
- ¿Existe alguna manera de que yo pueda licenciar bajo la GPL los archivos que la gente obtenga mediante el uso de mi programa? Por ejemplo, si mi programa se utiliza para desarrollar diseños de hardware, ¿puedo exigir que esos diseños tengan que ser libres?
- En general, esto es legalmente imposible. Las leyes de
copyright no le autorizan a decir nada acerca del uso
que la gente haga de los archivos que obtengan al introducir sus
propios datos en el programa que usted ha creado. Si el usuario
utiliza el programa que usted ha creado, para
introducir o procesar sus propios datos, el copyright de los archivos
de salida le pertenece a él, no a usted. Dicho de otro modo,
cuando un programa traduce los datos introducidos y los convierte de alguna
manera, el código resultante hereda los derechos de los datos a partir de
los cuales se ha producido dicho código.
Así, pues, para que usted pudiera tener algo que decir acerca del uso de los archivos de salida tendría que suceder que partes sustanciales de dichos archivos hubieran sido copiadas (más o menos) del texto de su programa. Por ejemplo, parte de los archivos de salida de Bison (Vea más arriba) estarían cubiertos por la GPL de GNU si no hubiéramos hecho una excepción para este caso concreto.
Usted, artificialmente, podría hacer que un programa copiara determinado texto en los archivos de salida, aun cuando no existiera ninguna razón técnica para ello. Pero si ese texto copiado no sirve a ningún propósito práctico, el usuario podría sencillamente borrar del archivo de salida ese texto y utilizar sólo el resto. De esa manera no tendría que respetar las condiciones de redistribución del texto copiado.
- ¿En qué casos los archivos de salida de un programa cubierto por la GPL están también cubiertos por la GPL?
- Únicamente cuando el programa copia partes de sí mismo en el archivo de salida.
- Si añado un módulo a un programa cubierto por la GPL, ¿tengo que usar la GPL como licencia para mi módulo?
- La GPL dice que el programa combinado, en su conjunto,
ha de publicarse bajo la GPL. De modo que su módulo ha de
estar disponible para su uso bajo la GPL.
Pero usted puede dar un permiso adicional para el uso de su código. Si lo desea puede publicar su programa bajo una licencia más laxa que la GPL, pero compatible con ella. La página de licencias le ofrece una lista parcial de licencias compatibles con la GPL.
- Si una biblioteca se publica bajo la GPL (y no bajo la LGPL), ¿significa esto que cualquier programa que la utilice ha de estar bajo la GPL o una licencia compatible?
- Sí, porque el programa utiliza la biblioteca en su funcionamiento.
- Si un intérprete de lenguajes de programación es publicado bajo la GPL, ¿significa esto que los programas escritos para ser interpretados por él han de tener licencias compatibles con la GPL?
- Cuando el intérprete no hace más que
interpretar un lenguaje, la respuesta es no. El programa interpretado,
para el intérprete, son sólo datos; una licencia de
software libre como la GPL, basada en las leyes de copyright, no puede
poner límites a los datos que usted use en el intérprete.
Puede utilizarlo con datos cualesquiera (el programa interpretado), de
la manera que quiera, y no hay ningún requisito con
relación a la licencia de esos datos.
No obstante, cuando el intérprete se amplía para proporcionar «enlaces» a otras utilidades (a menudo, aunque no necesariamente, bibliotecas) el programa interpretado se enlaza de hecho a las utilidades que utiliza por medio de esos enlaces. Así, pues, si esas utilidades están publicadas bajo la GPL, el programa interpretado que las utiliza ha de publicarse de manera compatible con la GPL. La JNI o Java Native Interface es un ejemplo de dicho mecanismo de enlace; las bibliotecas a las que se accede de esta manera están enlazadas dinámicamente con los programas en Java que hacen llamadas a ellas. Estas bibliotecas están también enlazadas con el intérprete. Si el intérprete está enlazado estáticamente con esas bibliotecas, o si está diseñado para enlazar dinámicamente con esas bibliotecas en concreto, entonces tiene que publicarse también de manera compatible con la GPL.
Otro caso parecido y muy común es el de proporcionar con el intérprete bibliotecas que son también, ellas mismas, interpretadas. Por ejemplo, Perl viene con muchos módulos en Perl, y una implementación de Java viene con muchas clases de Java. Estas bibliotecas y los programas que hacen llamadas a ellas están siempre enlazados dinámicamente.
Una consecuencia de ello es que si decide utilizar en su programa módulos de Perl o clases de Java con licencia GPL, deberá publicar el programa de manera compatible con la GPL, con independencia de la licencia utilizada en el intérprete de Perl o Java en el que correrá el programa combinado de Perl o Java.
- Estoy escribiendo una aplicación para Windows con Microsoft Visual C++ (o Visual Basic) y voy a publicarla bajo la GPL. ¿Permite la GPL enlazar mi programa dinámicamente con la biblioteca en tiempo de ejecución Visual C++ (o Visual Basic)?
- Sí, porque esa biblioteca en tiempo de ejecución acompaña
normalmente al compilador o intérprete que usted está utilizando.
Así, pues, entra dentro de la excepción de la sección 3 de la GPL.
Es legal hacerlo.
Esto no significa que sea una buena idea escribir el programa de modo que corra sólo en Windows. Hacerlo así da como resultado un programa que es software libre, pero «atrapado» (en este caso, atrapado por Windows en vez de por Java, pero el resultado es el mismo).
- ¿Por qué la licencia BSD original es incompatible con la GPL?
- Porque impone una exigencia específica que no
está en la GPL; a saber, el requisito acerca de los avisos
del programa. La GPL estipula:
No puede imponer al receptor ninguna restricción más sobre el ejercicio de los derechos aquí garantizados.La cláusula acerca de los avisos impone una nueva restricción, de modo que es incompatible con la GPL.
La licencia BSD revisada carece de dicha cláusula, lo cual elimina el problema.
- Si un programa publicado bajo la GPL utiliza accesorios (plug-ins), ¿cuáles son los requisitos para las licencias de un accesorio?
- Depende de la manera en que el programa invoque sus
accesorios. Si el programa utiliza fork y exec para
invocar los accesorios, entonces los accesorios son programas
separados, de modo que la licencia del programa principal no
plantea ninguna exigencia con relación a ellos.
Si el programa enlaza dinámicamente con los accesorios, llama a funciones de estos y viceversa, y comparten estructuras de datos, consideramos que forman un solo programa, el cual debe ser tratado como una extensión de ambos: programa principal y accesorios. Esto significa que los accesorios deben publicarse bajo la GPL u otra licencia de software libre compatible con ella, y que al distribuir los accesorios deben respetarse los términos de la GPL.
Si el programa enlaza dinámicamente con los accesorios, pero la comunicación entre ellos se limita a invocar la función «principal» del accesorio con algunas opciones, y a esperar su respuesta, estaremos ante un caso límite.
- ¿Puedo utilizar la GPL al escribir un accesorio para un programa no-libre?
- Si el programa utiliza fork y exec para invocar los
accesorios, entonces los accesorios son programas separados, de modo
que la licencia del programa principal no plantea
ninguna exigencia con respecto a ellos. De manera que puede utilizar
la GPL para los accesorios, y no existen requisitos especiales.
Si el programa enlaza dinámicamente con los accesorios, llama a funciones de estos y viceversa, y comparten estructuras de datos, consideramos que forman un solo programa, el cual debe ser tratado como una extensión de ambos: programa principal y accesorios. Esto significa que esa combinación del accesorio cubierto por la GPL con el programa principal no-libre vulneraría la GPL. De todos modos, puede resolver ese problema legal añadiendo a la licencia de su accesorio una excepción dando permiso para enlazarlo con el programa principal no-libre.
Vea también la pregunta: ¿Puedo escribir software libre que utilice bibliotecas no-libres?
- ¿Puedo publicar un programa privativo que está diseñado para cargar un accesorio cubierto por la GPL?
- Depende del modo en que el programa invoque su
accesorio. Si el programa utiliza fork y exec para invocar los
accesorios, entonces los accesorios son programas separados, de modo
que la licencia del accesorio no plantea ninguna exigencia con
relación al programa principal.
Si el programa enlaza dinámicamente con los accesorios, llama a funciones de estos y viceversa, y comparten estructuras de datos, consideramos que forman un solo programa, el cual debe ser tratado como una extensión de ambos: programa principal y accesorios. A fin de utilizar los accesorios cubiertos por la GPL, el programa principal debe publicarse bajo la GPL u otra licencia de software libre compatible con la GPL, y cuando el programa principal se distribuye para ser usado con esos accesorios, los términos de la GPL deben ser respetados.
Si el programa enlaza dinámicamente con los accesorios, pero la comunicación entre ellos se limita a invocar la función «principal» del accesorio con algunas opciones, y a esperar su respuesta, estaremos ante un caso límite.
Vea también la pregunta: ¿Puedo escribir software libre que utilice bibliotecas no-libres?
- Usted tiene un programa cubierto por la GPL que yo quisiera enlazar con mi código para construir un programa privativo. El hecho de enlazar con su programa, ¿significa que tengo que publicar mi programa bajo la GPL?
- No exactamente. Significa que debe liberar su programa bajo una licencia compatible con la GPL; más concretamente, que sea compatible con una o más versiones de la GPL aceptadas por el resto del código en la combinación que enlaza. Esta combinación debe estar disponible bajo esas versiones de la GPL.
- En tal caso, ¿hay alguna posibilidad de que obtenga una licencia de su programa bajo la GPL Reducida?
- Puede preguntarlo, pero la mayoría de los autores se mantendrán firmes y
dirán que no. La idea de la GPL es que si usted quiere incluir nuestro
código en su programa, su programa deberá ser también software libre.
Se cree que eso ejercerá alguna presión sobre usted para
que publique su programa de manera que entre a formar parte de
nuestra comunidad.
Siempre le queda la alternativa legal de no usar nuestro código.
- ¿Cómo puedo autorizar que con mi biblioteca, cubierta por la GPL, se enlacen módulos privativos únicamente bajo una interfaz determinada?
- Añada este texto a la nota legal de cada archivo incluido en el
paquete, al final del texto que dice que el archivo se distribuye bajo
la GPL de GNU:
Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination. In addition, as a special exception, the copyright holders of ABC give you permission to combine ABC program with free software programs or libraries that are released under the GNU LGPL and with independent modules that communicate with ABC solely through the ABCDEF interface. You may copy and distribute such a system following the terms of the GNU GPL for ABC and the licenses of the other code concerned, provided that you include the source code of that other code when and as the GNU GPL requires distribution of source code. Note that people who make modified versions of ABC are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.IMPORTANTE: Esta traducción tiene carácter meramente informativo y carece de validez legal.
Al enlazar ABC estática o dinámicamente con otros módulos se está haciendo una obra combinada basada en ABC. Así, pues, los términos y condiciones de la Licencia Pública General de GNU cubren la combinación en conjunto. Además, como excepción especial, los titulares del copyright de ABC le conceden permiso para combinar el programa ABC con programas de software libre o bibliotecas publicadas bajo la LGPL de GNU y con módulos independientes que se comuniquen con ABC únicamente a través de la interfaz ABCDEF. Puede copiar y distribuir el sistema así construido, según los términos de la GPL de GNU para ABC, y las licencias del resto del código implicado, siempre que incluya el código fuente de ese otro código, en el momento y de la manera que la GPL de GNU exija la distribución del código fuente. Advierta que quien haga modificaciones de ABC no está obligado a garantizar esta excepción especial en sus versiones modificadas; queda a su discreción hacerlo o no. La Licencia Pública General de GNU concede permiso para publicar una versión modificada sin esta excepción; esta excepción hace también posible publicar una versión modificada que contenga dicha excepción.Sólo los titulares del copyright del programa tienen capacidad legal para autorizar esta excepción. Si usted escribió todo el programa, suponiendo que su empleador o centro de enseñanza no reclame el copyright, usted es el titular del copyright, de modo que puede autorizar esta excepción. Pero si quiere utilizar en su código partes de otros programas cubiertos por la GPL, de autores diferentes, usted no puede autorizar esta excepción en lugar de ellos. Tendrá que obtener la aprobación de los titulares del copyright de esos programas
- He escrito una aplicación que enlaza con muchos componentes distintos, que tienen licencias diferentes. No tengo nada claro qué limitaciones afectan a la licencia de mi programa. ¿Pueden explicarme qué licencias puedo usar?
- Para responder a esta pregunta necesitaríamos
ver la lista completa de cada uno de los componentes que
utiliza su programa, la licencia de cada uno de ellos y una breve
descripción (bastarían unas líneas) de cómo los utiliza su biblioteca.
Dos ejemplos serían:
- Para hacer que mi programa funcione ha de estar enlazado con la biblioteca X, disponible bajo la GPL Reducida.
- Mi programa hace una llamada del sistema (mediante una línea de órdenes hecha por mí) al programa Y, que está licenciado bajo «la GPL, con una excepción especial que permite su enlace con Z».
- ¿Que diferencia hay entre la «mera agregación» y la «combinación de dos módulos para formar un programa»?
- La mera agregación de dos programas consiste
en ponerlos uno junto al otro en el mismo CD-ROM o disco duro.
Empleamos esta expresión cuando se trata de programas
independientes y no de partes de un único programa. En este
caso, si uno de los programas está cubierto por la GPL, eso
no tiene efecto alguno en el otro programa.
Combinar dos módulos significa conectarlos entre sí para dar lugar a un solo programa más grande. Si uno de ellos está cubierto por la GPL, el conjunto formado por ambos deberá publicarse bajo la GPL; si no puede o no quiere hacerlo así, no podrá combinarlos.
¿Qué determina la combinación de dos partes para formar un programa? Esta es una cuestión legal que, en último término, tendrían que decidir los tribunales. A nuestro juicio, un criterio adecuado depende del mecanismo de comunicación (exec, tuberías, rpc, invocación de funciones dentro de un espacio de direcciones compartido, etc.) y de la semántica de la comunicación (qué tipo de información se intercambia).
Si los módulos están incluidos en el mismo archivo ejecutable, entonces no hay duda de que están combinados en un solo programa. Si los módulos están diseñados para su ejecución conjunta en un espacio de direcciones compartido, es casi seguro que eso significa que están combinados en un solo programa.
Por contra, tuberías, sockets y argumentos en la línea de órdenes son mecanismos de comunicación habitualmente utilizados entre dos programas independientes. Así, cuando los módulos se utilizan para su comunicación, normalmente se trata de programas independientes. Pero si la semántica de la comunicación es lo bastante íntima, teniendo lugar un intercambio de estructuras de datos internos complejos, eso podría también servir de base para considerar que las partes están combinadas dentro de un programa más grande.
- ¿Por qué la FSF pide a quienes contribuyen al desarrollo de programas cuyo copyright está en posesión de la FSF, que asignen el copyright a la FSF? Si tengo el copyright de un programa bajo la GPL, ¿debo hacerlo yo también? Si es así, ¿cómo?
- Nuestros abogados nos han explicado que para estar en
la mejor
posición para hacer respetar la GPL
en los tribunales, contra los infractores, deberíamos mantener
el copyright del programa tan simple como sea posible. Esto lo hacemos
pidiendo a los colaboradores que o bien asignen el copyright de su
contribución a la FSF, o bien que renuncien al copyright y
pongan de ese modo el programa en el dominio público.
También pedimos a los colaboradores individuales que obtengan de sus empleadores (si los hay) su renuncia al copyright, de tal modo que podamos estar seguros de que esos empleadores no van a reclamar la titularidad de las contribuciones.
Por supuesto, si todos los colaboradores ponen su código en el dominio público, no habrá copyright con el que reforzar la GPL. Así, pues, animamos a la gente a que asignen un copyright a las contribuciones de códigos grandes, y que pongan en el dominio público sólo los pequeños cambios.
Si quiere hacer un esfuerzo para hacer respetar la GPL en su programa, probablemente será una buena idea que siga esas pautas. Si desea más información, escriba a <licensing@gnu.org>.
- ¿Puedo modificar la GPL y hacer una licencia modificada?
- Puede utilizar los términos de la GPL
(probablemente modificados) en otra licencia, siempre que le
dé a su licencia un nombre diferente y no incluya el preámbulo
de la GPL, que modifique la instrucciones de uso finales lo suficiente
para que su redacción sea claramente diferente y que no mencione
a GNU (aunque el procedimiento que describa puede ser similar).
Si quiere usar nuestro preámbulo en una licencia modificada, escriba por favor a <licensing@gnu.org> para pedir permiso. A tal efecto, nos gustaría comprobar los requisitos de la licencia para ver si los aprobamos.
Si bien nosotros no plantearemos objeciones legales a que de esa manera haga una licencia modificada, esperamos que se lo piense dos veces y no lo haga. Tal licencia modificada será casi con toda seguridad incompatible con la GPL de GNU, y esa incompatibilidad impedirá combinaciones de módulos que pueden ser muy útiles. La mera proliferación de diferentes licencias de software libre es de por sí un problema.
- Si utilizo parte de un programa obtenido bajo la GPL de GNU, ¿estoy autorizado a modificar el código original para hacer un nuevo programa, y luego distribuir y vender ese nuevo programa comercialmente?
- Usted está autorizado a vender comercialmente
copias del programa modificado, pero sólo bajo los
términos de la GPL de GNU. Así, por ejemplo, usted debe
poner el código fuente a disposición de los usuarios del
programa en la forma descrita en la GPL, y estos han de estar
autorizados a redistribuirlo y modificarlo en la forma descrita en la GPL.
Estos requisitos son condición indispensable para que usted pueda incluir el código cubierto por la GPL dentro de su propio programa.
- ¿Puedo utilizar la GPL para algo que no sea software?
- Puede aplicar la GPL a obras de cualquier tipo,
siempre que quede claro qué constituye el «código fuente»
de la obra. La GPL lo define como la forma de la obra más idónea
para operar cambios en ella.
De todos modos, para manuales y libros de texto, o en general cualquier tipo de obra pensada para instruir en cierta materia, recomendamos el uso de la GFDL antes que la GPL.
- ¿Cómo funciona la LGPL con Java?
-
Vea este artículo para más detalles. Funciona como se proyectó, como se pensó y como se esperaba.
- Consideren el siguiente caso: 1. X publica V1 de un proyecto bajo la GPL. 2. Y contribuye al desarrollo de V2 con cambios y código nuevo basado en V1. 3. X quiere poner V2 bajo una licencia distinta de la GPL. ¿Necesita X el permiso de Y?
- Sí. A Y se le exigió que publicara su versión bajo la GPL de GNU debido precisamente a que se basó en la versión V1 de X. Nada obligaba a Y a aceptar ninguna otra licencia para su código. Por consiguiente, X ha de obtener el permiso de Y antes de publicar el código bajo otra licencia.
- Me gustaría incorporar software cubierto por la GPL a mi sistema privativo. ¿Puedo hacerlo?
- Usted no puede incorporar programas cubiertos por
la GPL a un sistema privativo. El objetivo de
la GPL consiste en garantizar a todo el mundo la libertad de copiar,
redistribuir, examinar y modificar el programa. Si le estuviera permitido
incorporar software cubierto por la GPL a un sistema privativo, la consecuencia
sería que el software cubierto por la GPL se convertiría también en software que
no sería libre.
Un sistema que incorpora un programa cubierto por la GPL es una versión extendida de ese programa. La GPL dice que toda versión extendida del programa, si llega a publicarse, ha de serlo bajo la GPL. Esto es así por dos razones: para asegurarnos de que los usuarios que obtienen el software disfrutan de las libertades que deben tener, y para animar a la gente a publicar también ellos las mejoras que hagan.
De todos modos, en muchos casos usted puede distribuir el software cubierto por la GPL junto a su sistema privativo. Para hacerlo de forma válida, debe asegurarse de que los programas libres y no-libres se comunican a distancia, de que no están combinados de ninguna manera que los convierta de hecho en un solo programa.
La diferencia entre esto y la «incorporación» del software cubierto por la GPL es en parte un asunto de contenido y en parte una cuestión de forma. La parte sustancial es esta: si dos programas se combinan de tal forma que pasan a ser de hecho dos partes de un solo programa, usted no puede tratarlos como si fueran dos programas separados. Así, pues, la GPL ha de cubrirlos en conjunto.
Si los dos programas permanecen bien separados, como el compilador y el núcleo, o como un editor y un intérprete de órdenes (shell), entonces puede tratarlos como dos programas separados; pero tiene que hacerlo adecuadamente. Se trata de una simple cuestión de forma: cómo describir lo que está haciendo. ¿Por qué nos preocupamos de esto? Porque queremos asegurarnos de que los usuarios entienden con claridad el carácter libre del software cubierto por la GPL que se halla dentro de un conjunto más amplio.
Si la gente distribuyera software cubierto por la GPL llamándolo «parte de» un sistema que los usuarios saben que es parcialmente privativo, estos podrían tener dudas acerca de sus derechos en relación con el software de GNU. Pero si saben que lo que han recibido es un programa libre más otro programa, uno junto al otro, tendrán claro cuáles son sus derechos.
- Me gustaría incorporar software cubierto por la GPL a mi sistema privativo. ¿Puedo hacerlo poniendo un módulo «envoltorio», bajo una licencia compatible con la GPL pero más permisiva (como la licencia X11), entre la parte cubierta por la GPL y la parte privativa?
No. La licencia X11 es compatible con la GPL, de manera que al programa cubierto por la GPL puede añadirle un módulo y ponerlo bajo la licencia X11. Pero si fuera a incorporar ambos dentro de un programa más grande, el conjunto incluiría la parte cubierta por la GPL, de tal modo que habría que licenciar el programa por entero bajo la GPL.
El hecho de que el módulo privativo A se comunique con el módulo C, cubierto por la GPL, sólo mediante el módulo B, bajo la licencia X11, es irrelevante desde el punto de vista legal; lo importante es el hecho de que el módulo C está incluido en el conjunto.
- ¿La excepción de libstdc++ permite los enlaces dinámicos?
Sí. El propósito de la excepción es permitir que se compile software privativo usando gcc.
- Me gustaría modificar programas cubiertos por la GPL y enlazarlos con las bibliotecas de portabilidad de Money Guzzler Inc. No puedo distribuir el código fuente de esas bibliotecas, de manera que cualquier usuario que quisiera cambiar esas versiones tendría que obtener dichas librerías por separado. ¿Por qué la GPL no lo permite?
- Hay dos razones para ello.
En primer lugar, una de carácter general. Si permitiéramos a la empresa A hacer un archivo privativo, y a la empresa B distribuir software cubierto por la GPL enlazado con ese archivo, la consecuencia sería un enorme agujero en la GPL por el que se colaría de todo. Daría carta blanca para reservarse el código fuente de toda clase de modificaciones y extensiones del software cubierto por la GPL.
Que todos los usuarios tengan acceso al código fuente es uno de nuestros objetivos primordiales, de modo que eso es algo que queremos evitar a toda costa.
Más concretamente, las versiones del programa enlazado con las bibliotecas Money Guzzler no serían en realidad software libre tal y como nosotros entendemos esa expresión: no vendrían acompañadas del código fuente completo, que permite a los usuarios cambiar y recompilar el programa.
- Si una licencia para un módulo Q contiene un requisito que es incompatible con la GPL, pero el requisito sólo es aplicable cuando Q se distribuye solo, no cuando Q está incluido en un programa más grande, ¿hace eso que la licencia sea incompatible con la GPL? ¿Puedo combinar o enlazar Q con un programa cubierto por la GPL?
- Si un programa P se publica bajo la GPL, eso significa que
todas y cada una de sus partes pueden utilizarse
bajo la GPL. Si le integra el módulo Q y publica el programa
combinado P+Q bajo la GPL, eso significa que cualquier parte
de P+Q puede usarse bajo la GPL. Q es una parte de P+Q.
Así, pues, publicar P+Q bajo la GPL significa que Q o cualquier
parte de él puede utilizarse bajo la GPL. Dicho de otro modo,
un usuario que obtiene P+Q bajo la GPL puede borrar P, de manera que
le quede sólo Q, todavía bajo la GPL.
Si la licencia del módulo Q le permite dar permiso para ello, entonces es compatible con la GPL. De otro modo, no es compatible con la GPL.
Si la licencia de Q dice, en términos que no dejan lugar a duda, que si usted redistribuye Q por sí solo debe hacer ciertas cosas (no compatibles con la GPL), entonces no le permite distribuir Q bajo la GPL. De ahí se sigue que tampoco puede publicar P+Q bajo la GPL. De modo que no puede enlazar o combinar P con Q.
- ¿Puedo publicar una versión modificada de un programa cubierto por la GPL, en forma binaria únicamente?
- No. Lo que se pretende con la GPL es que todas las versiones modificadas hayan de ser software libre, lo que significa, en particular, que el código fuente de las versiones modificadas está a disposición de los usuarios.
- Me he bajado sólo los binarios. Si distribuyo copias, ¿tengo que conseguir los archivos fuente y distribuirlos también?
- Sí. La regla general es que si distribuye binarios, debe también distribuir el correspondiente código fuente completo. La excepción para el caso en que se recibe una oferta escrita de proporcionarle el código fuente es bastante limitada.
- Quiero distribuir los binarios por medio de un soporte material sin acompañarlos de los fuente. ¿Puedo proporcionar el código fuente por FTP en vez de por correo postal?
- Se supone que usted, si alguien se lo pide,
proporcionará el código fuente por correo postal en un
medio físico. Es de agradecer que ofrezca la posibilidad de
copiar el código fuente correspondiente por FTP, además
de la opción por correo, pero el acceso a los fuente por FTP no
es suficiente para satisfacer la sección 3 de la GPL.
Cuando un usuario pide los fuente, usted tiene que asegurarse de que el usuario obtiene el código fuente. Si determinado usuario puede obtener de usted el código fuente por medio de un FTP anónimo, perfecto, tarea cumplida. Pero no todos los usuarios podrán bajárselo. El resto de los usuarios tienen el mismo derecho a obtener de usted el código fuente, lo que significa que usted ha de estar dispuesto a enviárselo por correo.
Si el acceso por FTP está lo bastante a mano, quizá nadie elija solicitar una copia por correo postal. Si es así, nunca tendrá que enviar copias. Pero usted no puede darlo por hecho.
Claro que lo más sencillo es enviar los archivos fuente con los binarios desde el primer momento.
Si distribuye los binarios por medio de FTP, debería distribuir los fuente por medio de FTP.
- Un amigo consiguió un binario cubierto por la GPL, con una oferta de facilitar el fuente, e hizo una copia para mí. ¿Puedo también yo hacer uso de la oferta para obtener el archivo fuente?
- Sí, puede. La oferta ha de estar abierta a cualquiera que tenga una copia del binario al que acompaña. Esta es la razón de que la GPL diga que su amigo, junto a la copia del binario, debe darle una copia de la oferta, de modo que usted pueda sacar provecho de ella.
- ¿Puedo poner los binarios en mi servidor y los fuente en un sitio diferente de Internet?
- La GPL dice que se debe ofrecer acceso para copiar el
código fuente «del mismo lugar»; esto es, junto a los
binarios. En cualquier caso, si hace las gestiones precisas para que el
necesario código fuente permanezca accesible en otro sitio de
Internet y, al lado de los binarios, pone un enlace o una referencia
cruzada al código fuente, pensamos que esto satisface el
«del mismo lugar».
De todos modos, tenga en cuenta que no basta con encontrar un sitio en el que hoy se encuentre el código fuente apropiado, y decir a la gente que mire ahí. Mañana ese sitio puede haber borrado ese código fuente, o simplemente reemplazarlo con una versión más reciente del mismo programa. En ese caso ya no estaría satisfaciendo los requisitos de la GPL. Para hacer un esfuerzo razonable por satisfacerlos, es preciso que usted establezca un acuerdo explícito con ese otro sitio, para así asegurarse de que el código fuente estará disponible tanto tiempo como usted mantenga los binarios a disposición del público.
- Quiero distribuir en forma binaria una versión extendida de un programa cubierto por la GPL. ¿Basta con distribuir el código fuente de la versión original?
- No, debe suministrar el código fuente que
corresponde al binario. Código correspondiente significa el
código a partir del cual los usuarios pueden reconstruir ese mismo
binario.
Parte de la idea del software libre consiste en que los usuarios tengan acceso al código fuente de los programas que utilizan. Quienes utilicen su versión deben tener acceso al código fuente de su versión.
Un objetivo primordial de la GPL es ampliar la extensión del Mundo Libre garantizando que las mejoras de un programa libre serán también libres. Si usted publica una versión mejorada de un programa cubierto por la GPL, también deberá publicar bajo la GPL el código fuente mejorado.
- Quiero distribuir los binarios, pero distribuir el código fuente completo es un engorro. ¿Vale si con los binarios proporciono a los usuarios los diffs de la versión «estándar»?
- La intención es buena, pero este modo de
proporcionar el código fuente no cumple su objetivo.
A un usuario que quiera el código fuente dentro de un año es posible que en ese momento le resulte ya imposible obtener de otro sitio la versión apropiada. El sitio con la distribución estándar puede tener una versión más reciente, pero los mismos diffs probablemente no funcionarán con esa versión.
Así, pues, con los binarios tiene que proporcionar los fuente completos, no sólo los diffs.
- Quiero poner los binarios a disposición a través de FTP anónimo, pero enviar los fuente sólo a quien los solicite.
- Si quiere distribuir binarios a través de
FTP anónimo, junto a ellos ha de distribuir los fuente. Esto no
debería ser complicado. Si puede encontrar un sitio para
distribuir su programa, seguro que puede encontrar uno que disponga de
espacio para los fuente.
Los fuente que usted proporcione deben corresponder exactamente a los binarios. En particular, debe asegurarse de que corresponden a la misma versión del programa, no a una anterior ni a una posterior.
Puede publicar los fuente y los binarios en máquinas diferentes, siempre que su obtención sea igual de sencilla y siempre que junto a los binarios informe del lugar donde se encuentran los fuente.
- ¿Cómo puedo asegurarme de que todo usuario que se baje los binarios obtenga también los fuente?
- No tiene por qué asegurarse de esto. Mientras
publique los fuente y los binarios de manera que los usuarios
puedan ver lo que hay disponible y tomen lo que deseen, usted ya ha
hecho todo lo que se le pide. Que el usuario se baje o no los fuente
depende de él.
El propósito de nuestros requerimientos a los redistribuidores es garantizar que los usuarios pueden acceder al código fuente, no forzar a los usuarios a bajárselo aun cuando no quieran hacerlo.
- Una empresa está utilizando una versión modificada de un programa bajo la GPL en un sitio web. ¿Dice la GPL que deben publicar los fuente modificados?
- La GPL permite a cualquiera hacer una
versión modificada y utilizarla sin nunca distribuirla a otros.
Lo que esa empresa está haciendo es un caso particular de esto.
Por tanto, la empresa no tiene por qué publicar los fuente modificados.
Es esencial que la gente tenga la libertad de hacer modificaciones y usarlas en privado, sin nunca publicar esas modificaciones. No obstante, poner el programa en un servidor para dirigirse al público, difícilmente puede calificarse de uso «privado»; de modo que, en este caso especial, sería legítimo pedir la publicación del código fuente. Estamos pensando en hacer algo así en la versión 3 de la GPL, pero aún no tenemos en mente una formulación precisa.
Entre tanto, podría usar la GPL de Affero para programas diseñados para su uso en servidores.
- ¿Es «distribución» hacer y usar múltiples copias dentro de una organización o empresa?
- No, en ese caso la organización está
sólo haciendo las copias para sí misma. En consecuencia,
una empresa u otra organización puede desarrollar una
versión modificada e instalar esa versión en sus equipos,
sin que la dirección dé permiso para hacer
pública esa versión para los de fuera.
No obstante, cuando la organización facilita copias a otras organizaciones o individuos, eso es distribución. En particular, es distribución facilitar copias a contratistas para utilizarlas fuera de la empresa.
- Si alguien roba un CD que contiene una versión de un programa cubierto por la GPL, ¿le concede la GPL el derecho de redistribuir esa versión?
- Si la versión ha sido publicada en algún otro lugar, entonces el ladrón
probablemente tiene derecho a hacer copias y redistribuirlas bajo la GPL,
pero si es encarcelado por robar el CD, puede que para hacerlo tenga que esperar a
que lo dejen en libertad.
Si la versión en cuestión no está publicada y la empresa la considera un secreto comercial, entonces publicarla puede constituir una vulneración de la ley de secretos comerciales, dependiendo de otras circunstancias. La GPL no cambia esto. Si la empresa trató de publicar su versión y todavía la trata como secreto comercial, eso vulneraría la GPL; pero si la empresa no ha publicado esa versión, no se ha producido tal vulneración.
- ¿Qué sucede si una empresa distribuye una copia como secreto comercial?
- Si la empresa le facilita a usted una copia y afirma que se trata de un secreto comercial, la empresa estaría vulnerando la GPL y tendrá que dejar de distribuirla. Note la diferencia con el anterior caso del robo: cuando una copia es robada la empresa no distribuye intencionadamente esa copia, de modo que en tal caso la empresa no vulnera la GPL.
- ¿Por qué algunas bibliotecas GNU están publicadas bajo la GPL ordinaria en lugar de la GPL Reducida?
- La utilización de la GPL Reducida para una
biblioteca concreta representa una renuncia para el software libre.
Significa que abandonamos parcialmente el intento de defender la
libertad del usuario y algunos de los requisitos de distribución
de lo que se crea sobre software cubierto por la GPL. En sí
mismos, estos son cambios a peor.
A veces una retirada parcial es una buena estrategia. En ocasiones, la utilización de la GPL reducida para una biblioteca podría llevar a un mayor uso de esa biblioteca, y así, a su mejora, a un mayor apoyo al software libre, etc. Esto podría ser bueno para el software libre si sucede en alto grado. ¿Pero en qué medida sucederá? Sólo podemos hacer cábalas.
Estaría bien hacer la prueba con la LGPL en cada biblioteca por algún tiempo, ver si era de ayuda y cambiar a la GPL si no lo era. Pero esto no es factible. Una vez que en una biblioteca concreta utilizamos la LGPL, cambiar de licencia sería complicado.
De modo que decidimos qué licencia emplear en las bibliotecas examinado los casos uno por uno. Hay una extensa explicación de cómo tratamos la cuestión.
- Utilizar bajo la GPL cierto programa de GNU no encaja en nuestro proyecto para hacer software privativo. ¿Harían una excepción para nosotros? Eso representaría más usuarios del programa.
- Lo sentimos, pero no hacemos tales excepciones. No sería correcto.
Nuestro objetivo no es alcanzar el mayor número de usuarios. Lo que intentamos es más bien proporcionar las libertades fundamentales a tantos usuarios como sea posible. En general, los proyectos de software privativo son más un obstáculo que una contribución a la causa de la libertad.
En ocasiones hacemos excepciones en la licencia para apoyar proyectos que están produciendo software libre bajo una licencia distinta de la GPL. En cualquier caso, tenemos que encontrar una buena razón de que esto servirá para hacer avanzar la causa del software libre.
A veces también cambiamos las condiciones de distribución de un paquete, cuando vemos claro que ese es el camino correcto para servir a la causa del software libre; pero en este terreno somos muy cautelosos, y se nos tienen que ofrecer razones muy convincentes.
- ¿Por qué los programas deben decir «Versión 2 de la GPL o cualquier versión posterior»?
- De cuando en cuando, en un intervalo de
años, modificamos la GPL: a veces para clarificarla, a veces
para permitir ciertos tipos de uso antes no permitidos, y a veces para
hacer más estricto un requisito. (El último cambio se
hizo en 1991). Utilizar esta «referencia indirecta» en cada
programa nos permite cambiar las condiciones de distribución
para todo el software GNU en su conjunto cuando actualizamos la GPL.
Si en los programas faltara esta referencia indirecta, nos veríamos obligados a discutir el cambio en detalle con numerosos titulares de los derechos de autor, lo que sería materialmente imposible. En la práctica, ya no sería posible que el software GNU tuviera unas condiciones de distribución uniformes.
Suponga que un programa dice «Versión 2 de la GPL o cualquier versión posterior», y que se publica una nueva versión de la GPL. Si la nueva versión da un permiso adicional, ese permiso alcanzaría de inmediato a todos los usuarios del programa. Pero si la nueva versión de la GPL plantea exigencias más estrictas, el uso de la versión actual del programa no sufriría ninguna restricción ya que se podría seguir utilizando bajo la versión 2 de la GPL. Cuando un programa dice «Versión 2 de la GPL o cualquier versión posterior», a los usuarios siempre les estará permitido utilizarlo según las condiciones de la versión 2 de la GPL, aun cuando existan nuevas versiones de esta licencia.
Si un requisito más estricto de una nueva versión de la GPL no tiene por qué ser respetado en el software ya existente, ¿cuál es su utilidad? Una vez se disponga de la versión 3 de la GPL, los creadores de la mayor parte de los programas cubiertos por la GPL publicarán las siguientes versiones de sus programas indicando «Versión 3 de la GPL o cualquier versión posterior». Entonces los usuarios tendrán que seguir los requisitos, más estrictos, de la versión 3 de la GPL en toda versión posterior del programa.
De todos modos, los creadores no están obligados a hacerlo así; si lo desean pueden seguir autorizando el uso de la versión anterior de la GPL.
- ¿Por qué no utilizan la GPL para manuales?
- Se puede utilizar la GPL para un manual, pero para estos es
mucho mejor la GNU Free Documentation License (GFDL).
La GPL se diseñó para programas; contiene muchas cláusulas complejas que son cruciales para programas, pero que no tienen ningún sentido para un libro o manual. Por ejemplo, cualquiera que publicara el libro en papel tendría que incluir el «código fuente» del libro en formato electrónico junto a cada copia impresa, o acompañarlo de una oferta por escrito de proporcionar el «código fuente» más adelante.
Por contra, la GFDL tiene cláusulas que permiten a los editores de manuales libres sacar un beneficio de ellos vendiendo copias: textos de cubierta, por ejemplo. Las reglas especiales para las secciones de Aprobaciones hacen posible utilizar la GFDL para un estándar oficial. Esto permitiría versiones modificadas, pero no podrían ser etiquetadas como «la estándar».
Al utilizar la GFDL permitimos cambios en el texto de un manual que trata un asunto técnico. Es importante poder modificar las partes técnicas, pues quien modifica un programa debería modificar también la documentación correspondiente. La libertad de hacer esto es un imperativo ético.
Nuestros manuales incluyen también secciones en las que se expone nuestra posición política con respecto al software libre. Las marcamos como «invariables», de modo que no puedan ser modificadas o eliminadas. La GFDL asegura estas «secciones invariables».
- ¿Cómo se aplica la GPL a los tipos de letra?
- Adjudicar una licencia a los tipos de letra (fuentes) es un
asunto complejo que precisa un estudio serio. La siguiente
excepción es experimental, pero está aprobada para uso
general. Agradeceremos las sugerencias en torno a este asunto: lea
por favor este artículo aclaratorio y escriba a licensing@gnu.org.
Para utilizar esta excepción, añada este texto al aviso acerca de la licencia de cada archivo del paquete (hasta donde sea posible), al final del texto que dice que el archivo se distribuye bajo la GPL de GNU:
As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
IMPORTANTE: Esta traducción tiene carácter meramente informativo y carece de validez legal.
Como excepción especial, si crea un documento que utiliza este tipo de letra, e inserta en el documento este tipo de letra o partes inalteradas del mismo, este tipo de letra por sí mismo no hace que el documento resultante esté cubierto por la Licencia Pública General de GNU. No obstante, esta excepción no invalida ninguna otra razón por la cual el documento podría estar cubierto por la Licencia Pública General de GNU. Si modifica este tipo de letra puede hacer extensiva esta excepción a su versión del tipo de letra, pero no está obligado a hacerlo. Si no desea hacerlo, borre esta nota de excepción de su versión. - Estoy escribiendo un sistema de mantenimiento para un sitio web (llamado por algunos «sistema de administración de contenido»), o alguna otra aplicación que genera páginas web a partir de plantillas. ¿Qué licencia debería utilizar para esas plantillas?
-
Las plantillas no tienen tanta relevancia que hiciera falta emplear el copyleft para protegerlas. Normalmente resulta inofensivo utilizar el copyleft en obras menores, pero las plantillas son un caso especial, ya que se combinan con datos proporcionados por los usuarios de la aplicación y esa combinación se distribuye. Así, pues, le recomendamos que licencie sus plantillas bajo condiciones sencillas y permisivas.
Algunas plantillas hacen llamadas a funciones de Javascript. Puesto que el Javascript a menudo no es trivial, merece la pena ponerlo bajo copyleft. Dado que las plantillas se combinarán con datos del usuario, es posible que el conjunto plantilla+datos-del-usuario+Javascript se considere una obra sujeta a las leyes de copyright. Por tanto, debe trazarse una línea divisoria entre el Javascript (bajo copyleft) y el código del usuario (normalmente bajo condiciones incompatibles).
Así lo hace esta excepción para el código Javascript:
As a special exception to GPL, any HTML file which merely makes function calls to this code, and for that purpose includes it by reference shall be deemed a separate work for copyright law purposes. In addition, the copyright holders of this code give you permission to combine this code with free software libraries that are released under the GNU LGPL. You may copy and distribute such a system following the terms of the GNU GPL for this code and the LGPL for the libraries. If you modify this code, you may extend this exception to your version of the code, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
IMPORTANTE: Esta traducción tiene carácter meramente informativo y carece de validez legal.
Como excepción especial a la GPL, cualquier archivo HTML que simplemente haga llamadas a funciones de este código y que a tal fin lo incluya por referencia, a efectos de las leyes de derechos de autor habrá de considerarse como una obra separada. Además, los titulares del copyright de este código le conceden permiso para combinar este programa con bibliotecas libres publicadas bajo la LGPL de GNU. Puede copiar y distribuir el sistema así construido, según los términos de la GPL de GNU para este código y según los de la LGPL para las bibliotecas. Si modifica este código puede hacer extensiva esta excepción a su versión del código, pero no está obligado a hacerlo. Si no desea hacerlo, borre esta nota de excepción de su versión.
- ¿Puedo publicar bajo la GPL un programa que he creado utilizando herramientas no libres?
- Qué programas haya utilizado para editar el código
fuente, compilarlo, estudiarlo o grabarlo es habitualmente indiferente
por lo que se refiere a la licencia de dicho código fuente.
No obstante, si con el código fuente enlaza bibliotecas no libres, deberá tenerlo en cuenta. Esto no le impide publicar el código bajo la GPL, pero si las bibliotecas no se ajustan a la excepción de la GPL relativa a las «bibliotecas del sistema» deberá añadir una nota dando permiso para enlazar su programa con ellas. La FSF puede aconsejarle sobre el modo de hacerlo.
- ¿Hay traducciones de la GPL a otras lenguas?
- Sería útil disponer de
traducciones de la GPL en lenguas distintas del inglés. Hay
personas que han hecho traducciones y nos las han enviado. Pero no nos
hemos atrevido a darles validez oficial. Esto entraña un riesgo
tan grande que no nos atrevemos a asumirlo.
Un documento legal es en cierto modo como un programa. Traducirlo es como trasladar un programa de un lenguaje y sistema operativo a otro. Sólo un jurista que conozca bien ambas lenguas puede hacerlo, e incluso así existen riesgos de introducir algún error.
Si diéramos nuestra aprobación oficial a una traducción de la GPL estaríamos permitiendo a todo el mundo hacer todo lo que la traducción diga que pueden hacer. Si la traducción es absolutamente precisa, perfecto. Pero si la traducción contiene algún error, los resultados podrían ser desastrosos e irreparables.
Si un programa contiene un fallo podemos publicar una nueva versión, y probablemente la versión antigua irá poco a poco desapareciendo. Pero una vez que hemos autorizado a todo el mundo a actuar conforme a una traducción concreta, ya no hay forma de revocar esa autorización si más adelante descubrimos que contenía un error.
En ocasiones, gente con ganas de cooperar se ofrece a hacer la labor de traducción por nosotros. Si el problema radicara en encontrar a alguien que hiciera ese trabajo, ya se habría resuelto. Pero el verdadero problema es el riesgo de errores, y los ofrecimientos para hacer el trabajo no evitan el riesgo. En ningún caso podríamos autorizar una traducción realizada por alguien que no fuera jurista.
En consecuencia, por el momento no aprobamos traducciones de la GPL como universalmente válidas y vinculantes. En vez de eso, hacemos dos cosas:
- Remitir a la gente a traducciones no
oficiales. Esto significa que permitimos que se hagan traducciones de
la GPL, pero no las aprobamos como legalmente válidas y
vinculantes.
Una traducción no aprobada no tiene fuerza legal, y así debería decirlo de forma explícita. Debería indicarlo como sigue:
This translation of the GPL is informal, and not officially approved by the Free Software Foundation as valid. To be completely sure of what is permitted, refer to the original GPL (in English).Esta traducción de la GPL es informal y no ha sido aprobada oficialmente por la Fundación para el Software Libre como válida. Para estar completamente seguro de lo que está permitido, consulte la GPL original (en inglés).Sin embargo, la traducción no aprobada puede servir de pista para comprender la GPL en inglés. Para muchos usuarios eso es suficiente.
No obstante, las empresas que utilicen software GNU en actividades comerciales y la gente que lo distribuya públicamente a través de FTP, tendría que consultar la auténtica GPL, en inglés, para cerciorarse de lo que permite.
- Publicar traducciones válidas para un solo
país.
Estamos considerando la idea de publicar traducciones que sean oficialmente válidas para un solo país. De este modo, si hay algún error quedaría limitado a ese país y el daño no sería demasiado grande.
Así y todo, una traducción exigiría un considerable esfuerzo por parte de algún voluntarioso y experto abogado, por lo que no podemos prometer que vayamos a poder ofrecerlas en breve.
- Remitir a la gente a traducciones no
oficiales. Esto significa que permitimos que se hagan traducciones de
la GPL, pero no las aprobamos como legalmente válidas y
vinculantes.
- Si un intérprete de lenguajes de programación tiene una licencia que es incompatible con la GPL, ¿puedo correr en él programas cubiertos por la GPL?
- Cuando el intérprete no hace más
que interpretar un lenguaje, la respuesta es sí. El programa
interpretado, para el intérprete, son sólo datos; la
GPL no pone límites a las herramientas que se utilicen
para procesar el programa.
No obstante, cuando el intérprete se amplía para proporcionar «enlaces» a otras utilidades (a menudo, aunque no necesariamente, bibliotecas) el programa interpretado se enlaza de hecho a las utilidades que utiliza, por medio de esos enlaces. La JNI (Java Native Interface) es un ejemplo de dicho mecanismo de enlace; las bibliotecas a las que se accede de esta manera están enlazadas dinámicamente con los programas en Java que hacen llamadas a ellas.
Así, pues, si estas utilidades se han publicado bajo una licencia incompatible con la GPL, la situación es la misma que si se enlaza de cualquier otra forma con una biblioteca incompatible con la GPL. Y esto implica que:
- Si está usted escribiendo código y publicándolo bajo la GPL, puede establecer una excepción especial dando permiso para enlazarlo con esas utilidades incompatibles con la GPL.
- Si usted ha escrito el programa y lo publicó bajo la GPL, y lo diseñó específicamente para trabajar con esas utilidades, la gente puede tomarlo como una excepción implícita que les permite enlazarlo con esas utilidades. Pero si es eso lo que pretendía, es mejor decirlo explícitamente.
- Usted no puede tomar código ajeno cubierto por la GPL y utilizarlo de esa manera o añadirle tales excepciones. Sólo los titulares del copyright de ese código pueden añadir la excepción.
- ¿Quién tiene la facultad de hacer cumplir la GPL?
- Puesto que la GPL es una licencia de copyright, los titulares del copyright del software son quienes tienen la facultad de hacer cumplir la GPL. Si observa una vulneración de la GPL debe informar a los creadores del software afectado cubierto por la GPL. O bien son ellos los titulares de copyright, o bien están en contacto con los titulares del copyright. Sepa algo más acerca de cómo informar de vulneraciones de la GPL.
- En un lenguaje orientado a objetos tal como Java, si utilizo, sin modificarla, una clase que está bajo la GPL y la convierto en una subclase, ¿en qué modo afecta la GPL al programa mayor?
- Subclasificar es crear una obra derivada. Por tanto, los términos de la GPL afectan al programa completo en el que de una clase cubierta por la GPL hizo una subclase.
- Si porto mi programa a GNU/Linux, ¿significa eso que tengo que publicarlo como software libre, bajo la GPL o alguna otra licencia de software libre?
- En general, la respuesta es no: ese no es un requisito
legal. En lo concreto, la respuesta depende de qué
bibliotecas quiere usar y cuáles son sus licencias. La mayor
parte de las bibliotecas del sistema utilizan la GPL de GNU Reducida o
la GPL de GNU más una excepción que permite enlazar
la biblioteca con cualquier cosa. Estas bibliotecas pueden utilizarse
en programas no-libres; pero en el caso de la GPL Reducida hay algunos
requisitos que debe respetar.
Algunas bibliotecas están publicadas bajo la GPL de GNU, sin más; para usar estas bibliotecas debe utilizar una licencia compatible con la GPL. Pero normalmente se trata de las bibliotecas más especializadas, y en otras plataformas no habrá tenido nada parecido, de modo que probablemente no se dará el caso de que quiera usarlas nada más que para portar su programa de un sistema a otro.
Por supuesto, si no es libre, su programa no es una contribución a nuestra comunidad, y la gente que valora su libertad rehusará usarlo. Sólo la gente dispuesta a renunciar a su libertad hará uso de su software, lo que significa que de hecho actuará como inductor para que la gente pierda su libertad.
Si espera poder algún día echar la vista atrás en su carrera y sentir que ha contribuido al crecimiento de una sociedad buena y libre, es preciso que haga su software libre.
- He descubierto que una empresa tiene una copia de un programa bajo la GPL y que para conseguirla hay que pagar. ¿No están vulnerando la GPL al no ponerlo a disposición en Internet?
- No. La GPL no exige a nadie usar Internet para la
distribución. Tampoco exige a nadie en particular que
redistribuya el programa. Y (aparte de un caso especial), aun cuando
alguien decida a veces redistribuir el programa, la GPL no dice que
tenga que facilitarle una copia a usted o a cualquier otra persona en
particular.
Lo que exige la GPL es que ha de ser libre para facilitarle a usted una copia, si así lo desea. Una vez el titular del copyright distribuye una copia a alguien, ese alguien puede luego redistribuir el programa a usted o a cualquier otra persona, como crea conveniente.
- ¿Puedo publicar un programa con una licencia que diga que puede distribuir versiones modificadas del mismo bajo la GPL, pero que no puede distribuir el original bajo la GPL?
- No. Tal licencia sería contradictoria. Veamos
sus implicaciones para mí en como usuario.
Suponga que empiezo con la versión original (llam
