On se l'est posée en réunion de perm mercredi 5 sept.
En ce moment Olena est distribuée sous « GPL v2 ou plus » avec cette exception:
« 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. »
C'est moi qui l'ai ajoutée le 2001-11-01, le jour de la release d'Olena 0.1. On en a forcément discuté avant, mais je ne me rappelle pas des détails. Il y a une entrée dans mes vieux ChangeLogs (qui ne semblent plus être dans le dépôt svn), mais elle dit juste « Add license and copyright. »
libstdc++ utilise cette même exception pour autoriser les projets non-GPL à l'utiliser. Elle est discutée ici: http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/license.html Ça transforme la GPLv2 plus ou moins en une LGPLv2 mais sans l'obligation de pouvoir changer la bibliothèque.
Le problème de la LGPL est que, même si elle autorise un programme utilisant un bibliothèque LGPL a être distribué sans ses sources, elle impose que les utilisateurs puissent changer la version de la bibliothèque. En pratique ça suppose l'utilisation d'une bibliothèque partagée ou la distribution des *.o du programme. Dans les deux cas, c'est incompatible avec l'utilisation des templates d'Olena.
La version 3 de la LGPL, même si elle parle un peu de templates (au sens des petites fonctions inline qu'on trouve dans les headers), demande toujours qu'on puisse recompiler ou relinker avec une autre version de la bibliothèque. À mon avis ça ne nous aide pas.
Je ne vois pas de raison de ne pas passer de GPLv2+ à GPLv3+, mais peut-être serait-il mieux d'attendre de voir ce que va faire libstdc++. Il faudrait aussi se demander si l'on veut vraiment permettre des utilisations non libres d'Olena.
-- Alexandre Duret-Lutz