Journal de la validité de la GLP

Posté par .
Tags : aucun
0
19
juin
2005
Bonjour les gens,


Je me pose une grave question à propos de la licence GLP.
En effet, quand un programme est placé sous ce genre de
licence, on ne peut pas écrire un programme et le "lier" avec
un programme GLP sans que ce programme soit lui-même
sous GLP (enfin, c'est ce que j'ai compris).

Mais comment définit-on le terme "lier"?

Typiquement, quand je lance mon Firefox sous Windows, il y
a bien une liaison établie entre deux programmes: l'un sous
GLP, l'autre sous licence Microsoft.

Vous allez me dire que mon exemple est extrème. Qu'"on" sait
bien ce qu'est une bibliothèque. C'est les DLL sous Windows
et les .so and co sous linux. C'est ces trucs qui contiennent des
morceaux de code qu'on ne veut pas réécrire et qu'on factorise.
Quand un programme se lance, les bibliothèques nécessaires
sont aussi lancées et le "programme" total, c'est le Firefox+les
bibliothèques chargées en mémoire.

Ouai mais bon. Dans bon nombre de langages de
programmation, on peut faire des appels systèmes. Le
mécanisme informatique n'est pas le même mais au final,
on a bien un bout de code qui est lancé et à un moment, un
bout de code contenant des fonctionnalités manquantes est
lancé. Donc "liaison" devrait englober les appels systèmes.
Donc si dans mon programme, je fais un exec("acroread.exe"),
je ne peux pas le mettre sous GLP. En fait, si on pousse le
raisonnement plus loin, il est impossible d'écrire un programme
GLP sur un système d'exploitation propriétaire et si on élargie
un brin la définition de programme, on doit même pouvoir dire
que c'est le même problème avec un processeur non libre.

Bref, les gens, dites-moi où je me plante.

Frédéric


P.S. un copain à moi est d'avis que ça vient du mode de
fonctionnement différent entre la justice à l'anglo-saxonne et à
la française.
  • # GLP??

    Posté par . Évalué à 4.

    J'ai beau chercher sur Google je ne trouve pas de référence à une licence GLP. Je suppose donc qu'il faut comprendre GPL?
    • [^] # Re: GLP??

      Posté par . Évalué à 4.

      Tu as évidemment raison.

      Grrrrr.

      Dislexie de merde!
  • # re

    Posté par . Évalué à 1.

    tu peux lier a un programme non gpl s'il fait partie de la base du systeme.

    cela dit, c'est bien ce raisonnement qui me fait penser que les theories du style "firefox sous windows capucestpaslibre parce que windows est pas libre" sont fumeuses (mais cela n'engage que moi, hein).
    • [^] # Re: re

      Posté par . Évalué à 2.

      L'ensemble est pas libre vu que Windows est pas libre. Tu as une liberté très relative par rapport à ce que tu pourrais avoir avec un système 100% libre, vu que tu ne maîtrises pas la base du système.

      C'est plus grave que si tu as mettons un flash pas libre sur un linux. Par contre pour lesdrivers nvidia proprio modifiant le noyau, là c'est plus dommageable.

      Maintenant, les binaires Firefox de la fondation Mozilla (y compris si on fait abstraction du problème Windows) ne sont en effet pas libres parce qu'ils intègrent des bouts de code propriétaires (le Qualitiy Feedback Agent je crois, mais je peux me tromper). Et ça ne va pas s'améliorer sous Windows, puisque Firefox 1.1 devra intégrer dans sa distribution sous forme binaire une DLL Microsoft qui n'est pas fournie sous les versions précédant XP pour gérer le SVG.

      C'est pour ça que les distribs avec des éditions GPL & compatible uniquement fournissent des versions spécifiques de Firefox entièrelement libres avec quelques patches sur le code source pour n'intégrer que les parties GPL. Sous Windows, il faut compiler le code source et je ne sais pas s'il existe des éditions 100 % GPL (ce qui est quand même beaucoup moins important à partir du moment où tu acceptes de faire tourner ton Firefox sous Windows).
    • [^] # Re: re

      Posté par . Évalué à 2.

      Je ne cherche pas à dire que "firefox sous windows,
      capucestpaslibre" ni même que "windows, capucestpaslibre".

      Mon point de vue est qu'il faut savoir utiliser les bons outils
      pour la tâche que l'on veut réaliser. Si windows est le bon outil,
      utilise windows. Je considère qu'un système de type unix est
      un meilleur outil pour moi.

      Je veux juste comprendre les implications de la GPL.
      C'est tout.
      • [^] # Re: re

        Posté par . Évalué à 1.

        Je veux juste comprendre les implications de la GPL.
        C'est tout.

        c'est ce a quoi repond la premiere partie de mon message, la seconde partie etant une reflexion sur le raisonnement qui t'a mene a cette interrogation.
  • # Étrange lecture...

    Posté par . Évalué à 5.

    Je ne sais pas quels éléments de Windows sont utilisés par Firefox (puisque c'est l'exemple que tu prends), mais j'ai l'impression que le côté multi-plateforme doit éviter de taper trop profondément dans des structures, bibliothèques ou autres qui soit trop spécifiques au système. Et pour ton exemple, dans exec("acroread.exe"), l'appel système c'est le exec, pas son argument. Et en l'occurence, même si un truc pareil existe dans le code de Firefox, il y est sans doute sous la forme exec("pdfreader"), avec pdfreader instancié à acroread.exe ou /usr/bin/kpdf par l'utilisateur la première fois qu'il chope un pdf et qu'on lui demande avec quoi l'ouvrir. Et ça, ce n'est pas lier, c'est configurer.

    Mais plus sérieusement, à quel article de la GPL fais-tu référence ? Si c'est le 2b, tu le lis à l'envers (c'est moi qui ai mis le passage en gras):

    You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.


    Donc, tout ce que tu veux distribuer ou publier, et qui contient ou est dérivé de code GPL doit porter la license GPL. Il n'y a aucun morceau de Windows ou d'autres softs non GPL dans les paquets Firefox fournis par la Mozilla Foundation ou les diverses distributions, fin du problème. Cet article dit que tout travail basé sur du code GPL doit rester GPL. Ça ne signifie pas que le code GPL ne peut pas faire appel à un système propriétaire.
  • # Logiciels libérateurs ?

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

    Ca n'est pas directement lié au sujet du journal, mais c'est un article qui m'est revenu plusieurs fois en lisant les commentaires :

    Je conseil à tous les dlfpiens la lecture de l'excellent article de Benjamin Bayart, qu'il avait produit en conférence initialement sous le nom "OpenOffice.org, pourquoi pas ?" mais qu'il fallait comprendre sous le sens "pourquoi 'pas' ?" ...

    Les logiciels libérateurs, mieux que le libre (du moins pour les non geeks hein ...)

    http://edgard.dyn.fdn.fr/liberateur/(...)
  • # Pas besoin de définir ce terme

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

    La GPL n'interdit pas le link explicitement (en fait si dans une petite clause à la fin sur la manière conseillée d'appliquer la GPL à un programme, pour conseiller la LGPL dans ce cas).
    Elle ne parle que de "travaux dérivés". Les travaux dérivé d'un soft GPL doivent être sous GPL.

    Comme Fenêtres(r), par exemple, n'est pas dérivé de GCC, tu peut exécuter GCC dessus (note au passage que firefox n'est pas sous GPL).
    Autre exemple: Skype est propriétaire. Pourtant il peut utiliser Linux car son code source n'en dérive pas: En effet il découle des spécifications Unix et pourais par exemple être exécuté par la couche de compatibilité Linux des BSD.
    Même chose pour le driver Nvidia, le driver dérive d'une couche d'abstraction qui tourne sous Solaris, Linux, fenêtres et BSD. La couche d'abstraction pour Linux est bien GPL (elle utilise des fonctions spécifiques au kernel) mais Nvidia affirme que la partie propriétaire est dérivée de la couche BSD et voilà.
    Même chose avec wine.....

    Par contre, on ne peut décemment pas prétendre qu'un binaire apparaîtrait par magie qui serait capable d'utiliser les fonctions de ffmpeg. Il faut forcément que ce programme en dérive, donc qu'il soit sous GPL.

    Cette erreur sur la GPL est très répendue, la confusion étant entretenue par ceux qui prétendent qu'elle "contamine tout ce qu'elle touche" ou qu'elle "vole" le code source. Elle est en réalité très honnête (donnant donnant)
    Je te conseille d'aller sur le site du GNU si tout ça n'est pas très clair, ils ont de la bonne doc.
    Y'a aussi une traduction non officielle de la GPL en français, si ça peut aider http://www.linux-france.org/article/these/gpl.html(...) .
    • [^] # Re: Pas besoin de définir ce terme

      Posté par . Évalué à 3.

      Merci pour ton commentaire.
    • [^] # Re: Pas besoin de définir ce terme

      Posté par . Évalué à 2.

      Y'a aussi une traduction non officielle de la GPL en français, si ça peut aider http://www.linux-france.org/article/these/gpl.html(...)(...) .

      Cette traduction est erronée. Elle a permis à un prof de droit "anti-GPL" de propager un FUD/

      Voir :

      http://solutions.journaldunet.com/0412/041221_3questions_fsfe.shtml(...)

      et les archives de la ML FSF. Notamment :

      http://lists.gnu.org/archive/html/fsfe-france/2003-06/msg00102.html(...)
    • [^] # Euh... pas sûr...

      Posté par . Évalué à 1.

      Je ne me rappelle plus trop de la source de l'info, mais je cherche dès que j'ai un peu de temps (c'était de toutes façon soit dans la GPL, sa FAQ, la LGPL ou une traduction... si quelqu'un trouve avant moi).

      Au boulot, pour utiliser MySQL sous Windows, on a eu le problème le lier du proprio avec du libre il y a quelques mois : j'aurais aimé que ma boite prenne une licence commerciale, et que l'on distribue une version GPL de MySQL pour l'utiliser avec notre appli (proprio) si le client ne veut pas payer la licence commerciale.

      Le problème et que justement, j'avais lu que l'on ne peut pas linker du proprio (au sens non GPL-compatible de la FSF). D'ailleurs, MySQL AB a bien utilisé l'exception FLOSS (Free/Libre and Open Source Software) : http://www.mysql.com/company/legal/licensing/foss-exception.html(...)


      Donc je penses qu'il y a effectivement le problème de définir clairement le problème de "lier du code". Au fait, un header (d'une API liée dynamiquement par exemple), c'est du code selon vous ?
      • [^] # Re: Euh... pas sûr...

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

        Je me permet de répondre ici à ton commentaire http://linuxfr.org/comments/591248,1.html(...) , craignant que tu n'ai pas la réponse.
        Au boulot, pour utiliser MySQL sous Windows, on a eu le problème le lier du proprio avec du libre il y a quelques mois : j'aurais aimé que ma boite prenne une licence commerciale, et que l'on distribue une version GPL de MySQL pour l'utiliser avec notre appli (proprio) si le client ne veut pas payer la licence commerciale.

        Le problème et que justement, j'avais lu que l'on ne peut pas linker du proprio (au sens non GPL-compatible de la FSF). D'ailleurs, MySQL AB a bien utilisé l'exception FLOSS (Free/Libre and Open Source Software) : http://www.mysql.com/company/legal/licensing/foss-exception.html(...)

        En fait, dans le cas que tu cite, le "problème" vient de ce que la licence propriétaire de MySQL interdit la redistribution. Donc ton programme, comme tu le distribuait, était réputé dériver de la version GPL, c'est pour ça qu'il devait être sous GPL.

        Si par contre MySQL avait (comme QT) autorisé la distribution des binaires utilisant son code, alors ton programme aurait pu se connecter à un MySQL GPL sans en dériver. Même chose si tu avais écrit une librairie maison pour te connecter à cette base de donnée.

        Vous auriez pu utiliser PostgreSQL par contre (licence BSD).
        • [^] # Re: Euh... pas sûr...

          Posté par . Évalué à 1.

          Comme tu m'as envoyé un MP et que je t'ai répondu, est-ce que tu pourrais coller ma réponse ici, ou me dire comment on peut lire les MP envoyés stp ?
          • [^] # Re: Euh... pas sûr...

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

            Voilà ton message :
            Merci de ta réponse.

            Je en suis pas sûr du tout que le problème vienne de la redistribution, car la GPL permet de revendre pour son propre compte une appli GPL que l'on ne fait que redistribuer (binaires + sources bien sûr).

            Pour moi , la question était simplement : en utilisant l'API C de mysql, ai-je le droit d'utiliser une licence GPL de MySQL chez mes clients ?

            Dans les divers forums et les sources perso, il semblerait que la réponse soit non à cause du "link" de code.

            Je ne sais pas lire les messages envoyés. Désolé.

Suivre le flux des commentaires

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