Comment le javascript côté client est-il couvert par la GPL?

29

Si j'utilisais une bibliothèque Javascript sous licence GPL dans une application Web, devrais-je alors proposer le code source de l'ensemble du site à quiconque a téléchargé et exécuté la bibliothèque Javascript?

Armand
la source
5
C'est une question très intéressante. En règle générale, les applications Web ne sont pas couvertes par la GPL car vous ne distribuez pas le code (c'est pourquoi AGPL existe). Cependant, dans le cas de code qui s'exécute sur le navigateur, vous distribuez en quelque sorte le code. Si c'est vrai, la nature de la GPL implique que votre application Web entière doit être publiée sous la GPL.
Scott Whitlock
5
@David - la question est de savoir si la GPL vous oblige à publier également le reste de votre application Web (comme le côté serveur). Vous avez utilisé la bibliothèque Javascript pour créer une œuvre dérivée. La GPL s'appliquerait à l'ensemble du résultat.
Scott Whitlock
1
@David si c'était clair, je n'aurais pas demandé: p
Armand
1
@Alison, ah OK, désolé, j'ai mal compris la question complète alors. Non, le côté serveur ne devrait pas être sous GPL. Tant que les communications entre le client et le serveur sont d'un certain format contrairement à une invocation fonctionnelle au niveau de la machine, comme XML, vous n'avez rien à craindre. Le simple fait de servir du code GPL, qu'il soit HTML ou JS, ne fait pas que le code côté serveur le délivre ou communique avec lui dans un format d'appel non distant, un travail dérivé.
David
1
Richard Stallman, auteur de GPL, sur la question: gnu.org/philosophy/javascript-trap.html
Honza Pokorny

Réponses:

5

Vous devez proposer le JavaScript de cette bibliothèque et le JavaScript de l'application qui accède à l'API de cette bibliothèque (et à toutes les autres bibliothèques auxquelles les applications accèdent, qui doivent également disposer d'une licence compatible GPL).

N'oubliez pas que vous devez fournir le code JavaScript lisible par l'homme, et non une version dépouillée d'espaces, comme c'est généralement le cas en production.

Le HTML qui invoque le JavaScript est déjà clairement disponible, il ne compte pas vraiment comme un "lien" vers ce JavaScript et sa disponibilité signifie que les gens ne s'en soucieront probablement pas.

David
la source
3
Je ne pense pas que la liaison soit le seul déclencheur. Par exemple, si votre programme dépend d'une autre application d'assistance de telle manière que votre application ne peut pas fonctionner sans l'autre bibliothèque, alors pour les besoins de la GPL, c'est une seule application. Je pense que dans ce cas, je recommanderais de consulter un avocat.
Scott Whitlock
il doit être lisible par l'homme? Intéressant. Je vais poser cette question séparément.
Armand
Il doit être inchangé, à la fois dans GPL V2 et V3. OK, ce n'est peut-être pas la même chose, je suppose que l'homme est accessible en écriture == lisible par l'homme.
David
1
Publié en tant que question distincte ici: programmers.stackexchange.com/questions/62885/…
Armand
@ScottWhitlock Aux fins de la loi, cela n'a d'importance que si l'un est un dérivé de l'autre du point de vue du droit d'auteur, et non si l'un peut fonctionner sans l'autre. Si la loi sur le droit d'auteur ne s'applique pas, la GPL (qui est une licence, pas un contrat, ne peut donc accorder que des autorisations et ne pas les retirer) n'a aucun effet. Il serait très difficile de montrer lequel du serveur et du client dans une application Web typique est dérivé de l'autre, voire pas du tout. Je dirais qu'il est plus probable que le client soit un dérivé du serveur, car la plupart des développeurs écrivent normalement serveur puis client, mais c'est loin d'être uniforme.
Jules