[GPL] Je m'interroge

Bonsoir à tous.

Un ami gérant un site qu’on pourrait qualifier de “commercial” (c’est un agenda de soirées contenant des bandeaux de pub)
m’a demandé de trouver un CMS performant pour simplifier la gestion.

Mais je suis paumé avec les licences.
Après avoir cherché dans google, je n’ai pas trouvé la réponse à la question suivante :
Peut-on utiliser un CMS sous licence GPL pour un site commercial ?

Merci d’avance B)

en un mot : oui.

une preuve : le site de safran, où on peut trouver une page qui précise bien que le site est basé sur SPIP (site officiel), lui-même GPL (voir les conditions d’utilisation de SPIP).
Et ils ont certainement pas fait ça sans demander avant à tous leurs avocats.

Bon, après avoir relu le principe du site “commercial”, je me rends compte que safran n’est pas forcément le meilleur exemple, parce qu’à priori, y a pas de pub rémunérée dessus… Mas ca reste un site purement commercial.

Il me semble qu’il faut mentionner la licence quelque part et de mettre à disposition les modifications effectuées sur le bouzin.

Si tu redistribues ton code ou ton application. Héberger un site web n’est pas considéré comme une distribution mais une utilisation personnelle (même si les GNUistes aiemeraient bien empêcher ça, cf la deuxième partie de la réponse dans le lien suivant B))
Ce cas est justement expliqué ici : http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods

Bah les modification je ne ne croit pas , car il n’ y a pas “redistribution” seulement “utilisation” , hors c’ est en cas de redistribution que l’ on se doit de fournir avec le produit les sources modifier sous GPL .

Exemple je suis sous linux je modifie un bout de programme dans mon coin pour moi , la FSF va pas envoyer le FBaie defoncer ma porte pour me forcer a le rendre publique .

edit grilled

D’après ce post

  • Il faut mentionner la licence mais pas forcément dans ce qui est visible par l’utilisateur (dans un commentaire dans le code source)
  • Les modifications ne sont pas obligatoirement à distribuer mais si on souhaite les mettre à disposition, elles devront être elles-aussi sous GPL

[quote=“kineox, post:4, topic: 46074”]Si tu redistribues ton code ou ton application. Héberger un site web n’est pas considéré comme une distribution mais une utilisation personnelle (même si les GNUistes aiemeraient bien empêcher ça, cf la deuxième partie de la réponse dans le lien suivant B))
Ce cas est justement expliqué ici : http://www.gnu.org/licenses/gpl-faq.html#UnreleasedMods[/quote]

Je cite, pour recentrer le débat sur cette grosse zone grise :

[quote]A company is running a modified version of a GPL’ed program on a web site. Does the GPL say they must release their modified sources?
The GPL permits anyone to make a modified version and use it without ever distributing it to others. What this company is doing is a special case of that. Therefore, the company does not have to release the modified sources.

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case. Developers who wish to address this might want to use the Affero GPL for programs designed for network server use.[/quote]

Donc non, pas besoin, mais comme c’est pas privé, ca devrait l’être. De “devrait” à “c’est” il n’y a souvent pas grand chose. M’étant posé la même question il y a quelques semaines, j’ai mailé la FSF pour savoir exactement de quoi il en retourne, mais je n’ai à ce jour recu aucune réponse.

Il n’y a aucun problème pour utiliser des logiciels GPL dans un contexte commerciale, la seule contrainte, c’est que toute modification du code source doit elle aussi être diffusée sous GPL.
Pour ton cas, s’il n’y a aucune modification du code source, tu n’as même pas à t’inquiéter, maintenant, si tu comptes modifier le source, tu as parfaitement le droit, mais il faut être fairplay, on t’as fourni le droit d’utiliser, de modifier les sources tu as le devoir de les redistribuer en respectant les même termes.

Si la redistribution des sources te pose problème il faut te réorienté vers d’autres licences plus permissive comme la BSD.

Personnellement, je te conseille Joomla comme CMS.

Toi tu devrais peut-être songer à lire entièrement le thread avant de cliquer sur le bouton ‘répondre’. La GPL[*] impose à redistribuer SAUF s’il s’agit d’une application (Web par exemple) qui ne quitte jamais le serveur où il est hébergé.

[edit]
[*] GPLv2 et v3 à priori.

[quote=“bishop, post:7, topic: 46074”]Je cite, pour recentrer le débat sur cette grosse zone grise :
Donc non, pas besoin, mais comme c’est pas privé, ca devrait l’être. De “devrait” à “c’est” il n’y a souvent pas grand chose. M’étant posé la même question il y a quelques semaines, j’ai mailé la FSF pour savoir exactement de quoi il en retourne, mais je n’ai à ce jour recu aucune réponse.[/quote]
Je ne trouve pas qu’il y ait ambiguité. Je le comprends comme : “La GPL n’oblige pas à redistribuer le code quand on héberge un soft GPL modifié, car c’est une utilisation personnelle. Mais cependant, si le site est public, ce n’est pas une utilisation personnelle véritable. Donc si toi aussi tu partages le rêve d’un monde libre avec que des softs libres, tu peux mettre ton code sous Affero GPL, qui oblige les méchants capitalistes qui utilisent ton code à publier les modifications même dans le cas de cette utilisation plus ou moins personnelle.”

Après lecture de tout ça, je me pose une question.
Si l’utilisation de GPL est autorisée même pour des projets commerciaux, quelle est l’utilité de la LGPL ?
Permettre de revendre une appli diffusée sous LGPL modifiée ?

[quote=“eka808, post:11, topic: 46074”]Après lecture de tout ça, je me pose une question.
Si l’utilisation de GPL est autorisée même pour des projets commerciaux, quelle est l’utilité de la LGPL ?
Permettre de revendre une appli diffusée sous LGPL modifiée ?[/quote]
La GPL autorise la vente du logiciel certes, mais comme tu dois mettre à disposition le code source, n’importe qui peut le diffuser gratuitement ou bien le vendre 2 fois moins cher que toi.
La LGPL permet de faire du code proprio tout en utilisant du code LGPL sous forme de librairie.

[quote=“eka808, post:11, topic: 46074”]Après lecture de tout ça, je me pose une question.
Si l’utilisation de GPL est autorisée même pour des projets commerciaux, quelle est l’utilité de la LGPL ?
Permettre de revendre une appli diffusée sous LGPL modifiée ?[/quote]
Le but de la GPL n’est surtout pas d’interdire les projets commerciaux. C’est juste d’empecher que quelqu’un te concurrence avec ton soft et 2 ou 3 features en plus, mais sous license proprio. Avec la GPL un concurrent peut toujours faire ca, mais tu peux toi aussi récuperer les features en plus qu’il a ajouté.

[quote=“unreal, post:9, topic: 46074”]Toi tu devrais peut-être songer à lire entièrement le thread avant de cliquer sur le bouton ‘répondre’. La GPL[*] impose à redistribuer SAUF s’il s’agit d’une application (Web par exemple) qui ne quitte jamais le serveur où il est hébergé.

[edit]
[*] GPLv2 et v3 à priori.[/quote]

D’abord, j’ai lu tout le thread, ca ne sert à rien de s’énerver, et ce que je voulais dire, car effectivement ça n’était peut-être pas assez clair pour tout le monde :

Mise au point : La LGPL a été créée pour imposer des standards de facto qui soient libres, comme la librairie SDL qui peut être utilisée dans des logiciels propriétaires pourvu qu’ils ne l’incluent pas statiquement et qu’ils ne la modifient pas. La LGPL autorise le linkage de la librairie visée par cette licence avec des programmes propriétaires, ce que ne permet pas la GPL.

La librairie libfoo permet d’afficher “Hello, world” en 20 langues. Si elle est sous GPL, je ne peux pas créer et diffuser un programme sous licence non-GPL (ou non-GPL_compatible, à vérifier) l’utilisant. Par contre, si elle est sous LGPL, mon programme Hell0z (qui est propriétaire et couvert par un contrat du type ceux que vous ne lisez pas avant d’installer Office 2007) peut faire appel à cette librairie tant que la librairie et le programme restent séparés (donc, pas compilés dans le même fichier). Attention toutefois ! Si je modifie la libtoto pour ajouter une 21ème langue par exemple et que je veux diffuser mon programme avec cette librairie modifiée, je dois redistribuer libtoto sous licence LGPL.

En résumé, en acceptant le mot programme comme {librairie ou executable} :

  • Un programme couvert par une licence incompatible avec la GPL ne peut pas faire appel à une librairie GPL.
  • Par contre, il peut faire appel à une librairie LGPL pourvu que physiquement les deux programmes ne soient pas compilés statiquement.
  • Si on modifie un programme GPL et qu’on veut le diffuser seul ou dans un ensemble de logiciels, on doit le redistribuer sous GPL. Par contre, on peut envisager de distribuer des composants GPL et non-GPL dans le même paquetage.
  • Si on modifie un programme LGPL et qu’on veut le diffuser, on doit le diffuser sous licence LGPL ou sous licence GPL. Dans ce dernier cas, on n’a pas le droit de lier la librairie modifiée à un programme non-GPL_compatible.

J’espère avoir éclairé vos lanternes.

[EDIT]Concernant les sites web, ce n’est pas de la redistribution. On est inattaquables là-dessus. Par contre un éditeur vendant des solutions de sites web basées sur des solutions GPL doit distribuer ses sources sur le net. S’il fait un travail sur commande pour un client, il n’est tenu de donner les sources qu’au client. La distribution et la mise à disposition du code sont liées : toute diffusion doit pouvoir être accompagnée de distribution du code. Point.

Non, linker statiquement n’est pas interdit. La LGPL demande juste à ce qu’il soit possible de remplacer la librairie utilisée par une version differente. Linker dynamiquement est une facon de permettre cela, mais ce n’est pas la seule. Par exemple il est possible de fournir un programme linké statiquement, et donner à coté les .o et la librairie utilisée pour les gens qui veullent relinker le programme en utilisant une autre version de la librairie.