2008-12-25 7 views
5

Si desarrollo un envoltorio GUI que solo ejecuta una aplicación CLI GPL (por el bien del argumento, digamos tar) ¿debo liberar el envoltorio GUI como GPL? ¿Es un trabajo derivitivo?Un contenedor GUI alrededor de una aplicación GPL CLI, ¿es un derivado?

Si es un trabajo derivado, ¿qué debo liberar?

Tanto la aplicación GPL y la envoltura se distribuirá junto

+0

¿Se puede definir con más precisión "envoltura"? ¿El enlace de la aplicación GUI contra el código GPL, o simplemente ejecuta el binario? – Rob

+0

Simplemente excuta el binario, se agregará a la descripción;) – hhafez

+0

Si es un trabajo derivado, debe licenciar su programa bajo la GPL y liberar ("poner a disposición") su código fuente siempre que lo distribuya. – ShreevatsaR

Respuesta

8

IANAL. Citando la sección mere aggregation de la GPL FAQ (énfasis mío):

un “agregado” se compone de un número de programas separados, distribuidos juntos en el mismo CD-ROM u otros medios de comunicación. El GPL le permite crear y distribuir un agregado, incluso cuando las licencias del otro software no son libres o incompatibles con GPL. La única condición es que no puede liberar el agregado bajo una licencia que prohíbe a los usuarios ejercer derechos que la licencia individual de cada programa les otorgaría.

¿Dónde está la línea entre dos programas separados, y un programa con dos partes? Esta es una pregunta legal, que finalmente los jueces decidirán. Creemos que un criterio adecuado depende tanto del mecanismo de comunicación (ejecutivo, tuberías, rpc, llamadas a funciones dentro de un espacio de direcciones compartido, etc.) como de la semántica de la comunicación (qué tipos de información se intercambian).

Si los módulos están incluidos en el mismo archivo ejecutable, definitivamente se combinan en un solo programa. Si los módulos están diseñados para ejecutarse enlazados en un espacio de direcciones compartido, eso seguramente significa combinarlos en un solo programa.

Por el contrario, las tuberías, los zócalos y los argumentos de línea de comandos son mecanismos de comunicación normalmente utilizados entre dos programas separados. Entonces, cuando se utilizan para la comunicación, los módulos normalmente son programas separados. Pero si la semántica de la comunicación es lo suficientemente íntima, el intercambio de estructuras de datos internas complejas, también podría ser una base para considerar las dos partes como combinadas en un programa más grande.

Otra question del FAQ que se refiere a esto es "Si un programa publicado bajo la GPL utiliza plug-ins, ¿cuáles son los requisitos para las licencias de un plug-in":

Se depende de cómo el programa invoca sus complementos. Si el programa usa fork y exec para invocar plug-ins, los plug-ins son programas separados, por lo que la licencia del programa principal no exige nada.

..

En mi humilde opinión, una envoltura pura que simplemente expone la funcionalidad de un programa GPL debe ser GPL.

+0

Estoy de acuerdo. En mi humilde opinión, un envoltorio escrito específicamente para una aplicación es un derivado al menos en espíritu, a menos que sea algo suficientemente general como para actuar como un envoltorio para una gran clase de programas. – ShreevatsaR

+0

+1 para citar la discusión de trabajos derivados y comunicaciones "íntimas". – emk

2

IANAL, pero estoy bastante seguro de que si no vincula el código GPL con su código y sólo tiene que utilizar la CLI, Código no tiene afectado por GPL. Tu única obligación es distribuir la fuente del código GPL.

Si decide distribuir una aplicación GPL, le sugiero que solo incluya la fuente comprimida en el medio, en lugar de simplemente "poner a disposición" mediante descarga, ya que tendrá que mantener el sitio de descarga indefinidamente para todos versiones de la aplicación GPL que distribuye.

Cuestiones relacionadas