Forum Linux.général Liaison dynamique ou non?

Posté par  (site web personnel) .
Étiquettes : aucune
0
14
avr.
2006
Bonjour,

N’étant que pseudo programmeur, mais par contre vrai juriste, j’aurai aimé demander quelques précisions sur des alternatives qui ont pu être trouvées afin de lier des éléments programmes entre eux alors qu’ils sont sous licences différentes, et incompatibles.

Un exemple qui me parle bien est celui de KScope, j’ai trouvé une discussion qui avait eu lieu sur un problème d’incompatibilité entre KScope (BSD License) dynamiquement lié avec KDE (LGPL?), Qt (GPL) et graphviz (CPL).
Au final, je pense que pour KDE et Qt, le choix a été de passer tout sous GNU GPL, mais en ce qui concerne la Common Public License de graphviz, ils ont utilisé une combine qui consistait à utiliser ‘dot’ de la command-line=20 au lieu d’utiliser une liaison dynamique avec graphviz.

Cette solution semble avoir résolu les problèmes de licences, mais j’ai du mal à percevoir la différence qui découle de la manipe, et en quoi une telle manipe permet d’éviter l’effet d’une clause de réciprocité ?
Si quelqu’un à des réponses, ou d’autres exemples…
J'aimerai bien essayer d'écrire un article là-dessus une fois que j'aurai mieux cerné le sujet, afin d'éviter justement ce genre de questions...

BEn
  • # Fusionner plusieurs Licences Libres

    Posté par  . Évalué à 1.

    Bonjour,

    Je cotoie tous les jours différentes Licences Libres (comme la plupart des personnes se trouvant ici). Mais le mélange des Licences est certainement quelque chose de complexe.
    Je n'ai jamais appronfondi la question, car je n'ai jamais du faire face à plusieurs Licences différentes lors de conceptions de projets.

    Il y a des Licences qui accepent plus facilement la fusion que d'autres.

    Je ne sais pas si tu as déjà eu l'occasion de lire cet article sur le site de la GPL : http://www.gnu.org/licenses/license-list.fr.html
    Cet article explique les Licences compatibles et celles qui ne le sont pas avec la GPL.
    • [^] # Re: Fusionner plusieurs Licences Libres

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

      Oui, effectivement on y trouve des remarques intéressantes, mais au final c'est "telle licence est compatible car plus permissive, donc transformable en GNU GPL, expressement compatible, par une clause ad hoc dee "soumission" à la GPL".

      Ce que j'aimerai approfondir, c'est, dans le cas de licences non compatibles (genre, deux copyleft ou rien n'est prévu), comment peut on tout de même bénéficier de des codes sous licences?

      la solution que j'ai pointé semble effectivement permettre une telle cohabitation, mais je ne sais pas si elle est effectivement valide, si elle spécifique au cas d'espèce, et s'il en existe d'autres...
  • # BSD

    Posté par  . Évalué à 1.

    La BSD n'interdit pas de redistribuer le code qu'elle couvre sous une autre licence, quelle qu'elle soit. Du coup, il n'y a quasiment jamais de problèmes de compatibilité avec la BSD.

    Quant aux jeux sur la ligne de commande, ils signifient vraisemblablement que les programmeurs ont renoncé à se lier au code, et l'ont appelé par le biais d'un exec(). Or ceci est un appel-système, ce qui n'a plus rien à voir avec une liaison statique ou dynamique - en fait, c'est l'usage normal du programme, qu'on a le droit d'exercer dès qu'on a le droit de l'utiliser.

    C'est la même chose que pour bash : d'accord, il est sous GPL, mais ça n'a aucune conséquence sur les programmes qu'il peut appeler. L'appelant et l'appelé sont totalement indépendants.
    • [^] # Re: BSD

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

      Yes, ça ça m'interresse!

      Le problème en fait n'étant pas tant le BSD mais le GPL et le CPL.
      Avec les 4 licences différentes la meilleur solution était de mettre les codes sous BSD, LGPL et GPL sous une seule licence : GNU GPL, ainsi que chacune le permet.
      Mais ensuite, la question était de lier GPL et CPL, sans que les clauses de reciprocité (effet virale) ne s'enclenche, du côté de la CPL ou de la GPL.
      Donc c'est justement dans ces finesses de programmation que je perds mon latin, puisqu'il semble possible de lier différement deux applications différentes afin que dans un cas il y ait "contamination" et pas dans l'autre...
      • [^] # Re: BSD

        Posté par  . Évalué à 2.

        Il n'y a pas liaison à travers un appel exec(). Bash, par exemple est sous GPL, et pourtant il peut exécuter n'importe quel programme; ça n'a aucune conséquence sur le reste du monde de l'informatique.

        Il faut que tu comprennes la notion de liaison. Lier deux applications, c'est mettre en place un dispositif leur permettant de s'exécuter dans le même espace d'adressage, c'est-à-dire de telle sorte que chacune puisse accéder directement au code de l'autre par lecture (ou écriture, ou exécution) de son adresse. Or exec() écrase le code de l'appelant avec celui de l'appelé : il n'y a donc jamais exécution dans le même espace d'adressage.

        Evidemment, un tel écrasement réduit quelque peu les possibilités de communication entre les deux codes, mais les isole hermétiquement tant du point de vue informatique que du point de vue juridique.

Suivre le flux des commentaires

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