Accéder au contenu.
Menu Sympa

technique - Re: [TECH] question sur la STL C++ Linux

Objet : Liste pour les discussions techniques (liste à inscription publique)

Archives de la liste

Re: [TECH] question sur la STL C++ Linux


Chronologique Discussions 
  • From: Sébastien Dinot <sdinot AT april.org>
  • To: Marie Piolot <mariepiolot AT gmail.com>
  • Cc: juridique AT april.org, technique AT april.org
  • Subject: Re: [TECH] question sur la STL C++ Linux
  • Date: Wed, 27 Mar 2013 22:50:40 +0100

Bonsoir,

Marie Piolot a écrit :
> J'ai une question : est-ce qu'utiliser la STL C++ Linux, qui est sous
> licence GNU GPL, dans un programme que je développe, rend ce programme
> sous licence GNU GPL aussi ?

Si la bibliothèque libstdc++ était diffusée sous licence GNU GPL pure,
ce serait effectivement le cas. Mais cette bibliothèque est en réalité
diffusée sous licence GNU GPL v3 augmentée de la « GCC Runtime Library
Exception 3.1 » comme cela est indiqué dans le référentiel de sources de
GCC (la bibliothèque libstdc++ en est issue) et la page ci-dessous :

http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html

L'objet de la « GCC Rutime Library Exception » est très clair :

/When you use GCC to compile a program, GCC may combine portions of
certain GCC header files and runtime libraries with the compiled
program. The purpose of this Exception is to allow compilation of
non-GPL (including proprietary) programs to use, in this way, the
header files and runtime libraries covered by this Exception./

Pour faire court :

- le code de GCC et des bibliothèques qui en émanent qui est inclus dans
du code tiers et

- les bibliothèques compilées de GCC qui sont liées à des fichiers
objets tiers

par le jeu du fonctionnement normal de la chaîne de compilation de GCC
ne soumettent pas le code tiers et l'exécutable résultant à la licence
GNU GPL v3.

Dès lors, l'utilisateur de GCC (et de la libstdc++) peut diffuser son
application sous la licence de son choix dans la mesure où il n'est pas
contraint par la licence d'un autre composant libre mis en œuvre par son
application.

Vous noterez que, contrairement à la licence GNU LGPL, la « GCC Runtime
Library Exception » ne fait aucune distinction entre édition de liens
statique et dynamique. Les deux sont donc permises.

Par contre, si du code de la bibliothèque libstdc++ (ou de GCC) est
copié ou injecté dans du code tiers d'une autre manière que par le
fonctionnement normal de la chaîne de compilation de GCC, ce code source
et l'exécutable qui résulte de sa compilation sont soumis à la licence
GNU GPL v3 (pure).

Pour la petite histoire, on trouve des exceptions équivalentes dans la
licence de beaucoup de compilateurs et autres générateurs de code libres
(mais pas de tous, certains éditeurs jouant sciemment de cet effet de
bord pour contraindre les utilisateurs qui veulent l'éviter à souscrire
une licence alternative plus conciliante et bien évidemment payante).

Cf. par exemple les conditions d'utilisation de Bison dont le code est
diffusé à la base sous licence GNU GPL v3 :

http://www.gnu.org/software/bison/manual/html_node/Conditions.html

Sébastien

--
Sébastien Dinot, sdinot AT april.org
April, http://www.april.org/
Promouvoir et défendre le logiciel libre



Archives gérées par MHonArc 2.6.16.

Haut de le page