¿Cómo cubre la GPL javascript del lado del cliente?

29

Si utilizara una biblioteca Javascript con licencia GPL en una aplicación web, ¿tendría que ofrecer el código fuente de todo el sitio a cualquiera que descargara y ejecutara la biblioteca Javascript?

Armand
fuente
55
Esta es una pregunta muy interesante. Por lo general, las aplicaciones web no están cubiertas por la GPL porque no está distribuyendo el código (razón por la cual existe AGPL). Sin embargo, en el caso del código que se ejecuta en el navegador, está distribuyendo el código. Si eso es cierto, la naturaleza de la GPL implica que toda su aplicación web debe ser lanzada bajo la GPL.
Scott Whitlock
55
@David: la pregunta es si la GPL lo obliga a liberar el resto de su aplicación web (como las cosas del lado del servidor) también. Has utilizado la biblioteca Javascript para crear un trabajo derivado. La GPL se aplicaría a todo el resultado.
Scott Whitlock
1
@David si estuviera claro, no habría preguntado: p
Armand
1
@Alison, ah OK, lo siento, entonces entendí mal la pregunta completa. No, el lado del servidor no tendría que ser GPL. Siempre que las comunicaciones entre el cliente y el servidor tengan algún formato, a diferencia de una invocación funcional a nivel de máquina, como XML, no tiene nada de qué preocuparse. Simplemente servir código GPL, ya sea HTML o JS, no hace que el código del lado del servidor que lo entrega o se comunique con él en un formato de invocación no remoto sea un trabajo derivado.
David
1
Richard Stallman, autor de GPL, sobre el tema: gnu.org/philosophy/javascript-trap.html
Honza Pokorny

Respuestas:

5

Tendría que ofrecer el JavaScript de esa biblioteca y el JavaScript de la aplicación que accede a la API de esa biblioteca (y cualquier otra biblioteca a la que acceda la aplicación, que también debe tener una licencia compatible con GPL).

Recuerde, debe proporcionar el JavaScript legible por humanos, no una versión despojada de espacios en blanco, ya que generalmente entra en producción.

El HTML que invoca el JavaScript ya está claramente disponible, realmente no cuenta como "enlace" a ese JavaScript y su disponibilidad significa que es poco probable que las personas se preocupen por él.

David
fuente
3
No creo que la vinculación sea el único desencadenante. Por ejemplo, si su programa depende de otra aplicación auxiliar de tal manera que su aplicación no pueda funcionar sin la otra biblioteca, entonces, para los fines de la GPL, es una sola aplicación. Creo que en este caso, recomendaría consultar a un abogado.
Scott Whitlock
tiene que ser legible por humanos? Interesante. Haré esto como una pregunta separada.
Armand
Tiene que ser inalterado, tanto en GPL V2 como en V3. OK, eso puede no ser lo mismo, supongo que human writable == human legible.
David
1
Publicado como una pregunta separada aquí: programmers.stackexchange.com/questions/62885/…
Armand
@ScottWhitlock Para los propósitos de la ley, solo importa si uno es un derivado del otro desde una perspectiva de derechos de autor, no si uno puede funcionar sin el otro. Si la ley de derechos de autor no se aplica, la GPL (que es una licencia, no un contrato, por lo que solo puede otorgar permisos y no eliminarlos) no tiene efecto. Sería muy difícil mostrar cuál de los servidores y clientes en una aplicación web típica es derivado de la otra, si es que lo es. Diría que es más probable que el cliente sea un derivado del servidor, ya que la mayoría de los desarrolladores normalmente escriben servidor y luego cliente, pero eso está muy lejos de ser uniforme.
Jules