[Linux-bruxelles] Question de licence

Ludovic Brenta ludovic.brenta at insalien.org
Sam 28 Aou 00:59:55 CEST 2004


"Gaëtan Frenoy" writes:
> Tu aurais une référence ?  Cela m'intéresse de comprendre pourquoi.

C'est indiqué explicitement dans la GPL elle-même, paragraphe 2b:

    b) 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.

>> Lorsque, en simple C, tu #includes les fichiers "*.h" de la
>> bibliothèque dans ton programme, tu y copies des parties de la
>> bibliothèque: c'est un dérivé.  
>
> Je ne dérive rien du tout.  En quoi le code initial a-t-il été
> modifié ?  C'est une simple utilisation du code écrit par
> quelqu'un d'autre.  Le fait que ce code soit sous forme binaire
> ou texte ne change finalement pas grand chose.

Même non modifié, il est inclus (c'est le sens exact de la directive
#include du préprocesseur C) dans ton programme, et donc tombe sous le
champ d'application de la clause 2b.

>> C'est encore plus évident avec les
>> bibliothèques écrites dans des langages qui permettent la
>> méta-programmation (comme, par exemple, Ada avec ses "génériques", C++
>> avec ses "templates", ou Lisp avec ses "macros").  Lorsque tu crées
>> une instance d'un générique qui vient de la bibliothèque, tu copies du
>> code de la bibliothèque dans ton exécutable: c'est un dérivé.
>
> Je ne vois pas ce qu'il y a d'évident ?  Une fois de plus, je me
> place en tant qu'utilisateur des services offerts par le template,
> le générique ou la macro.  Que la forme de ce service soit tout à
> coup du code au lieu d'être classiquement un exécutable ne me semble
> pas être important.

Non.  A partir de l'instant où tu distribues du code source (#include)
ou objet (instance de générique) copié depuis une bibliothèque, tu
n'es plus simple utilisateur; tu es *distributeur*, et tu n'as pas le
droit de distribuer une oeuvre ou une partie d'oeuvre protégée par le
droit d'auteur, à moins que l'auteur ne t'accorde ce privilège.  La
GPL t'accorde ce privilège à certaines conditions.

> Si je venais à modifier ce template ou cette macro et prétendre que
> ce (nouveau) code fait partie de mon programme, là, c'est tout à
> faire différent.

Pas différent.  Le droit d'auteur couvre non seulement la
modification, mais aussi la distribution et la copie (ce qui veut dire
que, sans la permission de l'auteur, tu n'as même pas le droit de
faire des copies privées des oeuvres protégées.  La loi française
t'accorde ce droit de toute façon, mais je ne sais pas pour la loi
belge).

>> Pour cette raison, de nombreux programmes écrits en Ada utilisent la
>> licence "GMGPL", ou "GNAT-Modified GPL", qui est la GPL avec la clause
>> additionnelle suivante:
>> 
>>    As a special exception, if other files instantiate generics from this
>>    unit, or you link this unit with other files to produce an executable,
>>    this unit does not by itself cause the resulting executable to be
>>    covered by the GNU General Public License. This exception does not
>>    however invalidate any other reasons why the executable file might be
>>    covered by the GNU Public License.
>
> Bigre tout cela est bien compliqué.  Moi qui croyais être libre
> d'utiliser des logiciels libres, encore une triste désillusion.

Utiliser, oui, tu es libre (utiliser veut dire exécuter le programme).
Copier, distribuer et modifier sont soumis à la permission de
l'auteur.

> Donc, "dérivé", est à comprendre, non pas comme "modifié", mais
> "basé sur" ?

Répète après moi encore une fois: copier, distribuer et modifier.

-- 
Ludovic Brenta.
Registered Linux user #6891    http://counter.li.org





Plus d'informations sur la liste de diffusion Linux-bruxelles