¿Puedo utilizar de forma comercial el software con licencia GPL en mi servidor si solo estoy distribuyendo el software cliente?

14

entiendo las reglas de la GPL que indican que si distribuyo cualquier software usando el código de la GPL, ese código debe ser licenciado bajo la GPL .

Sin embargo, me pregunto cuáles son las reglas en este caso: estoy creando un servicio donde venderé y distribuiré el software lado del cliente .

El software del lado del cliente no tiene absolutamente ningún código GPL. Es 100% mi propio código.

Sin embargo, el software del cliente se conectará a mi servidor, que utiliza internamente el código GPL.

Estoy no distribuyendo mi software del lado del servidor; el software del lado del servidor vivirá en un servidor dedicado que yo solo controlo, pero el software del lado del cliente no funcionará sin conectarse a dicho servidor.

¿Esto cuenta como un solo software? Si tuviera que hacer esto, ¿se me exigiría que obtuviera la licencia del código fuente de mi lado del cliente como GPL? O, ¿puedo vender el software del lado del cliente sin liberar su código fuente?

    
pregunta Steven Jeffries 08.05.2015 - 02:15

3 respuestas

10

Esto no es un problema claro. Considere dos extremos del espectro:

  1. Su software de cliente propietario es un cliente HTTP y representa respuestas HTML. Puede funcionar con cualquier servidor HTTP. El servidor HTTP que utiliza para su servicio utiliza los componentes GPL.

  2. Tiene un programa que utiliza componentes con licencia GPL. Usted elige un punto arbitrario en la operación de ese programa y divide el programa en dos programas. Los dos programas se comunican a través de un salto de red totalmente superfluo. Usted coloca todos los componentes con licencia GPL en el primer programa y la licencia bajo la GPL, y licencia el otro programa bajo una licencia incompatible con la GPL.

El primer caso está claramente bien. El segundo caso claramente no está bien. No ha dado mucha información sobre su caso en particular, e incluso si lo hizo, solo una decisión judicial puede decidir definitivamente si está en lo correcto.

Las preguntas frecuentes de la GPL tienen esto para decir sobre programas interoperables, con licencia independiente :

  

Sin embargo, en muchos casos puede distribuir el software cubierto por la GPL junto con su sistema propietario. Para hacer esto de manera válida, debe asegurarse de que los programas gratuitos y no gratuitos se comuniquen con los brazos cruzados , de que no se combinen de una manera que los convierta en un solo programa.

     

La diferencia entre esto y "incorporar" el software cubierto por la GPL es en parte una cuestión de sustancia y en parte forma. La parte importante es la siguiente: si los dos programas se combinan para que se conviertan en dos partes de un programa, entonces no puede tratarlos como dos programas separados. Por lo tanto, la GPL tiene que cubrir el conjunto cosa.

Debe decidir si cree que su cliente cumple con el estándar de "dos partes del mismo programa" (y, por lo tanto, cada una debe tener una licencia según la GPL) o no. Las preguntas frecuentes de la GPL ofrecen algunas explicación adicional sobre este tema en otra pregunta :

  

¿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 (exec, pipe, rpc, llamadas de función dentro de un espacio de direcciones compartido, etc.) como de la semántica de la comunicación (qué tipo de información se intercambia).

     

...

     

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

Por lo tanto, la comunicación de red ciertamente pasa la prueba del "mecanismo de comunicación", pero no está claro en qué parte de su pareja cliente / servidor cae en la prueba de la "semántica de la comunicación".

    
respondido por el apsillers 08.05.2015 - 16:16
4

Dos procesos que se comunican a través de una red no implican la creación de un trabajo derivado como lo hace la vinculación de un ejecutable con una biblioteca. Por lo tanto, el código GPL en el servidor no se aplica al código del cliente.

Bajo la GPL, se le requiere que distribuya el código fuente modificado cuando distribuya los binarios. Dado que no está distribuyendo los binarios del servidor, no está obligado a distribuir el código fuente del servidor.

La GPL de GNU Affero es una licencia similar a la GPL con un verbo adicional diseñado para cerrar este agujero de bucle que desea aprovechar (consulte: enlace y enlace ).

Descargo de responsabilidad: soy un desarrollador, no un abogado.

    
respondido por el J. Lenthe 08.05.2015 - 03:42
2

¿El software del cliente depende del software del servidor para su correcto funcionamiento? En otras palabras, ¿funcionará el software cliente sin estar conectado al servidor?

Si la respuesta es "sí", y el servidor simplemente proporciona una característica adicional, y no soporte básico, para el software de su cliente, entonces probablemente no tenga dudas. Si el software del servidor es una parte integral del software cliente y proporciona una funcionalidad central al software cliente (es decir, el software cliente no funcionará sin el servidor), la combinación es un trabajo derivado, cubierto bajo la GPL.

    
respondido por el Robert Harvey 08.05.2015 - 03:36

Lea otras preguntas en las etiquetas