Forum général.général programme LGPL et bibliothèque GPL

Posté par .
Tags : aucun
3
4
juin
2009
Je suis un peu perdu dans les licences libres.

Puis-je distribuer un programme en LGPL s'il utilise une bibliothèque GPL ?

Si ce n'est pas possible, est-il possible que le mettre sous une double licence comme ceci :
– programme en GPL + la lib GPL
– programme en LGPL + une autre lib BSD qui remplace la lib en GPL

J'aimerais utiliser la bibliothèque en GPL (packagé sous linux, plus performante…), mais garder la licences LGPL pour mon programme (intégration dans du proprio).

La double licence me permet de bénéficier de la meilleure bibliothèque pour les programmes libres, et laisse quand même une possibilité pour le non-libre, mais y a-t-il une meilleure solution ?
  • # À vue de nez....

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

    Si la lib BSD et la lib GPL ont la même API, tu peux très bien releaser en LGPL, la lib GPL aura pas son mot à dire.
    S'ils ont pas la même API, alors effectivement tu devras peut être faire comme ffmpeg: en fonction des options de compilations avoir une certaine licence ou une autre, et oui c'est tout à fait possible.
    • [^] # Re: À vue de nez....

      Posté par . Évalué à 3.

      J'ai vu aussi sur le net que si on link statiquement la lib, alors le programme doit être en GPL, mais que si on link dynamiquement le programme peut être en ce qu'on veux… Je me trompe ?
      • [^] # Re: À vue de nez....

        Posté par . Évalué à 4.

        Oui ! C'est justement toute la différence entre la GPL et la LGPL.

        cf le paragraphe non politique de http://www.gnu.org/licenses/why-not-lgpl.html :

        The GNU Project has two principal licenses to use for libraries. One is the GNU Lesser GPL; the other is the ordinary GNU GPL. The choice of license makes a big difference: using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.

        Pour préciser, ta remarque est valable pour les libs LGPL. Si tu links statiquement une lib LGPL, ton code doit être compatible GPL. Si tu links dynamiquement une lib LGPL, ton code peut être sous n'importe quelle licence.

        Par contre, pour une lib purement GPL, tu n'as pas le choix. Quelque soit la technique de link utilisée (statique ou dynamique), ton logiciel doit être compatible GPL.
        • [^] # Re: À vue de nez....

          Posté par . Évalué à 2.

          Merci pour cet éclaircissement ;-)
        • [^] # Re: À vue de nez....

          Posté par . Évalué à 1.

          A vue de nez seulement ou bien sûrement ?
          C'est primordial, de savoir ça avant de se lancer, si on espère ne pas se retrouver avec un procès.
          Et comment font ceux qui font du proprio à partir de libre ?
          • [^] # Re: À vue de nez....

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

            Ils utilisent soit des libs en LGPL ou en BSD (ou équivalent), certainement pas des libs GPL (sauf éventuelle libs systèmes ou ayant une API ayant plusieurs implémentations dont au moins une non GPL). Utiliser du GPL dans du proprio est illégale, la seule manière de contourner ça serait de lancer un prog GPL en dehors du prog et travailler sur ces entrées/sorties en console.

            Exemple, tu peux faire un GUI proprio a mencoder (GPL) par exemple uniquement si ta façon d'appeler mencoder c'est de lancer la commande et l'affichage dans ton GUI provient de l'output console de mencoder. Tu n'es n'y lié dynamiquement, ni statiquement à mencoder. Tu ne fais que l'utiliser et ça la GPL le permet (même par un prog proprio ;).
            • [^] # Re: À vue de nez....

              Posté par . Évalué à 1.

              Il doit donc y avoir un paquet de sociétés qui sont dans l'illégalité alors !
              Ca me semble bien compliqué / pas très efficace comme méthode de dialogue inter applications ...
              • [^] # Re: À vue de nez....

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

                Il doit donc y avoir un paquet de sociétés qui sont dans l'illégalité alors !

                Je ne crois pas, les éditeurs de soft proprio n'utilisent simplement pas de libs GPL, et si ils le font, oui ils violent la licence, c'est le principe même de la GPL.

                Ca me semble bien compliqué / pas très efficace comme méthode de dialogue inter applications ...

                Si tu veux utiliser une lib GPL, ton prog doit être GPL, le "contournement" (qui n'en est pas vraiment un) consistant à automatiser l'utilisation d'une appli GPL par un GUI proprio n'a pas pour vocation de faciliter le dialogue inter application. Si on reprend l'exemple de la GUI a mencoder en proprio, il suffit de faire une GUI en GPL (ou LGPL ou BSD ou toute licence compatible GPL, l'ensemble sera soumis à la GPL) pour pouvoir directement se linker à mencoder ou réutiliser des parties de codes de celui-ci.

                Le truc est simple, si tu fais du proprio tu ne peux pas réutiliser un truc en GPL et c'est pour ça que la GPL existe principalement.
            • [^] # Re: À vue de nez....

              Posté par . Évalué à 1.

              Il me semble que tu peux tout à fait écrire du soft proprio par dessus du code GPL, tant que le soft résultant n'est utilisé qu'en interne (cad qu'il n'y a pas de redistribution)

Suivre le flux des commentaires

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