Journal GNU GPL et commercialisation : mauvaise compréhension des licences, l'exemple WPScan

Posté par  . Licence CC By‑SA.
25
25
jan.
2015

Bonjour Nal,

Un litige entre un développeur et une société à propos de l'utilisation d'un logiciel libre sera présenté ci-après. Il fait écho à une question revenant très souvent dans les journaux et commentaires sur LinuxFr : la réticence de certains à mettre leur programme sous licence GPL de crainte de se faire "piller" et que d'autres en profitent pour vendre un outil tirant parti du leur, gagnant de l'argent sans aucune obligation légale de contrepartie autre que le respect de ladite GPL, et les privant de fait d'un potentiel revenu qui leur reviendrait moralement de droit.

Si le libre offre de nombreux avantages (partage, communauté de contributeurs…), il fait parfois peur à des particuliers ou petites structures ayant la compétence technique mais pas le temps ou le talent commercial pour faire du marketing ou obtenir des contrats. Lorsque le dév' est seul (ou l'équipe très réduite) et porte un programme lourd en investissement (code, correction des bugs, intégration upstream des patchs tiers, communication), c'est difficile de s'en sortir sans un emploi à côté (mais dans ce cas, ajouté à la vie de famille, reste peu de disponibilité et de motivation) ou sans monétisation (sponsor, contrats de support et maintenance).

Pire, parfois ce dév' voit, après avoir consacré plusieurs années à son projet, débarquer une entité qui reprend son code et l'incorpore à un package commercial, avec une grande force de frappe, mais tout en respectant les termes de la licence.

Régulièrement de telles polémiques surgissent, ou même des forks dans des contextes légèrement différents (Nexuiz et Xonotic dans le domaine du jeu vidéo ou encore Nagios et Icinga pour la supervision système). Ces derniers jours, une nouvelle discussion a commencé concernant le logiciel WPScan, un scanner de vulnérabilité pour le CMS Wordpress.

Ses mainteneurs se plaignent que, régulièrement, des sociétés commerciales incorporent leur outil au sein du leur et le vendent, sans que eux bénéficient en retour de la moindre compensation pour leur travail. Ce que la GPL autorise parfaitement, ils le soulignent, à condition que le dérivé soit lui aussi mis à disposition sous une licence compatible.

Selon eux à chaque fois ce n'était pas le cas, et ils contactaient alors l'entreprise en question pour leur proposer une version commerciale non libre et payante ; tous ont refusé et la plupart cessé d'utiliser WPScan. Récemment, un nouvel acteur entre en jeu avec la même approche.

Face à cela, les créateurs de WPScan se disent lassés et celui-ci est alors basculé sous une double licence : non libre en cas d'usage commercial et soumise à un paiement, libre GPL en cas d'utilisation non commerciale (particulier, distribution Linux comme BackBox ou Kali, service gratuit…).

Cette dualité pose deux problèmes : est-il autorisé de modifier ainsi unilatéralement la licence sans l'accord préalable et explicite de tous les contributeurs au projet (il n'y avait pas de transfert de copyright) ? Est-elle compatible avec la GPL ? Il semble que non… Et Delve peut-il agir ainsi ?

Pour ne pas refaire l'erreur de mon précédent journal (réagir à chaud à une info partielle sur Twitter et rédiger un texte en partie erroné), j'ai attendu un peu et regardé les deux versions avant de publier.

Là en l'occurrence, le problème des développeurs de WPScan ne semble pas tant être que d'autres gagnent de l'argent grâce à leur produit - on comprend tout de même qu'ils aimeraient en récupérer un peu, ce qui est moralement légitime et compréhensible mais pas juridiquement imposé - que la violation par les boîtes commerciales de la liberté logicielle.

Dans le cas précis de Delve Labs (ils ne donnent pas les autres exemples précédents), la question à trancher reste donc : respectent-ils ou non la licence GPL ?

Dewhurst Security prétend que non, Delve rétorque qu'ils lancent simplement l'outil en ligne de commande, ils ne l'incorporent pas à leur propre soft.

A priori, la solution commerciale (et propriétaire) qu'ils proposent est en effet un service hébergé en ligne, ils ne mettent pas de logiciel à disposition.

Ce serait bien d'avoir des éclaircissements sur ce point.

Mais si Delve Labs respecte la GPL, ils ont parfaitement le droit de commercialiser leur outil incluant WPScan. Aucune obligation légale de payer.

Après, est-ce que le choix de la licence AGPL n'aurait pas été plus pertinent pour WPScan, justement à propos de cette option : "si vous exécutez un programme sur un serveur et laissez d'autres utilisateurs communiquer avec celui-ci, votre serveur doit aussi leur permettre de télécharger le code source correspondant au programme qui est exécuté. Si ce qui s'exécute est votre version modifiée du programme, les utilisateurs du serveur doivent obtenir le code source tel que vous l'avez modifié."

À noter que, suite à cette polémique, Delve a forké WPScan en reprenant la dernière version distribuée sous GPL, sous le nom de Vane.

Cas d'école intéressant, à suivre.

  • # Violation ou incompréhension de la GPL?

    Posté par  . Évalué à 7.

    De cette histoire, on peut tirer deux conclusions opposées :

    1. Des entreprises enfreignent la GPL, et les auteurs de logiciels touchés ont peu de moyens de se défendre. C'est ce dont se plaint l'auteur lorsqu'il dit que les entreprises ne redonnent pas le code (aux utilisateurs ou à tout le monde, ce n'est pas précisé : le premier est interdit, mais le second tout à fait permis).
    2. Des auteurs de logiciels sous GPL ne comprennent pas ce qu'implique cette licence, y compris que des entreprises puissent utiliser leur code et faire beaucoup d'argent avec.

    Je ne suis pas certain que les gens en question comprennent réellement la situation, et je suis plutôt certain qu'une licence "sans utilisation commerciale" n'est pas la solution, ne serait-ce à cause des gazillions de problèmes d'interprétation qu'elle entraîne (j'ai un blog personnel sous Wordpress avec de la pub qui me rapporte 10 euros/mois, est-ce que j'utilise leur soft à usage commercial?)

    • [^] # Re: Violation ou incompréhension de la GPL?

      Posté par  (site web personnel) . Évalué à 1. Dernière modification le 25 janvier 2015 à 19:49.

      je suis plutôt certain qu'une licence "sans utilisation commerciale" n'est pas la solution, ne serait-ce à cause (…)

      Et surtout, si ils se disent libristes, ne serait-ce que parce que ce n'est pas libre (GPL si utilisation non commerciale est par définition impossible)

      • [^] # Re: Violation ou incompréhension de la GPL?

        Posté par  . Évalué à 10.

        D'un autre cote, on se fout bien de savoir s'ils se disent libriste, de droite ou nudiste a tendance aoutiste.
        Ya un probleme a resoudre, leur "affiliation" importe peu.

        Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • # changement de licence

    Posté par  (site web personnel) . Évalué à 10.

    disclaimer: je n'ai aucun contexte sur le projet lui-même, je me contente de réagir sur des points généraux

    tu dis:

    celui-ci est alors basculé sous une double licence : non libre en cas d'usage commercial et soumise à un paiement, libre GPL en cas d'utilisation non commerciale

    ça n'a aucun sens, puisque la GPL ne s'oppose pas à l'utilisation commerciale. Donc même si c'était la formule choisie (et je ne pense pas que ce soit le cas, en tout cas le gist que tu pointes pour le texte de la double-licence n'a rien de commun avec la GPL, et n'est certainement pas libre), un utilisateur "non-commercial" serait licencié sous les termes de la GPL et pourrait donc parfaitement redistribuer sous GPL, y compris à des utilisateurs "commerciaux", bref ça ne peut pas marcher pour forcer les cas d'utilisation commerciale à utiliser l'alternative non-GPL.

    Pour ce qui est du changement de licence lui-même, il doit être approuvé par l'ensemble des auteurs (au sens juridique) si il n'est pas de fait compatible avec la licence précédente (cf les astuces type "GPL v2 ou ultérieur", ce qui revient à une approbation au préalable). Si on migre d'une licence GPL à une licence incompatible, il y a forcément un accord à trouver.

    Et oui, la licence AGPL a été conçue précisément pour ce genre de cas (service), où le programme lui-même n'est en fin de compte pas distribué et où donc la GPL n'a pas de portée.

    Bref, de ce que tu en dis (encore une fois, je n'ai pas cherché à en savoir plus), les seuls à être potentiellement dans l'illégalité semblent être les mainteneurs (sous réserve qu'il y ait effectivement des contributeurs dont le copyright n'a pas été transféré et qui n'ont pas approuvé le changement, sinon ils font bien ce qu'ils veulent)

    En tout cas ça me semble être en effet un superbe cas d'école d'incompréhension des implications de ce qu'on fait…
    La GPL c'est pas un "truc cool" qu'on taggue sur son projet pour faire djeunz, c'est un document légal écrit dans l'esprit d'une volonté politique, celle de la FSF. Si on n'adhère pas, faut utiliser autre chose (et légalement), c'est pas ce qui manque.

    • [^] # Re: changement de licence

      Posté par  . Évalué à 4.

      Je me demande s'il n'y a pas une confusion sur cette histoire de double licence. La solution viable, c'est ce que faisait Qt à une époque : bibliothèque disponible sous double licence : GPL et proprio. Si tu prends la version GPL, c'est gratuit, mais comme tu compiles en liant ton soft à la biliothèque, ton soft doit être distribué sous GPL. Si tu veux le distribuer sous licence proprio, tu achètes une licence proprio. C'est une solution propre et sans aucune ambiguité.

      Là, je ne comprends même pas de quoi on parle. Si tu distribues un logiciel sous double licence GPL/licence non-commerciale mais que ça n'est pas une bibliothèque, rien n'empêche le distributeur de recompiler la version GPL et la distribuer sous les conditions de la GPL. Si c'était ça l'idée, ça me semble complètement idiot.

      Les licences non-commerciales sont d'une manière généale inutiles et dangereuses. Le problème est évidemment la définition du "non-commercial", puisqu'on peut faire du commerce sans faire de bénéfices, et que de toutes manières ça va forcément sortir des conditions pour être inclu dans les grandes distributions (et au final, personne n'utilisera le logiciel la plupart du temps, ça n'a que peu d'intérêt).

      Le seul cas où je trouve que l'esprit de la GPL est violé, c'est quand on use d'explications rocambolesques pour différencier l'utilisateur et le client. Dans l'esprit, le bénéficiaire de la GPL devrait être celui qui utilise le programme, pas celui qui possède le matériel sur lequel le programme fonctionne. Il me semble que c'est plus ou moins réglé dans la GPL v3, mais c'est un trou conceptuel dans la licence de départ.

      • [^] # Re: changement de licence

        Posté par  (site web personnel) . Évalué à 1.

        oui je pense qu'il ne faut pas chercher trop loin, c'est juste que des gens sont frustrés par ce qu'ils n'avaient pas compris, et cherchent un échappatoire, tout en continuant à moyennement comprendre ce qu'ils racontent :)

        Je ne pense pas que la notion d'utilisateur soit vraiment étendue en GPL v3. Je suppose que tu te réfères aux mesures anti-tivoization, mais c'est un cas un peu différent (l'utilisateur tourne un truc libre, a les sources, mais concrètement ne peut rien en faire). En ce qui concerne la portée sur les SaaS, la GPL a explicitement renoncé à ce but (fournir un service n'est pas distribuer le soft), et encourage l'utilisation de l'AGPL spécifiquement pour couvrir cet aspect.
        cf ce blog par exemple.
        (et évidemment ça n'a toujours rien à voir avec la distinction commercial/non-commercial)

      • [^] # Re: changement de licence

        Posté par  (site web personnel) . Évalué à 2. Dernière modification le 27 janvier 2015 à 01:22.

        Je me demande s'il n'y a pas une confusion sur cette histoire de double licence

        comme d'hab'… entre NC (non-libre) et libre

        Si tu prends la version GPL, c'est gratuit, mais comme tu compiles en liant ton soft à la bibliothèque, ton soft doit être distribué sous GPL. Si tu veux le distribuer sous licence proprio, tu achètes une licence proprio. C'est une solution propre et sans aucune ambiguïté.

        Le choix libre permet de vendre la solution en libre, oui. Le code reste libre. Celui qui veut vendre son code sans le distribuer peut bien se démerder autrement (violer la licence, violer la loi, respecter une double licence si elle est proposée, chacun ses responsabilités, si ça se trouve il en a le droit, à lui de l'indiquer…).

        Les licences non-commerciales sont d'une manière généale inutiles et dangereuses.

        sans aller jusque là, elles sont autant incompréhensibles que les licences propriétaires et demandent un juriste pour les interpréter de part et d'autre (côté distributeur et côté client).
        De ce côté, une licence libre est bien plus simple (même la GPL), cela a été déjà jugé en Allemagne au moins grâce à gpl-violations et le cadre est connu des juristes au fait du libre (ou dignes d'être juristes par leur devoir de se tenir au courant, de la jurisprudence aux U.S.A., de l'état de l'art au moins en France).

        Le seul cas où je trouve que l'esprit de la GPL est violé, c'est quand on use d'explications rocambolesques pour différencier l'utilisateur et le client.

        pas seulement, justement : tu oublies l'intermédiaire qui doit gérer environnement de dév / recette / intégration / préprod / prod' => faut payer pour quoi ? quel niveau de service (ça c'est du ressort de celui qui livre hein…). Avec la montée en charge gérée horizontalement (nouvelle VM, nouveau serveur, nouvelles ressources), c'est aux études de se poser ces questions ou à leurs architectes de leur faire comprendre, oui de nouvelles possibilités sont disponibles, elles sont facilement possibles quand toute la stack est en libre, autrement faut étudier.

  • # Droit d'auteur ?

    Posté par  . Évalué à 2. Dernière modification le 25 janvier 2015 à 19:32.

    la GPL n'empeche pas le droit d'auteur, donc si le produit WPScan est intégré dans un autre, son nom et ses auteurs doivent apparaitre au credit du logiciel principal, dans la liste des logiciels utilisés dans ce produit.

    • [^] # Re: Droit d'auteur ?

      Posté par  (site web personnel) . Évalué à 3.

      Non, la GPL n'impose justement pas de mettre la liste des auteurs, c'est une des grosses différences avec la BSD car ce n'est pas un truc qui passe à l'échelle.

      "La première sécurité est la liberté"

  • # Faux

    Posté par  (site web personnel) . Évalué à 7.

    non libre en cas d'usage commercial et soumise à un paiement, libre GPL en cas d'utilisation non commerciale

    c'est non libre dans les 2 cas. La licence n'a plus rien a voir avec la GPL et le libre.

    Sans compter que il leur manque l'accord d'un seul auteur, ils violeront leur licence. Un gros bordel en perspective parce que des gens font du libre mais ne comprennent pas le libre, snif

    • [^] # Re: Faux

      Posté par  . Évalué à 1.

      En fait, après lecture de la licence (voir http://wpscan.org/), le logiciel n'est pas sous double-licence, mais sous une seule licence qui fait la séparation d'une utilisation commerciale "commercial advantage or monetary compensation"(sic), avec exemple à l'appui, et une utilisation gratuite.
      A la décharge de l'auteur du journal, les développeurs de WPScan parlent eux-mêmes de dual-licensed.
      Par contre dans leur licence ils ne font aucune référence à la GPL.

      • [^] # Re: Faux

        Posté par  . Évalué à 2.

        l'auteur dit quand meme clairement qu'ils ont deja basculé leur licence, et qu'ils ne sont plus en licence GPL

        Face à cela, les créateurs de WPScan se disent lassés et celui-ci est alors basculé sous une double licence : non libre en cas d'usage commercial et soumise à un paiement, libre GPL en cas d'utilisation non commerciale (particulier, distribution Linux comme BackBox ou Kali, service gratuit…).

        • [^] # Re: changement de licence

          Posté par  . Évalué à 6.

          Merci pour les commentaires.

          Effectivement je n'ai pas été assez précis. En fait, ils ont modifié à trois reprises leur licence :

          La première et la deuxième fois en introduisant ce concept boiteux de "double licence" selon l'utilisation : If you want to sell WPScan you can pay for a commercial license, otherwise you can use it under the GNU GPL.

          Mais, de la même manière que cela a été fort justement noté ici, cette clause est de fait incompatible avec la GNU GPL, ce qu'on leur a fait remarquer.

          Ils ont donc migré sur une licence propre qu'eux-même admettent ne plus être libre.

          Quant au transfert de copyright et à l'autorisation préalable des contributeurs : l'un deux témoigne sur le blog de Delve Labs en disant que "non, il n'a pas été contacté au sujet de ce changement et n'a jamais donné son accord, il suggère un retour à la GPL".

  • # Et pendant ce temps là, à Vera Cruz...

    Posté par  (site web personnel) . Évalué à -4.

    les vautours se sont déjà tournés vers une autre proie, parceque "faire du pognon sur le dos des brebis", ça n'attends pas.

    Il manque une licence "De l'origine des espèces", qui expliquerait le rapport proie prédateur et tout ce qui s'ensuit.

    Proverbe Alien : Sauvez la terre ? Mangez des humains !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.