Un oubli dans la GPL

Posté par  . Modéré par Yann Hirou.
Étiquettes :
0
21
mar.
2002
GNU
La GPL oblige celui qui modifie un programme sous licence GPL a en distribuer les modifications sous cette même licence. Mais qu'en est-il de la licence d'un serveur internet au départ sous licence GPL à qui l'on apporte des modifications propriétaires?
Ce serveur peut être public, tant que le source n'est pas distribué, la GPL n'oblige pas ce 'nouveau' serveur à se soumettre à la GPL.

Ce nouveau point est étudié par la FSF, voir l'article sur LWN.
Merci à Kuro5hin

Aller plus loin

  • # C'est archi-vieux

    Posté par  . Évalué à 10.

    C'est archi-vieux. Le débat a été lancé quand on a commencé à voir apparaître les Net-services (à la .NET de Microsoft) commerciaux et propriétaires fabriqués à partir de solutions GPL. Je dirais que ça fait bien un an que le problème a été soulevé.
    • [^] # Re: C'est archi-vieux

      Posté par  . Évalué à 10.

      C'est la meme chose pour tous les programmes qui generent un contenu :
      - sed (tu peux plublier le resultat)
      - bison
      - etc...

      Et ce chois a ete fait pour ca ...
      • [^] # Re: C'est archi-vieux

        Posté par  . Évalué à 1.

        C'est assez bizarre.

        Un outil libre peut servir à faire du propriétaire. On peut coder du proprio avec emacs, comme on est libre de ne pas rendre sa thèse GPL (ce qui m'apparait comme normal)...

        Ce qui est bizarre c'est de pouvoir modifier emacs, avec un bout propriétaire, et d'écrire des fichiers avec ensuite...

        Mais finalement, c'est pas si grave, puisque l'emacs modifié n'est pas revendu, redistribué...
        • [^] # Re: C'est archi-vieux

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

          Moi, je trouve pas ca tres bizarre.

          En effet, si tu modifies emacs, mais que tu ne le redistribue pas, tu fais 'forcément' du propriétaire , puisque tu ne diffuse pas tes modifications.
          Si l'executable modifié reste ta propriété exclusive , de ton point de vue, ca 'reste' libre de ton point de vue (tu as eu acces au source puisque tu as codé).
          Par contre, du point de vue de la communauté, c'est propriétaire, mais comme la communauté n'a pas acces au logiciel (et peut meme ne pas savoir qu'il existe), c'est comme si il n'existait pas.

          Enfin, c'est mon point de vue.

          Par contre, j'ai pas tres bien compris les explications données dans les articles.
          Dans le cas d'un serveur, si il sert au public, il faut qu'on puisse diffuser les sources si elles ont ete modifiées c'est ca ?
          Dans ce cas c'est 'normal' car le grand public a eu acces aux fonctionnalités du logiciel ...

          Bon, c'est ma vision des choses ...
          • [^] # Re: C'est archi-vieux

            Posté par  . Évalué à -1.

            Généralement quand tu ne rend pas publique une modif, c'est parce que tu ne penses pas qu'elle puisse avoir un intérêt, si ?

            Sinon tu écris aux devs du logiciel.
      • [^] # Re: C'est archi-vieux

        Posté par  . Évalué à 0.

        Ouais ...
        Je vois deux différences.

        1/ L'utilisation.
        Quand tu utilises sed chez toi, t'es seul. De même pour bison et autres.
        Un service web est à disposition du public, ou du moins à de nombreuses personnes. (même si c'est sed qui fait office de serveur).

        2/ le temps
        Si on regarde le contenu généré, dans un cas il est distribué après un certain temps. Tu généres ton contenu avec sed, puis tu le publies.
        Dans l'autre cas (service web), le contenu est généré de façon automatique et immédiate.

        Un service web, interactif (par définition), qui répond de façon immédiate, c'est comme un serveur d'application. L'utilisateur se sert d'un programme au départ sous GPL puis modifié de façon propriétaire. Et ça, c'est pas l'esprit GPL.
      • [^] # Re: C'est archi-vieux

        Posté par  . Évalué à 1.

        Justement il y a une exception, et c'est bison.

        D'apres la license tu es obligé de publier le résultat de bison. C'est d'ailleurs pour ca que dans les entreprises on utilise byacc.

        A ma connaissance, c'est qd meme une des rares exceptions.
        • [^] # Re: C'est archi-vieux

          Posté par  . Évalué à 4.

          Pour bison, c'est du au fait que le parser généré contient une part significative de code qui vient de bison lui-même, et non de ta grammaire.

          En gros, le fichier c généré contient des tableaux dont le contenu dépend de ta grammaire, et un automate qui utilise les tableaux en question pour parser les fichiers en fonction de la grammaire que tu as définie. L'automate est du code GPL, donc le fichier C généré est GPL.
          • [^] # Re: C'est archi-vieux

            Posté par  . Évalué à 1.

            Dans le bison.simple, on trouve ça :

            "As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction.
            This special exception was added by the Free Software Foundation in version 1.24 of Bison."

            Le code produit par bison n'est donc pas sous GPL. Relax !
    • [^] # Re: C'est archi-vieux

      Posté par  . Évalué à 10.

      voire plus vieux que ça, tu dois publier les sources seulement si tu fais une distrib publique du soft en question.
      Sinon, c'est le casse-tête, tu prends les sources d'un soft, et dès que tu modifies un caractère d'un fichier, hop, tu serais obligé de publier ton changement immédiatement ?
      • [^] # Re: C'est archi-vieux

        Posté par  . Évalué à 10.

        "si tu fais une distrib publique"

        Voilà bien le problème.

        Est-ce que c'est faire une distrib publique que de mettre le soft utilisable par tous via HTTP ?

        Pour un binaire, genre sed, rendre son soft utilisable par tous signifie le distribuer. Là, c'est clair.

        Mais pour un service web ? Est-ce que permettre au public de l'utiliser est une forme de distribution ?

        Il me semble que oui, et donc la GPL devrait s'adapter à ce cas là.
        • [^] # L'accès n'est pas la distribution

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

          Accéder à un service est du domaine de l'utilisation pur. Un binaire non. Un binaire c'est quelque chose que tu peux installer dans le but de l'utiliser. le binaire va te rendre un service mais n'est pas le service.
          Une distrib est AMA un ensemble de moyens te permettant d'obtenir et mettre en place de manière indépendante un service.

          Il m'avait toujours semblé que c'était l'un des business-plans les plus viables en matière de LL.

          Pourquoi ? car si l'on imagine une société X qui modifie des applis en GPL dans le but de 'vendre' le service, elle capitalise son savoir-faire, sa valeur-ajoutée mais ne peut en faire commerce : elle peut s'en servir mais ne peut le vendre. Les logiciels proprios ne sont jamais qu'un média pour vendre du savoir faire.

          Il risque fort d'arriver un point critique où le fork entre leur version maison et la version libre sera trop important pour qu'ils maintiennent seuls leur fork. Grâce à la GPL, ils ne pourront que publier (partie de) leurs modifs en souhaitant les voir ajouter à la version libre.

          Non, décidément je ne trouve pas ça si choquant.

          En plus pour un décideur, les services web entraînent vraiment un sentiment de dépendance car le logiciel n'est pas dans l'entreprise. C'est un bon point pour les services ouverts.
      • [^] # Re: C'est archi-vieux

        Posté par  . Évalué à 3.

        non, la subtilite est qu'il faut que les sources soient disponibles, mais personne ne dit que tu dois les publier.
        Il suffit que tu donnes le source lorsqu'on te le demande, mais tu n'as pas besoin de placer la chose sur un site web (et heureusement, cf plus haut).

        Ma question serait plutot : doit-on donner acces au source si l'on a permis d'utiliser le logiciel, ou si l'on a donne acces au logiciel ? (ce qui est different dans le cas de network appliances par ex, ou les fichiers ne sont pas modifiables ni meme accessibles de l'exterieur en lecture).

        Enfin c'est sur que c'est plus mieux de faire du tout GPL partout, ou tout simplement que les licences n'existent pas, et que je sois beau fort et intelligent, mais j'en demande peut-etre trop ;o)
        • [^] # Re: C'est archi-vieux

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

          non, la subtilite est qu'il faut que les sources soient disponibles, mais personne ne dit que tu dois les publier.
          Il suffit que tu donnes le source lorsqu'on te le demande, mais tu n'as pas besoin de placer la chose sur un site web


          Sauf si les demandes deviennent trop nombreuse. On devient donc obligé de publier ses modifs sur un site web.
    • [^] # Re: C'est archi-vieux

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

      Ce ne serait pas le problème qu'avaient eut les developpeurs de Nessus avec un boîte qui proposait des audits avec une version propriétaire ?
  • # C'est pas en preparation dans la gpl3?

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

    j'arrive pas a remettre la main dessus, mais je crosi bien que la gpl version 3 s'occupera aussi de ce probleme.
    • [^] # Re: C'est pas en preparation dans la gpl3?

      Posté par  . Évalué à 10.

      C'est effectivement en préparation.

      Bradley M. Kuhn en parle dans son mail (voir le lien sur LWN).
    • [^] # Re: C'est pas en preparation dans la gpl3?

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

      La GPL 3 "beta" n'est-elle pas là => http://www.affero.org/oagpl.html(...) ?
      • [^] # Re: C'est pas en preparation dans la gpl3?

        Posté par  . Évalué à 1.

        Le lien, ce serait pas plutot une autre license, basée sur la GPL, l'équivalent d'un fork, quoi ?
        • [^] # Re: C'est pas en preparation dans la gpl3?

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

          C'est meme marque en premier et en gros.
          Il couvre ce cas, mais ce n'est pas la beta ;)

          This license is a modified version of the GNU General Public License copyright (C) 1989, 1991 Free Software Foundation, Inc. made with their permission. Section 2(d) has been added to cover use of software over a computer network.

          La section 2d:

          * d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.

          These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

          Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

          In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

Suivre le flux des commentaires

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