Forum général.général Cas théorique GPL

Posté par . Licence CC by-sa
Tags :
8
17
sept.
2014

Bonjour,

un petit cas théorique de la GPL que je n'arrive pas à trancher.

Une société A édite un logiciel sous licence GPL.
Elle vend l'exécutable à une société B sans lui fournir les sources (la société B n'est pas intéressé par les sources).
La société B donne une copie de l'exécutable à une société C (autorisé par la GPL).

La société C veut modifier le logiciel.
Peut-elle exiger de la société A qu'elle lui fournisse les sources ?

  • # Mon interprétation à valider

    Posté par (page perso) . Évalué à 10.

    La GPL indique que le distributeur d'un logiciel doit pouvoir fournir les sources si un utilisateur les lui demande.
    1) A peut très bien dire à C que C n'est pas un de ses utilisateurs, puisqu'il n'a pas acheté le logiciel (et donc A n'a aucune obligation envers C)
    2) B est le distributeur de C

    De ces deux constats, C doit demander à B. C'est ensuite à B de se débrouiller pour fournir les sources (et donc les demander à A, même si lui-même n'est pas intéressé).

    C peut demander à A directement, mais A n'est pas tenu de lui répondre.

    • [^] # Re: Mon interprétation à valider

      Posté par . Évalué à 1.

      Le problème évident, c'est que personne n'a de moyens de pression sur A. En cas de violation de la licence, toutes les clauses n'annullent ; le logiciel devient la propriété de ses auteurs et ne peut plus être redistribué.

      À noter une inexactitude dans l'exposé : B a le droit de ne pas demander les sources, mais n'a pas le droit de redistribuer sans les sources. Dans tous les cas, B est donc "méchant" dans cette affaire, car il a violé la licence. Il n'y a donc pas d'hypothèse où B est gentil mais un peu concon : par définition, si tu veux redistribuer un soft sous GPL, il te faut les sources.

      Si A est l'auteur du logiciel et de bonne foi, le logiciel est sous GPL. A vend le logiciel à B, qui le modifie et vend l'exécutable à C. C n'a donc pas les sources. Si B ne veut pas les fournir à C, alors il annule la licence sous laquelle le logiciel lui a été vendu : il n'a plus le droit de l'utiliser. C peut donc contacter A pour lui dire que B revend le logiciel sous une autre licence, et A va pouvoir poursuivre B pour violation de licence. En pratique, il faut donc que C et A s'entendent et communiquent des informations, mais comme les deux ont à y gagner, c'est crédible. D'ailleurs, ça montre que la GPL protège surtout les auteurs, contrairement à ce qu'on entend parfois.

      Par contre, si A est l'auteur et est de mauvaise foi, B étant de mauvaise foi par hypothèse, je pense que C est niqué. La GPL V3 dit "You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License". En tant que C, tu ne peux pas poursuivre B pour violation de licence, puisque tu n'es pas l'auteur. Seul A peut le faire. Si A ne le fait pas, tu peux évidemment dénoncer le contrat ou la vente avec B si on t'a filé l'exécutable et la licence sans les sources. Si on ne t'a filé que l'exécutable, je pense que tu es niqué aussi, puisqu'il est difficile de prouver que le logiciel est bien sous GPL, et que de toutes manières ça ne te regarde pas vu que c'est A qui est lésé.

      Quelque part, ça justifie tout à fait la paranoïa des distributions sur les licences, puisqu'en cas d'erreur, c'est l'intermédiaire qui est responsable. Le logiciel libre repose pas mal sur la confiance ; si tu veux distribuer des copies du logiciel, il faut à tout prix s'assurer que le logiciel est "propre". Parce que s'il contient du code proprio ou des trucs pas clairs, tes utilisateurs pourront être poursuivis, et ils risquent de se retourner (à raison) contre toi. C'est d'ailleurs un truc qui m'a toujours gonflé quand je participais à Wikipédia ; l'insouciance de beaucoup de contributeurs sur les licences du fait de l'absence de risque pour Wikipédia, en méprisant totalement les risques encourus par les réutilisateurs potentiels. Typiquement, l'utilisation d'une image protégée par le droit d'auteur, ou sous licence pas très claire (auteur et date inconnus, par exemple). L'argument, c'est de dire que personne n'attaquera Wikipédia (organisme non lucratif, etc) et qu'un accord sera toujours possible. Le problème, évidemment, c'est que quelqu'un peut de bonne foi réutiliser cette image sous licence apparemment libre, dans un contexte tout à fait différent (par exemple, dans une publicité), et que la personne qui aura fait la grossière erreur de mettre sous licence libre un document non-libre n'aura aucun problème, alors que la personne qui va devoir se défendre au tribunal sera de bonne foi. C'est un peu comme si on punissait le recel sans punir le vol.

      • [^] # Re: Mon interprétation à valider

        Posté par (page perso) . Évalué à 3.

        Le problème évident, c'est que personne n'a de moyens de pression sur A. En cas de violation de la licence, toutes les clauses n'annullent ; le logiciel devient la propriété de ses auteurs et ne peut plus être redistribué.

        A part la première partie de la phrase, je n'ai rien compris. Qui viole la licence entrainant la nullité ?

        À noter une inexactitude dans l'exposé : B a le droit de ne pas demander les sources, mais n'a pas le droit de redistribuer sans les sources. Dans tous les cas, B est donc "méchant" dans cette affaire, car il a violé la licence. Il n'y a donc pas d'hypothèse où B est gentil mais un peu concon : par définition, si tu veux redistribuer un soft sous GPL, il te faut les sources.

        Non. La GPL indique que B doit être en mesure de fournir les sources à tout utilisateur qui lui en fait la demande, pas de fournir le binaire avec les sources. Donc B n'a pas violé la licence tant qu'aucun utilisateur ne les lui demande. Et si un utilisateur lui demande les sources, alors B n'aura violé la licence que s'il n'est pas en mesure de les fournir (de manière volontaire ou non). D'autant plus que la GPL ne précise pas comment les sources doivent être distribuées, juste qu'elles doivent être accessible. Si B choisi l'option, je grave sur un CD et je l'envoie, c'est tout à fait son droit.

        • [^] # Re: Mon interprétation à valider

          Posté par . Évalué à 2. Dernière modification le 18/09/14 à 15:01.

          Qui viole la licence entrainant la nullité ?

          C'est évidemment B. A ne peut pas violer la GPL s'il est le seul auteur du logiciel (ou plus exactement, il s'en fout : il peut distribuer le soft sous n'importe quelle licence).

          Donc B n'a pas violé la licence tant qu'aucun utilisateur ne les lui demande.

          Tu coupes les cheveux en quatre. Si B distribue le binaire sans avoir les sources en sa possession, il se met en danger permanent de violer la licence, puisqu'on peut lui demander les sources à tout moment, sources qu'il ne pourra pas fournir. Je me demande même si ça n'est pas illégal; sous certains aspects ça ressemble aux fraudes des courtiers en assurances : tant qu'il n'y a pas de sinistres, tu empoches les cotisations, sur le mode "jusqu'ici tout va bien", mais l'édifice peut s'écrouler du jour au lendemain. Ça peut même être une escroquerie ; si B vend du service autour de logiciels "libres", l'entreprise qui achète le service croit ne pas être dépendante de B ; en cas de rupture de contrat, elle s'aperçoit que B faisait tourner un fork proprio d'un LL connu (par exemple, une version "pro" non GPL vendue par l'entreprise A).

          Bref, ne pas fournir les sources par défaut est une pratique tout à fait habituelle, et je n'ai jamais dit le contraire. Par contre, fournir des binaires sans avoir les sources (voire, en sachant pertinamment que les sources sont inaccessibles) est permis par la GPL, mais pas par la loi, puisque ça peut être qualifié de tromperie, voire d'escroquerie. C'est ce que j'essayais d'expliquer au-dessus : la GPL protège les auteurs d'un fork proprio, mais protège très peu les réutilisateurs de bonne foi. Ces réutilisateurs trompés, et parfois techniquement coupables de contrefaçon, devront trouver ailleurs dans la loi la raison de se retourner contre les intermédiaires peu scrupuleux ou étourdis.

          • [^] # Re: Mon interprétation à valider

            Posté par (page perso) . Évalué à 3.

            C'est évidemment B

            Ce n'est absolument pas évident. Tu pars de l'hypothèse forte que A est l'auteur du dit logiciel.

            Tu coupes les cheveux en quatre.

            Absolument pas. Je reste factuel sans faire d'hypothèses fortes comme tu le fais (A est l'auteur du logiciel, B ne pourra pas obtenir les sources) et qui viennent contredire ton argumentation ("A vend le logiciel à B, qui le modifie et vend l'exécutable à C." Comment B peut modifier le logiciel s'il n'a pas les sources ? Si tu me dis "Ingénierie inverse" là, c'est toi qui coupes les cheveux en quatre ;) )

            • [^] # Re: Mon interprétation à valider

              Posté par . Évalué à 3.

              Ce n'est absolument pas évident. Tu pars de l'hypothèse forte que A est l'auteur du dit logiciel.

              Il est dit que A édite le logiciel. Je suis d'accord pour dire que A n'est pas forcément le seul auteur. S'il existe d'autres auteurs, alors un seul d'entre eux suffit pour demander l'invalidation de la licence et le payement d'une redevance.

              Comment B peut modifier le logiciel s'il n'a pas les sources?

              OK, B n'a absolument pas besoin de modifier le logiciel pour le raisonnement. Mais ça ne change rien.

              Si B a les sources et qu'il ne veut pas les fournir, il ne respecte pas la licence, C le signale à A, qui peut attaquer B. Si A ne fait rien, C l'a dans l'os. En aucun cas A n'a d'obligation de fournir les sources à C. Et si B prend la responsabilité de redistribuer le binaire sans avoir les sources sous la main, il joue à Collin-Maillard au bord d'une falaise, et a fait à C des promesses qu'il n'est pas sûr de tenir.

              À mon avis, la morale de l'histoire est qu'il est totalement déconseillé de redistribuer du logiciel libre sans avoir en possession la totalité des documents nécessaires au respect de la licence. Si on aime le risque, on peut aussi jouer à la roulette russe ou dégoupiller des grenades au milieu de l'Open Space ; ce n'est pas parce que ça n'a pas pété ce coup là que l'action n'était pas profondément débile.

              • [^] # Re: Mon interprétation à valider

                Posté par (page perso) . Évalué à 1.

                Pour la seconde partie, OK. Si A n'a pas envie de se bouger, C l'a effectivement dans l'os.

                Il est dit que A édite le logiciel. Je suis d'accord pour dire que A n'est pas forcément le seul auteur. S'il existe d'autres auteurs, alors un seul d'entre eux suffit pour demander l'invalidation de la licence et le payement d'une redevance.

                Plusieurs point. A édite un logiciel sou GPL et le vend. Ce cas un peu surprenant me fait penser à A qui prend un logiciel GPL existant en l'améliorant / ajoutant des fonctionnalités pour ensuite le vendre. Ainsi, A est loin d'être l'auteur du logiciel. Seulement un contributeur et distributeur. (Exemple : A prend Wine et le modifie afin de faire un clone 100% compatible de feu Windows XP).

                Ensuite, je ne comprends pas ce que signifie "demander l'invalidation de la licence". Est-ce que tu veux dire que seul un auteur peut légalement agir en cas de violation de la licence ?

                • [^] # Re: Mon interprétation à valider

                  Posté par . Évalué à 2.

                  Est-ce que tu veux dire que seul un auteur peut légalement agir en cas de violation de la licence ?

                  Je crois bien, oui. Par défaut, un logiciel relève de la propriété intellectuelle, et appartient à son auteur. La GPL est une liste de conditions sous lesquels l'auteur permet à des utilisateurs de faire un certain nombre de choses avec le logiciel. Si une seule clause de la GPL n'est pas respectée, la licence s'annulle, et la copie du logiciel est utilisée et redistribuée illégalement. L'auteur peut donc négocier de nouvelles conditions avec le distriubuteur en faute, par exemple en transformant la licence en licence propriétaire qui donne le droit de redistribuer sans les sources, contre de l'argent.

                  Je ne crois pas qu'il y ait lieu de distinguer auteur et contributeur. Le fait est que si seul un contributeur marginal attaque en justice, il pourra probablement demander moins d'argent, et il reste toujours la possibilité de retirer ses contributions pour les remplacer par du code nouveau.

  • # En effet...

    Posté par . Évalué à 1.

    j'avais pensé après coup seulement, le possible non respect de la licence par B de distribuer l'exe sans disposer des sources.

Suivre le flux des commentaires

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