Question réécrite:
Je ne pose pas de question liée à JavaScript, mais à toutes les langues "clientes" utilisées sur le Web (HTML5, JavaScript, CSS, etc.). Si je mets du code JavaScript (c'est-à-dire sous GPL) sur mon site Web et que ce site Web est accessible à tous sur le Web, est-ce que je viole la GPL d'une manière ou d'une autre?
Que se passe-t-il si je souhaite vendre le code client (HTML, CSS, JavaScript) à quelqu'un? Ai-je besoin d'une licence différente dans ce cas?
Le JavaScript (lorsqu'il est utilisé pour des sites Web) n'est-il pas toujours open source? Lorsque vous ouvrez une page Web, vous pouvez toujours lire la source.
Dois-je également publier mon code côté serveur si je vends un site Web contenant du code JavaScript GPL?
Que se passe-t-il si ce site est partiellement accessible (une partie est gratuite et l'autre vous oblige à payer) mais le code GPL (la même partie) est utilisé des deux côtés du site?
Que faire si le code GPL ne se trouve que dans une partie du site Web qui vous oblige à payer pour y accéder?
Si je vends un site Web à un client de cette manière:
- Je vous vends (frais uniques) tout le code client (JavaScript, HTML et CSS)
- Je ne vous vends pas le code côté serveur, vous le louez (je ne veux pas vous laisser réutiliser mon code côté serveur)
Si j'utilise du code JavaScript sous GPL, est-ce que je viole quelque chose? (Le site Web est accessible à tous sur le Web.)
Modifier 2:
Ajout d'une nouvelle question spécifique:
Et si le site Web peut fonctionner sans code côté serveur, je veux dire, JavaScript appelle simplement certaines pages PHP contenant des données au format JSON. D'autres personnes peuvent créer un site Web avec le côté client, mais elles devront fournir des données. Dans ce cas, JavaScript appelle le code "PHP" (mais pas l'inverse) je pense. Dans ce cas, suis-je en train de violer la GPL?
la source
Réponses:
En ce qui concerne la GPL, l'unité de publication est l'unité de licence.
Si votre site Web et son javascript sont une seule chose qui fonctionne ensemble, alors l'ensemble a une licence efficace. Si une partie est GPL, la licence effective de l'ensemble est GPL. (Ce n'est pas vrai pour LGPL, MIT, etc.)
Si vous hébergez le site Web et que vos clients achètent l'accès au service, vous n'avez pas distribué ou transmis le code côté serveur, la GPL n'est donc pas pertinente. (L'AGPL change cela et affirme que le logiciel en tant que service doit avoir sa source libérée.)
Javascript qui fait partie de votre application n'est en aucun cas automatiquement concédé sous licence. À strictement parler, le téléchargement du javascript pour l'exécuter dans le navigateur constitue une violation des droits d'auteur. Bien sûr, c'est idiot. Il y a probablement une licence implicite pour exécuter le code, mais c'est tout.
Si vous utilisez une bibliothèque Javascript, vous devez alors respecter la licence de cette bibliothèque. Si cette licence est GPL, je comprends que cela signifie que votre application entière est GPL. C'est probablement pourquoi jQuery a une double licence - votre choix, MIT ou GPL. Sans la possibilité d'utiliser la licence MIT, elle ne pourrait être utilisée que par les applications GPL.
la source
Premièrement: vous êtes entièrement autorisé à utiliser le code Open Source dans des projets commerciaux tant que vous respectez les restrictions de licence (c'est-à-dire principalement que vous laissez toutes les attributions en place et que vous apportez toutes les modifications disponibles sous une licence similaire).
Je comprends que la GPL est l'une des licences les plus restrictives lorsqu'il s'agit d'essayer d'imposer ses licences sur d'autres parties d'un projet. Je ne pense pas que cela ait jamais été testé en cour, mais d'une manière générale, l'interprétation que j'ai toujours vue est que si le code GPL est laissé dans ses propres modules séparés qui sont simplement référencés (c'est-à-dire qu'ils sont traités comme des produits entièrement autonomes que vous utilisez juste), ça devrait aller.
Si vous n'êtes pas sûr de cela et / ou si vous voulez être plus sûr, il existe d'autres licences moins normatives.
Deuxièmement: la possibilité de voir le code et les droits de l'utiliser sont entièrement distincts . Je ne peux pas retirer JavaScript de n'importe quel site et l'utiliser simplement parce que je le vois. Si j'ai accès à la source Windows, même légalement, cela ne le rend pas mien. Le Web nécessite que beaucoup de code soit visible, vous pouvez toujours le concéder sous licence comme vous le souhaitez.
Troisièmement: En termes de licence, le reste du site est sous, il est très peu probable que votre client soit heureux de vous payer quelque chose, puis de le rendre open source . Mis à part le «pourquoi avons-nous payé pour quelque chose que vous venez de donner», cela aura probablement des conséquences sur la conception et l'image de marque et permettra à quelqu'un d'emprunter des éléments de son identité d'entreprise. Si vous le leur vendez, ils voudront que ce soit le leur . Si vous allez leur en vendre des morceaux, vous devez leur dire qu'il y a OSS car vous ne pouvez pas vendre cela, juste un autre code qui l'utilise.
Quatrièmement: c'est un modèle très étrange qui vend un bit du code et loue l'autre . Ils sembleraient si fortement interdépendants que l'un est largement sans valeur sans l'autre. Je suppose que techniquement, ils pourraient prendre le design frontal que vous avez fait et le patcher dans autre chose, mais généralement, lorsque cela se produit, les gens recommencent.
Étant donné que les deux parties ne sont pas vraiment utiles l'une sans l'autre, je proposerais de payer pour la personnalisation d'un logiciel en tant que produit de service que vous possédez. C'est-à-dire que vous possédez tout le code, vous le personnalisez simplement selon leurs spécifications (c'est-à-dire la marque à leur façon). Le rend beaucoup plus net et plus simple.
la source
De manière générale, si vous utilisez du code GPL n'importe où dans votre projet et que vous redistribuez votre projet (c'est-à-dire le vendez ou le donnez à d'autres), vous devez divulguer le code source de votre projet au public dans son intégralité afin d'être conforme à la licence GPL.
Si vous fournissez votre propre site Web accessible au public en tant que service utilisant le code GPL côté serveur, vous pouvez être OK, car cela n'est pas considéré comme une redistribution.
Le code Javascript dans le navigateur me semble être une zone grise. Techniquement, vous redistribuez le code GPL au navigateur de tout le monde, ce qui déclencherait l'obligation de libérer votre propre source.
Edit: Pour prouver mon point, je vais maintenant inclure le texte de la FAQ sur les licences du site Web ExtJS. ExtJs est un framework Javascript sous licence GPL. Voici leur interprétation du fonctionnement de la licence par rapport à leur cadre (le mien en italique):
la source
Pour un site Web avec javascript côté client, ils possèdent toujours le code. Si vous deviez simplement prendre ce code et l'utiliser comme le vôtre, ce serait probablement une atteinte à la propriété intellectuelle. Je suppose que je ne sais pas s'ils n'incluent pas de licence avec. Il existe également des problèmes d'inapplicabilité. Parlez à un avocat, je suppose, mais ils ne vous diront probablement rien d'utile.
Les projets avec un mélange de licences sont compliqués. Le code GPL qui interagit avec d'autres bibliothèques, y compris vraisemblablement les backends côté serveur, nécessite également qu'elles soient GPL. D'autres licences open source sont moins strictes, comme la LGPL et la licence BSD.
Et non, si vous ne voulez pas qu'il réutilise votre code php, cela ne rentre pas dans le modèle GPL. Si vous publiez votre code sous GPL, vous êtes OBLIGÉ de remettre le code source.
Il semble donc que vous créez un site Web pour quelqu'un et que vous ne voulez pas distribuer votre code à quelqu'un. Pourquoi envisagez-vous l'open source? Si c'est open source, vous donnez le code.
la source