¿Qué significa «el Programa» en la GPLv3?
Resumen
En la versión 3 de la Licencia Pública General de GNU (GPLv3), la expresión «el Programa» se refiere a una obra específica que está bajo la licencia GPLv3 y que un licenciatario específico recibe de un licenciador o distribuidor previo. «El Programa» es la obra específica de software que usted ha recibido en un caso determinado de concesión de licencia en los términos de la GPLv3, tal y como la recibió.
No es posible que «el Programa» se refiera a «todas las obras que alguna vez se hayan puesto bajo la GPLv3». Tal interpretación carece de sentido porque «el Programa» es singular: todos esos programas distintos no constituyen un único programa.
Esto se aplica especialmente a la cláusula que se enuncia en el tercer párrafo de la sección 10 de la GPLv3:
[Y]ou may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
Traducción no oficial:
[U]sted no puede iniciar un pleito (ni presentar demandas cruzadas o reconvenciones en el curso de un litigio) alegando que se infringe alguna reivindicación de patente al hacer, utilizar, vender, ofrecer para la venta o importar el Programa o cualquier parte del mismo.
Se trata de una condición que limita la capacidad de un licenciatario de la GPLv3 de entablar demandas acusando de infracción de patentes al software específico cubierto por la GPLv3 recibido por el licenciatario. La condición no atañe al caso en el que una parte que es licenciataria de un programa A cubierto por la GPLv3 pero no lo es de un programa B también cubierto por la GPLv3 y no relacionado con A presenta una demanda judicial acusando al programa B de infracción de patente. Si la parte es licenciataria tanto de A como de B, podría perder derechos sobre B, pero no sobre A.
Dado que las patentes de software representan una amenaza injusta para todos los desarrolladores, distribuidores y usuarios de software, las aboliríamos si pudiéramos. De hecho, hacemos campaña para ello. Pero creemos que habría sido contraproducente llevar las condiciones de la licencia de cualquier programa cubierto por la GPL tan lejos como para exigir la promesa de no atacar nunca ningún programa cubierto por la GPL.
Análisis detallado
La definición de «el Programa» en la GPLv3 es la siguiente:
"The Program" refers to any copyrightable work licensed under this License.
Traducción no oficial:
«El Programa» se refiere a cualquier obra a la que se pueda aplicar el copyright y que esté cubierta por esta licencia.
Algunos han objetado que esta definición se puede interpretar como referida a toda obra cubierta por la GPLv3 en lugar de a la obra específica cubierta por la GPLv3 que un licenciatario recibe en un contexto determinado de concesión de licencia. Estas personas han expresado especial preocupación por las consecuencias que tal interpretación puede tener para las nuevas disposiciones de la GPLv3 relativas a las patentes, especialmente la condición de revocación de patentes que se menciona en el tercer párrafo de la sección 10 y la concesión explícita de licencias de patente por parte de los contribuidores previos que se estipula en el tercer párrafo de la sección 11. Esta interpretación demasiado amplia de la expresión «el Programa» es errónea y contraria a lo que nos propusimos al redactar la GPLv3.
La palabra inglesa any puede adquirir una variedad de matices con significados sutilmente diferentes. En algunos contextos, any significa «cada uno(a)» o «todos(as)»; en otros, como en la definición de «el Programa» en la GPLv3, asume el sentido de «un caso específico seleccionado entre muchas posibilidades». Estas variaciones las tiene que resolver el contexto. En este caso, el contexto resuelve, pero es necesario reflexionar un poco.
Podríamos haber formulado la definición de «el Programa» de otra manera, por ejemplo escribiendo «específica» (particular) en lugar de «cualquier» (any), pero eso no habría eliminado la necesidad de reflexionar. Tomada de forma aislada, la frase «una obra específica que esté cubierta por esta Licencia» no aludiría necesariamente a la obra específica que un «usted» específico recibe en un caso específico de distribución o concesión de licencia. Examinando otras licencias de software libre, vemos que surgen problemas similares de interpretación con palabras funcionales que se emplean para facilitar la reutilización de la licencia.
Teniendo en cuenta que ninguna opción es lo suficientemente inequívoca como para excluir todos los demás significados posibles, el término any ofrece ciertas ventajas. Es un poco más informal y menos jurídico que las posibles alternativas, adecuado para la lectura y aplicación de la licencia por parte de los desarrolladores. Además, debido a que implica elegir entre muchas posibilidades admisibles, any tiene la virtud de enfatizar la reutilización de la GPLv3 para múltiples obras de software y en numerosas situaciones de concesión de licencia. La GPL de GNU está pensada para que muchos desarrolladores la utilicen en sus programas, y eso también tiene que quedar claro.
El mismo uso de any que suscitó inquietudes sobre su interpretación en la GPLv3 existe también en la definición correspondiente de la GPLv2. La sección 0 de la GPLv2 estipula:
This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law …
Traducción no oficial:
Esta Licencia se aplica a cualquier programa u otra obra que contenga una nota colocada por el titular del copyright en la que se indica que dicho programa se puede distribuir bajo los términos de esta Licencia Pública General. En adelante, el «Programa» se refiere a cualquier programa u obra que responda a este criterio, y una «obra basada en el Programa» se refiere o bien al Programa o bien a cualquier obra derivada sujeta a la ley de copyright …
Por otro lado, la FSF y otros miembros de la comunidad de usuarios de la GPL siempre han entendido que en la GPLv2 el «Programa» se refiere a la obra específica cubierta por la GPL que usted recibe, antes de modificarla de cualquier manera posible. La definición de «el Programa» en la GPLv3 pretende preservar este significado.
No encontramos ninguna cláusula en la GPLv3 en la que la aplicación de la interpretación amplia sugerida para «el Programa» (y para el conjunto mayor «obra cubierta») tenga sentido o alguna relevancia práctica coherente con la formulación de la cláusula y el historial de su redacción. Las disposiciones sobre patentes de la GPLv3 son un buen ejemplo.
El tercer párrafo de la sección 11 estipula:
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
Traducción no oficial:
Cada contribuidor le concede a usted una licencia de patente no exclusiva, válida en todo el mundo y sin regalías, que cubre las reivindicaciones esenciales de las patentes del contribuidor, para hacer, utilizar, vender, ofrecer para la venta, importar y además ejecutar, modificar y propagar los contenidos de la versión del contribuidor.
«Contribuidor» se define como «un titular de copyright que autoriza, bajo los términos de esta Licencia, el uso del Programa o de una obra en la que está basado el Programa».
Se ha sugerido que la interpretación amplia de la expresión «el Programa» da lugar a una concesión de licencia de patente excesivamente amplia e irracional. Lo que se argumenta es que para un determinado licenciatario de la GPLv3, el conjunto de contribuidores que conceden licencias de patente se convertiría en el conjunto de todos los licenciadores de la GPLv3 de todas las obras cubiertas por la GPLv3 en todo el mundo, en lugar de solo el conjunto de licenciadores de la obra específica que recibe ese licenciatario en un acto específico de concesión de licencia.
Sin embargo, un análisis detenido de la redacción del documento de concesión de la licencia de patente muestra que esas preocupaciones son infundadas. Para ejercer los permisos que le concede la licencia de patente, un licenciatario de la GPLv3 debe tener en sus manos «los contenidos de la [versión del contribuidor] de tal contribuidor». Si los tiene, entonces él es necesariamente un destinatario de ese material, que le fue concedido bajo la GPLv3.
Por tanto, los contribuidores son siempre, de hecho, los licenciadores del copyright del material para el que se concede la licencia de patente. En definitiva, el beneficiario de la licencia de patente recibe el material cubierto por la misma de manos de esos contribuidores. De lo contrario la concesión de la licencia de patente no tendría sentido, porque el ejercicio de los permisos que otorga está vinculado a la «versión del contribuidor» de tal contribuidor. Los contribuidores y el beneficiario de la licencia de patente que se mencionan en la sección 11 se encuentran así en una relación de distribución directa o indirecta. En consecuencia, el tercer párrafo de la sección 11 no exige que usted conceda una licencia de patente a nadie que no sea al mismo tiempo licenciatario del copyright que usted posee. (Los redistribuidores que no son contribuidores están sujetos a la doctrina de la licencia de patente implícita aplicable y a la disposición especial de «extensión automática» de la sección 11, párrafo 6).
No existe asimismo base alguna para una lectura amplia de la expresión «el Programa» cuando se considera la cláusula relativa a las patentes en el tercer párrafo de la sección 10. Dicha cláusula estipula:
[Y]ou may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
Traducción no oficial:
[U]sted no puede iniciar un pleito (ni presentar demandas cruzadas o reconvenciones en el curso de un litigio) alegando que se infringe alguna reivindicación de patente al hacer, utilizar, vender, ofrecer para la venta o importar el Programa o cualquier parte del mismo.
Cuando se combina con la concesión de licencias de patente prevista en el tercer párrafo de la sección 11 y con la cláusula de revocación de la sección 8, esta cláusula de la sección 10 da lugar a una condición para la revocación de patentes similar a la que se encuentra en la versión 2.0 de la Licencia Apache.
La FSF comprende las razones por las que se han incluido cláusulas amplias de represalia contra las patentes en algunas licencias de software libre, ya que la abolición de las patentes de software es algo sumamente deseable. Sin embargo, creemos que es poco probable que las cláusulas amplias de represalia contra las patentes en las licencias de software beneficien a la comunidad, especialmente aquellas que pueden entrar en juego a raíz de litigios por patentes que involucran otros programas no relacionados con el software cuyos permisos de licencia están siendo objeto de revocación. Fuimos muy precavidos al tomar medidas para incluir represalias contra las patentes en la GPLv3, y la cláusula del tercer párrafo en la sección 10 es intencionalmente más restringida que las cláusulas de represalia contra las patentes que se encuentran en varias otras conocidas licencias —en particular en la versión 1.1 de la Mozilla Public License— con respecto a la revocación de licencias de patente.
Si la interpretación propuesta de «el Programa» se aplicara a la cláusula del tercer párrafo de la sección 10, el resultado sería una desviación radical de la habitual coherencia de nuestras declaraciones y principios acerca de la represalia contra las patentes, algo que de ninguna manera nos propusimos hacer.
En otras partes del texto de la versión 3 de la GPL se aprecian los mismos principios. La cláusula sobre demandas por patentes de la sección 10 se añadió al Borrador 3 de la GPLv3 para reemplazar parte de la cláusula anterior 7(b)(5) del Borrador 2. La cláusula 7(b)(5) permitía incluir dos categorías de disposiciones para la revocación de patentes en obras cubiertas por la GPLv3:
terms that wholly or partially terminate, or allow termination of, permission for use of the material they cover, for a user who files a software patent lawsuit (that is, a lawsuit alleging that some software infringes a patent) not filed in retaliation or defense against the earlier filing of another software patent lawsuit, or in which the allegedly infringing software includes some of the covered material, possibly in combination with other software …
Traducción no oficial:
términos bajo los cuales el permiso para utilizar el material que cubren se revoca total o parcialmente, o se permite revocar, para un usuario que presenta una demanda por patente de software (es decir, una demanda judicial alegando que cierto software infringe una patente), excepto cuando la demanda se presenta como represalia o defensa para responder a una previa demanda por patentes de software, o cuando el software presuntamente infractor incluye parte del material cubierto, posiblemente combinado con otro software …
En la sección 7 no se exponen los principios de la GPL en sí misma. Allí se indica en cambio hasta dónde pueden llegar otras licencias compatibles. Por tanto, el texto de la sección 7 no habría establecido represalias amplias contra las patentes, solo habría permitido la combinación de código cubierto por la GPL con otras licencias que sí disponen represalias amplias.
De todos modos, como se explica en la Motivación del Borrador 3, una represalia tan amplia fue criticada porque podría aplicarse a demandas por patentes de software en las que el software incriminado no estuviera relacionado con el software objeto de la licencia. Teniendo en cuenta que no había licencias de uso generalizado con las que esto pudiera proporcionar compatibilidad, en el Borrador 3 eliminamos la represalia amplia contra patentes del rango de compatibilidad con la GPL.
Esto lo hicimos reemplazando la cláusula 7(b)(5) por una parte del texto de la sección 10, donde conservamos solo lo que correspondía a la segunda categoría. Así, la primera categoría se convirtió nuevamente en una «restricción adicional» incompatible con la GPL en el Borrador 3, al igual que en la GPLv3 tal como se publicó.