Forum Linux.général licence GPL et greffon chargé dynamiquement

Posté par  .
Étiquettes : aucune
0
15
avr.
2011

Bonjour,

est-il possible d'avoir pour un logiciel sous licence GPL des greffons (plugins) chargés dynamiquement (dlopen et dlsym).

La communication entre les deux se fait principalement par une fonction de "callback" depuis le logiciel vers le greffon et accès aux variables globales du logiciel.

Cordialement

trax

  • # encore heureux qu'on puisse avoir des greffons/plugins/addons dans les logiciels

    Posté par  . Évalué à 3.

    maintenant je penses que ta question etait incomplete et portait plutot sur :

    est-il possible d'avoir pour un logiciel sous licence GPL des greffons (plugins) non-GPL chargés dynamiquement (dlopen et dlsym).

    si telle etait la question intiale, pour l'instant je n'ai pas de reponse (faut dire que je ne suis pas developpeur, et que je ne me suis donc jamais posé cette question)

    • [^] # Greffons non-GPL

      Posté par  . Évalué à 2.

      Non, on ne peut pas avoir de greffons non-GPL, vu qu'un plugin va toujours llnker avec le programme principal. Tu peux avoir une exception dans la licence de ton programme et des libs qu'il utilise mais ça implique que tu ne peux pas utiliser la moindre librairie GPL sans exception à partir de ce moment, du fait de la viralité de la GPL. Ce cas est illustré par exemple par Totem ou Rhythmbox, qui contiennent une exception pour pouvoir utiliser les plugins GStreamer de fluendo pour les formats brevetés. GStreamer lui-même est LGPL.

      Par contre des gens mal (ou moins mal) intentionnés contournent régulièrement cela en travaillant avec des IPC, style client-serveur. Tu as un petit greffon en GPL qui implémente ton IPC et gère le processus proprio et tu attaques cet IPC depuis ton bout de programme proprio. Après est-ce que c'est légal ou non? J'imagine que c'est une question d'interprétation.

      Disclaimer: IANAL.

      • [^] # Re: Greffons non-GPL

        Posté par  . Évalué à 1.

        Merci Nud de ta réponse, mais est ce qu'il n'y a pas de différences entre la liaison à la compilation et le chargement dynamique ?

        La FAQ de la GPL précise qu'il est possible d'avoir des greffons propriétaire tant que la liaison n'est pas "forte" (qu'il reste deux programmes indépendant).

        http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

        Le man de "dlopen/dlsymp" parle de "interface to the dynamic linking loader".

        Le contournement que tu présentes permet de <<~nourrir~>> un programme des données d'un autre programme. Pourquoi n'est il pas possible de faire la même chose via des appelles de fonctions ?

        Je suis bloqué entre deux licences contaminantes, l'une libre et l'autre propriétaire.

        • [^] # Re: Greffons non-GPL

          Posté par  . Évalué à 1.

          Ben quand tu charges un module dynamique, c'est ld-linux.so qui s'occupe de tout linker. C'est du linkage tout beau comme sorti de gcc, tout comme quand tu utilises n'importe quel .so.

          Si tu pouvais faire du proprio sous prétexte que tu as un .so et du linkage dynamique, tu viendrais de prouver que la GPL est caduque pour tout le contenu de /usr/lib. J'ose espérer que RMS y a pensé avant.

          Pourquoi n'est il pas possible de faire la même chose via des appelles de fonctions ?

          Ben une IPC ça peut être du RPC hein. Ceci dit c'est très borderline et je ne suis pas certain que tu puisses réellement faire ça.

          Je suis bloqué entre deux licences contaminantes, l'une libre et l'autre propriétaire.

          Ben utilise autre chose ou réécrit l'un des deux.

Suivre le flux des commentaires

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