À mon avis, la subtilité est dans la licence des headers de la librairie. Par exemple, dans ceux de la librairie standard de G++, on peut lire:
"// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file 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 General Public License."
Donc tu peux faire "#include <vector.h>" sans pour autant passer ton programme sous GPL. Dans les hearders de qt sous Linux, on lit:
"** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses may use this file in accordance with the Qt Commercial License
** Agreement provided with the Software."
À mon avis, voila pourquoi on a le droit d'utiliser QT dans un contexte commercial quand on a acheté la licence.
Maintenant, c'est vrai que je ne comprends plus cette histoire de linkage statique et dynamique, car même en cas de linkage dynamique, on doit inclure les headers. Si les headers sont en GPL, de toutes manières, le logiciel doit être GPL. Si les headers offrent le choix, alors on peut avoir certainement plus de latitude.
Je me suis un peu balladé sur Internet, et on peut lire les deux versions. Ce sont deux interprétations différentes de la GPL :
1) le linkage statique est interdit, le linkage dynamique est possible (dans ce cas, quel est l'intéret de la LGPL?)
2) aucun linkage n'est autorisé, sauf cas particulier : noyau, glibc, etc.
J'ai peur de t'avoir embrouillé plus que nécessaire :-)
[^] # Re: Élément de réponse
Posté par arnaudus . En réponse au message librairie GPL. Évalué à 3.
"// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file 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 General Public License."
Donc tu peux faire "#include <vector.h>" sans pour autant passer ton programme sous GPL. Dans les hearders de qt sous Linux, on lit:
"** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
** licenses may use this file in accordance with the Qt Commercial License
** Agreement provided with the Software."
À mon avis, voila pourquoi on a le droit d'utiliser QT dans un contexte commercial quand on a acheté la licence.
Maintenant, c'est vrai que je ne comprends plus cette histoire de linkage statique et dynamique, car même en cas de linkage dynamique, on doit inclure les headers. Si les headers sont en GPL, de toutes manières, le logiciel doit être GPL. Si les headers offrent le choix, alors on peut avoir certainement plus de latitude.
Je me suis un peu balladé sur Internet, et on peut lire les deux versions. Ce sont deux interprétations différentes de la GPL :
1) le linkage statique est interdit, le linkage dynamique est possible (dans ce cas, quel est l'intéret de la LGPL?)
2) aucun linkage n'est autorisé, sauf cas particulier : noyau, glibc, etc.
J'ai peur de t'avoir embrouillé plus que nécessaire :-)