[spip-dev] licence des plugins : ça doit forcément être du GPL, non ?

Bonjour à tous,

on m’a posé récemment la question sur spip-en, j’avoue que je n’y avais pas réfléchi. Je suis allé voir le site de GNU, la réponse me semble claire : ça doit être du GPL.
http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

3 cas sont précisés. L’un d’eux (celui qui correspond clairement à SPIP) est celui-ci :

"
If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.
"

En gros, un plugin est considéré comme un travail dérivé de SPIP. Donc une licence de même type doit s’appliquer.

Les 2 autres font référence à des appels système, ou à un appel unique qui ne passe que par un point d’entrée (une fonction main()) :

" If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them.
"

Est-ce qu’il ne faudrait pas se positionner clairement sur cet aspect ?

Bon, ça n’empêche pas de vendre les plugins, hein :wink:

.Gilles

Gilles VINCENT a écrit :

Bon, ça n'empêche pas de vendre les plugins, hein :wink:

Bien entendu, mais cela ajouterait l'obligation du publier les sources du programme.

C'est plutôt cool pour aller à l'inverse de certaines boites qui vendent des plugins mais qui ne distribuent pas...

Héhé.

ou, au contraire, cela va finir de convaincre les derniers professionnels qui utilisent Spip de passer a Drupal ou un autre ...
Attention à ce que le remède ne soit pas pire que le mal.

Par ailleurs, je ne suis pas certain que ce soit juridiquement tenable et defendable.
Notamment la clause
"If the program dynamically links plug-ins"
est discutable à partir du moment où c'est bien le webmestre qui doit aller activer le plugin dans le BO de Spip
et
"and they make function calls to each other"
est également discutable pour un plugin qui ne fait que s'inserer dans des pipelines. Techniquement Spip n'appelle nativement aucune fonction du plugin.

Je pense que le seul cas où la licence du plugin est obligatoirement GPL est le cas où le plugin fork certaines fonctions de Spip en reprenant donc le code original de Spip modifié.

Cédric

cedric.morin@yterium.com a écrit :

ou, au contraire, cela va finir de convaincre les derniers professionnels qui utilisent Spip de passer a Drupal ou un autre ...

Et qui est-ce que ça gênera (à part lui même peut être) ?

"If the program dynamically links plug-ins"
est discutable à partir du moment où c'est bien le webmestre qui doit aller activer le plugin dans le BO de Spip
et
"and they make function calls to each other"
est également discutable pour un plugin qui ne fait que s'inserer dans des pipelines.

Oui tu crois ?
Ce serait un peu comme le gars qui avait étranglé sa femme
et qui disait "c'est elle qui m'a énervé"...
:wink:

JL

2008/10/23 RastaPopoulos <vincent@ldd.fr>

Gilles VINCENT a écrit :

Bon, ça n’empêche pas de vendre les plugins, hein :wink:

Bien entendu, mais cela ajouterait l’obligation du publier les sources du programme.

C’est plutôt cool pour aller à l’inverse de certaines boites qui vendent des plugins mais qui ne distribuent pas…

Distribuer les sources ne veut pas dire les distribuer gratuitement, hé.
Dans la pratique, sauf s’il compile le code PHP avec Zend Compiler (et encore, est-ce que ça peut encore marcher ?), les sources d’un plugin sont Toujours livrée. Je vois rarement le client redistribuer le code, en le mettant sur la zone par exemple.

Ce n’est pas sans risque, mais vu qu’on peut garder la paternité du plugin (avec les bonnes licences), même une telle pratique peut nous faire de la pub.
Quand on vend de l’Open Source, on vend surtout son expertise.

.Gilles

Gilles VINCENT a écrit :

Bon, ça n’empêche pas de vendre les plugins, hein :wink:

Bien entendu, mais cela ajouterait l’obligation du publier les sources du programme.

C’est plutôt cool pour aller à l’inverse de certaines boites qui vendent des plugins mais qui ne distribuent pas…

ou, au contraire, cela va finir de convaincre les derniers professionnels qui utilisent Spip de passer a Drupal ou un autre …
Attention à ce que le remède ne soit pas pire que le mal.

Ca ne change rien en pratique, vu que les sources sont toujours livrées (gratuitement ou pas).
Par contre, sans licence, le code peut être repris par un autre sans qu’on puisse rien faire. Le fait de protéger son développement avec une licence permet d’être certain (enfin, un peu plus certain), que toute reprise de son travail sera indiquée comme explicitement dérivée de nous (donc on en garde une partie de la paternité) - sans compter du fait qu’on peut exiger à des développeurs qui vont améliorer le code, de nous redistribuer leurs amélioration : c’est quand même le gros avantage de la licence GPL (ça nous fait alors de l’économie en développement)

Par ailleurs, je ne suis pas certain que ce soit juridiquement tenable et defendable.
Notamment la clause

« If the program dynamically links plug-ins »

est discutable à partir du moment où c’est bien le webmestre qui doit aller activer le plugin dans le BO de Spip

Une licence s’applique au niveau du programme, pas de son utilisateur.
Les appels aux fonctions me semblent d’autant plus dynamiques que SPIP utilisent la méthode du find_in_path pour les trouver. De plus, au regard des 2 autres cas possibles, il suffit que quelques fonctions soient appelées directement (pour que ce soit discutable, il faudrait que le plugin n’ait qu’un point d’entrée unique)

et

« and they make function calls to each other »

est également discutable pour un plugin qui ne fait que s’inserer dans des pipelines. Techniquement Spip n’appelle nativement aucune fonction du plugin.

Je pense que le seul cas où la licence du plugin est obligatoirement GPL est le cas où le plugin fork certaines fonctions de Spip en reprenant donc le code original de Spip modifié.

Oui, toute surcharge du code de SPIP entre dans ce cas là, on est d’accord.

.Gilles

JLuc a écrit :

cedric.morin@yterium.com a écrit :

ou, au contraire, cela va finir de convaincre les derniers professionnels qui utilisent Spip de passer a Drupal ou un autre ...

Et qui est-ce que ça gênera (à part lui même peut être) ?

non tu te trompes... ca génera tout le monde !!! moins de développeurs = moins de plugins = moins de fonctionnalités = moins de SPIP = moins de tendresse ...
ok tous les développeurs ne sont pas pros ... mais quid de plugins comme form et tables, par exemple (et pour n'en citer qu'un seul ... ) ? A mon avis cédric a bien du passer des dixaines ( voire centaines ) heures a le développer et parce qu'il a du en avoir beosin et que ca n'existait pas ... ce plugin n'existerai peut-etre pas aujourd'hui si ce genre de profil n'utilisait pas SPIP ...

Merci a ceux qui redistribuent.
Pour les autres... ils ne profitent pas de l'apport de la communauté et du principe du 80/20 ( pour un besoin précis on prend un plugin qui couvre 80 % des besoins et on développe uniquement 20 % ... et si "la communauté accepte" on publie ...
Bref pour ceux qui n'ont pas encore compris que c'est plus "rentable" de ne développer que 20 % ... tant pis pour eux

Ah, une autre précision qui explique un peut l’objet de mon message initial.

Yoann Nogues a écrit :

Merci a ceux qui redistribuent.
Pour les autres... ils ne profitent pas de l'apport de la communauté et du principe du 80/20 ( pour un besoin précis on prend un plugin qui couvre 80 % des besoins et on développe uniquement 20 % ... et si "la communauté accepte" on publie ...
Bref pour ceux qui n'ont pas encore compris que c'est plus "rentable" de ne développer que 20 % ... tant pis pour eux

bon je disgresse un peu la ... revenons au sujet :slight_smile:

Avant que les discussions ne dérivent en troll passionnel, je rappelle la position explicite de Free Software Fondation :
http://www.gnu.org/philosophy/selling.fr.html

"
Beaucoup de personnes croient que l’esprit du projet GNU est de ne pas faire payer la distribution de copies de logiciels, ou alors le moins possible : juste assez pour couvrir les frais.
En fait, nous encourageons ceux qui distribuent des logiciels libres à les faire payer le prix qu’ils veulent ou peuvent. Si cela vous semble surprenant, continuez à lire.
"

A ceux qui ne comprennent pas de lire la suite de l’article :slight_smile:

.Gilles

Gilles VINCENT a écrit :

Quand on vend de l'Open Source, on vend surtout son expertise.

Moi je ne vends pas de l'Open Source, je vends des services *autour* du *Logiciel Libre*.

Hihi. :slight_smile:

Je suis d'accord avec Cédric.

Il faudrait, avant de partir sur des considérations morales, réussir à expliquer selon que méthode juridique on transmet la licence de SPIP à ses plugins. Dit autrement: comment les détenteurs de la licence du core de SPIP deviendraient les détenteurs du droit d'auteur sur tous les plugins développés pour SPIP.

ARNO*

Martin Arnaud a écrit :

Je suis d'accord avec Cédric.

Il faudrait, avant de partir sur des considérations morales, réussir à expliquer selon que méthode juridique on transmet la licence de SPIP à ses plugins. Dit autrement: comment les détenteurs de la licence du core de SPIP deviendraient les détenteurs du droit d'auteur sur tous les plugins développés pour SPIP.

il me semble aussi que ca a été déjà débattu et que la conclusion était : pas d'obligation de GPL pour les plugins.
La seule contrainte, c'est de ne pas fournir d'offre packagée (distribution d'un melange libre/non libre)
à partir du moment ou le plugin est bien séparé, pas de soucis.

Après, si on voulait pinailler, il y a sans doute des trucs à dire pour ceux qui surchargent une partie de Spip, mais tant qu'on utilise les pipelines, on utilise Spip.
Est-ce qu'un script posé sur apache est forcement libre ? bien sur que non.
Est-ce qu'un script utilisant les fonctions publiques (API) de Spip est forcement libre ? pas plus amha.

Et puis il faut etre un peu pragmatique.
1- peut-on contraindre les developpeurs pro à publier ?
Non, puisqu'ils vous repondront que le code appartient à leur client et que c'est à lui de le publier
2- peut-on le savoir quand un plugin est developpé et non publié ?
Non, sauf si le client est postier... :slight_smile:
3-que pourrait-on faire en cas de non respect de cette regle ?
Faire un procès ? il y a des volontaires pour aller chercher les em....des ?
4- a-t-on interet à ce que tout soit publier ?
Non, il y a très souvent du code specifique inintéressant pour la communauté à l'etat brut (manque souvent la généralisation)
5- le pro a-t-il interet à ne pas publier ?
clairement non, et ca, la plupart des pros ici l'ont bien compris je pense.

mes 2 sous

@++

Il faudrait, avant de partir sur des considérations morales, réussir à expliquer selon que méthode juridique on transmet la licence de SPIP à ses plugins. Dit autrement: comment les détenteurs de la licence du core de SPIP deviendraient les détenteurs du droit d’auteur sur tous les plugins développés pour SPIP.

Sauf erreur de ma part, SPIP est sous licence GPLv2 (pas la 3)
Elle ne respecte pas trop les droits d’auteurs tels qu’ils sont définis par la loi française.
C’est d’ailleurs ce qui a été à en partie l’origine de la licence CeCiLL
http://www.atelier.fr/article.php?artid=27923

.Gilles

* Gilles VINCENT tapuscrivait, le 23/10/2008 10:41:

Ca ne change rien en pratique, vu que les sources sont toujours livrées (gratuitement ou pas).

Ce n'est pas toujours vrai.
Y'a un plugin de boutique développé par une société dont je tairais le nom dans la Marne qui va être vendu (ça a été visible sur le site, mais ça ne l'est plus).
Du coup, intéressé, j'ai voulu en savoir plus.
Effectivement, vendu, le plugin est distribué encodé par Zend Guard, avec en plus une limite de temps : au bout d'un an, le code cesse d'être exécutable.

Donc, c'est bien un plugin de SPIP, distribué, mais en tant que binaire sans le source...

* Gilles VINCENT tapuscrivait, le 23/10/2008 12:00:

Sauf erreur de ma part, SPIP est sous licence GPLv2 (pas la 3)

SPIP 1.9 et précédentes : GPL v2
SPIP 2 : GPL v3

Sauf erreur de ma part, SPIP est sous licence GPLv2 (pas la 3)

SPIP 1.9 et précédentes : GPL v2
SPIP 2 : GPL v3

Oui, ça c'est la licence de distribution ; et pour répondre à Gilles
SPIP est *aussi* couvert par le droit d'auteur à la française.

-- Fil

RealET a écrit :

* Gilles VINCENT tapuscrivait, le 23/10/2008 10:41:

Ca ne change rien en pratique, vu que les sources sont toujours livrées (gratuitement ou pas).

Ce n'est pas toujours vrai.
Y'a un plugin de boutique développé par une société dont je tairais le nom dans la Marne qui va être vendu (ça a été visible sur le site, mais ça ne l'est plus).
Du coup, intéressé, j'ai voulu en savoir plus.
Effectivement, vendu, le plugin est distribué encodé par Zend Guard, avec en plus une limite de temps : au bout d'un an, le code cesse d'être exécutable.

Donc, c'est bien un plugin de SPIP, distribué, mais en tant que binaire sans le source...

C'est à ça que je faisais référence quand j'avais répondu précédemment.

Bonjour à tous,

2008/10/23 RealET <real3t@gmail.com>

  • Gilles VINCENT tapuscrivait, le 23/10/2008 12:00:

Sauf erreur de ma part, SPIP est sous licence GPLv2 (pas la 3)

SPIP 1.9 et précédentes : GPL v2
SPIP 2 : GPL v3

Qu’est-ce qui a justifié le changement de licence ?

Je sais que pas mal de projet open source refusent de passer en GPL v3 à cause de problèmes pas encore très identifiés (pour ma part) [je pense par exemple au noyau Linux], et que Steinmann, père de la GPL v2, a beaucoup critiqué la version 3.
J’ai aussi lu quelque part qu’on ne peut pas mélanger GPL v2 et GPL v3 dans un même code. Est-ce que ça impliquerait alors que les plugins, s’ils doivent être sous GPL, devront être en GPL v3 ?

Quelles en sont les conséquences, tant pour SPIP que pour les plugins ?

.Gilles

Arf, ça tombe bien, je les ai aussi contacté quand la page est apparue sur del.icio.us
(avant de poster ce fil de discussion sur cette liste)

  • Gilles VINCENT tapuscrivait, le 23/10/2008 10:41:

Ca ne change rien en pratique, vu que les sources sont toujours livrées (gratuitement ou pas).

Ce n’est pas toujours vrai.
Y’a un plugin de boutique développé par une société dont je tairais le nom dans la Marne qui va être vendu (ça a été visible sur le site, mais ça ne l’est plus).
Du coup, intéressé, j’ai voulu en savoir plus.
Effectivement, vendu, le plugin est distribué encodé par Zend Guard, avec en plus une limite de temps : au bout d’un an, le code cesse d’être exécutable.

Donc, c’est bien un plugin de SPIP, distribué, mais en tant que binaire sans le source…

Voici la réponse que j’ai eue :

"Bonjour M Vincent,

Vous nous avez alerté récemment sur le manque d’information sur la licence encadrant le téléchargement gratuit des plugins disponibles sur notre site internet.

Comme vous le savez notre équipe contribue modestement au projet SPIP depuis de nombreuses années.

Tout d’abord par la mise à disposition gratuite sur SPIP Contrib de squelettes, [conrib1] ou [contrib2].

Ensuite par la mise en libre téléchargement de plugins depuis notre site internet, SPIP L. ou SPIP M. par exemple.

Cette volonté de servir la communauté nous a conduit à répondre à un très grand nombre de messages d’utilisateurs et nous l’avons fait bien volontiers.

Votre message nous conduit à préciser notre position et je reviendrais vers vous très prochainement pour vous tenir informé.

Bien cordialement
P. H.
"

S’ils distribuent effectivement leur plugin sous forme binaire, ça me semble fort regrettable, en effet.

Ca me semble alors loin des réactions de Cédric et ARNO*,

.Gilles