Journal Reflexion sur les licences libres (suite)

Posté par  .
Étiquettes : aucune
0
17
mai
2004
Suite à un de mes derniers journaux, et n'ayant pas vraiment eu de réponses a mes questions, je relance le débat sur un point de la GPL qui permettrai de la contourner et de la rendre ainsi inutile :

Pour résumer, soit 3 logiciels A, B et C ayant pour licence respective : GPL, LGPL et une licence commerciale propriétaire.

A et B sont liés, A étant par exemple une bibliothèque et B étant un "binding" des fonctions de A. Cette liaison est légale (Qt et Kde par exemple).

B et C sont liés, C étant l'application commerciale exploitant finalement les fonctionnalités de A mais par l'intermédiaire de B.

Si ce schéma est légal, il permettrait de contourner les bibliothèques sous licence GPL.

Pour plus de détails et d'autres interrogations, se reporter au journal initial :

http://linuxfr.org/~ilaioului/12280.html(...)
  • # Pas clair ?

    Posté par  . Évalué à 6.

    • [^] # Re: Pas clair ?

      Posté par  . Évalué à 1.

      Oui pour moi aussi, mais ce qui est dit n'est pas valide* puisque de nombreux contres exemples existent (dont celui que je cite un peu plus loin Qt et KDELibs)


      * une bibliothe GPL ne peut pas etre liee a une bibliotheque LGPL
      • [^] # Re: Pas clair ?

        Posté par  . Évalué à 2.

        A mon avis, les sources de kdelibs sont fournis sous la licence LGPL, qui a le bon gout d'avoir une clause disant qu'on peut aussi les utiliser comme si la licence était la GPL.
        La "vraie" licence des kdelibs doit dépendre de la façon dont tu compiles tes biblios. Déjà, kdelibs a l'air de contenir du code GPL aussi, donc si tu inclues ce code, tu obtiens une lib GPL.
        Si tu l'exclues et que tu te linkes avec un QT GPL, tu obtiens une lib GPL (sinon tu violes la GPL pour autant que je me souvienne). Si tu as un QT proprio, dans ce cas tu dois pouvoir obtenir une lib sous LGPL.

        Enfin c'est mon interprétation, en tout cas ton contre exemple ne me convainc pas du tout tant que tu ne m'as pas montré les clauses de la GPL et de la LGPL autorisant ça.
        • [^] # Re: Pas clair ?

          Posté par  . Évalué à 2.

          Effectivement, c'est bien cela.

          Many of the most common open source licenses, such as the original MIT/X license, the new BSD license, and the LGPL, are "GPL-compatible". That is, their code can be combined with a GPL'ed program without conflict (the new combination would have the GPL applied to the whole).

          http://en.wikipedia.org/wiki/GNU_General_Public_License(...)

          La licence qu'il faut donc considérer est la licence la plus "forte" parmie toutes les licences "compatibles" utilsées par les bibliotheques liées (Ouuf ;) Ce que tu illustres donc parfaitement. Le probleme que j'ai donc soulevé dans mon journal n'est pas valide car B sera sous licence GPL (et non LGPL comme je l'affirmais)

          Par contre cela implique un point que j'avais soulevé dans mon journal précédent : Il est necessaire de connaitre l'ensemble des licences des bibliotheques, meme celles dont on est dependant indirectement, car, toujours dans le cas des KDElibs, celles-ci sont sous LGLP, mais dans la pratique c'est du GPL, car QT lui est sous GLP. Bon enfin je me comprends ;)

          Faudrait un outil automatique qui determine automatiquement les licences possibles d'une appli en fonction de ses libs ;)
          • [^] # Re: Pas clair ?

            Posté par  . Évalué à 2.

            « dans le cas des KDElibs, celles-ci sont sous LGLP, mais dans la pratique c'est du GPL, car QT lui est sous GLP. »

            Qt est aussi distribué sous QPL et sous licence "commerciale"... dans le cas des KDElibs, ça doit être la licence commerciale qui joue : KDE a du payé des kits de dev à Qt, mais peuvent distribuer leur produit comme ils veulent.
            • [^] # Re: Pas clair ?

              Posté par  . Évalué à 1.

              dans le cas des KDElibs, ça doit être la licence commerciale qui joue
              Prendre QT sous licence GPL suffit pour compiler les kdelibs. Par contre l'ensemble QT+KdeLibs est sous GPL. Si tu veux faire une application closed-source basée sur KdeLibs, tu es obligé d'acheter une licence de QT commerciale pour pouvoir exploiter la licences LGPL des KDELibs.

              KDE a du payé des kits de dev à Qt, mais peuvent distribuer leur produit comme ils veulent.
              Je ne pense pas que ce soit le cas car LGPL et GPL sont compatibles. La licence commerciale n'est donc pas obligatoire. De plus le prix d'une licence est tres elevé et limitée a un developpeur. Et finallement, si ce que tu dis est vrai, cela signifie que les KdeLibs ne pourraient pas etre distribuée sous forme de source car une licence commerciale de QT serait necessaire pour tout compiler.
  • # Une question

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

    Une question : C'est où la limite pour utiliser un truc sous GPL ? Parcque bon, le kernel Linux est sous GPL, donc toutes les appli qui tournent au dessus utilisent à un moment ou un autre une des fonctionnalités du noyau, qu'il soit proprio ou non...

    Une autre question : et si on fait du linkage dynamique avec une lib sous GPL ?

    Et si je ne sais pas à l'avance avec quoi mon appli sera linké ? (genre je parcours tous les binaires et je recherche des méthodes dedans et je les appelle just for fun)
    • [^] # Re: Une question

      Posté par  . Évalué à 2.

      http://linuxfr.org/comments/413820,1.html(...) pour la liaison dynamique
      Pour le noyau, la communication se fait à travers une interface bien définie (les appels systèmes), il a dû être décidé que ça ne faisait pas de la libc un derived work du noyau (linus a probablement précisé explicitement ce point un jour ou l'autre).
    • [^] # Re: Une question

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


      0. This License applies to any program or other work which contains
      a notice placed by the copyright holder saying it may be distributed
      under the terms of this General Public License. The "Program", below,
      refers to any such program or work, and a "work based on the Program"
      means either the Program or any derivative work under copyright law:
      that is to say, a work containing the Program or a portion of it,
      either verbatim or with modifications and/or translated into another
      language.


      C'est un peu flou, mais il paraît que ça veut dire tout ce qui est lié statiquement ou dynamiquement à un programme GPL. Ceci dit, vu qu'un programme sous GPL est par défaut distribué sans aucune garantie, tu peux très bien distribuer un logiciel qui a besoin d'une lib sous GPL sous n'importe quelle license, dire "Tant pis pour vous, ça marche pas, je vous avais dit qu'il n'y avait pas de garantie", et ensuite, comme par magie, le mec devine qu'il faut télécharger la bibliothèque en question, le fait, et ça marche. Ce qu'il n'a pas le droit de faire, c'est de distribuer les deux en même temps. C'est compliqué, la "GNU/liberté".

      Si c'est dans des processus séparés, la restriction ne s'applique pas.
      • [^] # Re: Une question

        Posté par  . Évalué à 3.

        Tu peux pas le distribuer en version compilée en tout cas, vu que à la compil tu l'auras lié sur un truc non GPL, et que la GPL t'interdit de redistribuer un tel binaire. Et si tu distribues que les sources, tu auras aussi une dépendance sur la lib qqpart dans la chaine de compil, donc c'est délicat à distribuer sous autre chose que la GPL en disant que tu savais pas
        • [^] # Re: Une question

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

          Salut Christophe,

          > Tu peux pas le distribuer en version compilée en tout cas,

          Effectivement, tu ne peux pas, sauf si tu as développé une autre lib qui a la même interface binaire, sans aucune fonctionalité. A ce moment là, tu peux distribuer le binaire en disant que c'est fait pour marcher avec ta lib "vide", et ensuite, libre à l'utilisateur d'utiliser un composant GPL à la place.

          Décidément, c'est très compliqué la GNU/liberté. C'était peut-être plus simple du temps ou "liberté" voulait juste dire que tu pouvais faire ce que tu voulais ...

          > Et si tu distribues que les sources, tu auras aussi une dépendance sur la lib qqpart dans la chaine de compil,

          Oui, mais rien ne t'oblige à distribuer un programme qui compile. Ca m'est déjà arrivé plusieurs fois de télécharger un logiciel GPL qui ne compilait pas. En général, ce n'est pas fait exprès, mais légalement, ça ne change pas grand chose ...
          • [^] # Re: Une question

            Posté par  . Évalué à 3.

            Si ton programme ne fait rien du tout avec la lib vide et que la lib gpl est en fait indispensable pour obtenir un programme qui fait qqchose, je te souhaite bonne chance pour expliquer que ton programme n'est pas un "Work based on the program" (ou program = la lib gpl dans ce cas)... Avec de la mauvaise foi ça doit être défendable, mais devant un tribunal à mon avis y a au moins 50% de chance que tu perdes
    • [^] # Re: Une question

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

      Allez encore une petite question :

      je passe un contrat avec une boite qui développe une lib 100% proprio, bien entendu j'ai les droits d'utilisation et l'accès aux mises à jour et nouvelles versions pendant une durée de disons, 5 ans.
      Je développe une appli non compatible avec la GPL au dessus de cette lib.

      Du jour au lendemain, la boite tombe amoureux du LL et décide de sortir une nouvelle version de sa lib, mais cette fois sous GPL (ce que mon contrat n'interdit pas). Et là en tant que client j'ai l'impression de m'être fait avoir : j'ai bien entendu le droit d'utiliser la nouvelle version comme promis dans le contrat mais me voilà dans l'obligation de passer à la GPL...

      Vous en pensez quoi ?
      • [^] # Re: Une question

        Posté par  . Évalué à 2.

        J'y connais pas grand chose... mais si c'est une lib, elle sera plutôt en LGPL qu'en GPL, non ?
      • [^] # Re: Une question

        Posté par  . Évalué à 2.

        Demander a la boite de proposer une licence commerciale te permettant de continuer ton developpement proprietaire sur la nouvelle lib (exemple de QT) ou passer sous une licence encore moins restrictive, BSD ou LGPL par exemple.

        Dans la "vraie vie", je pense que ce sera le cas (licence commerciale specifique), car la boite, a moins d'etre altruiste, doit toujours vouloir vendre sa lib pour faire de l'argent.
      • [^] # Re: Une question

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

        Tu pourras toujours utiliser les anciennes versions sous licence commerciale, ca n'a pas changé!
        (tout comme un logiciel GPL qui passe en proprietaire ne t'empeche pas d'utiliser les ancienes versions sous GPL)

        Pour les nouvelles version, que l'entreprse fasse du full-GPL du jour au lendemain n'a pas de sens, au pire il y aura une dual-licence proprio/GPL.
  • # Un quizz sur les licences

    Posté par  . Évalué à 1.

    Tres interessants vos commentaires, merci !

    Sinon j'avais vu, il y a quelques années, un quizz/QCM d'une dizaine de questions sur les licences avec differents cas "limites". Si quelqu'un a le lien ca m'interesse.

Suivre le flux des commentaires

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