Comment se repérer dans la jungle des licences open source

Comment se repérer dans la jungle des licences open source N'est pas logiciel libre ou open source qui veut. Pour éviter le droit d'auteur classique, il faut choisir une licence. Pas si simple : il en existe pléthore avec des nuances subtiles.

Le monde du logiciel libre ou open source est loin d'être monolithique. GPL version 2, version 3, licence Apache, MIT, Artistic, Eclipse, Mozilla, CDDL, CeCILL... Comprendre l'univers des licences libres ou open source a tout du casse-tête. Le site GNU a recensé plus d'une centaine de licences différentes. Beaucoup sont proches les unes des autres, certaines sont compatibles entre-elles, d'autres présentent de véritables différences philosophiques. Avant de choisir une licence pour son projet ou même utiliser un composant libre trouvé sur Internet, il faut impérativement vérifier sous quelle licence celui-ci a été publié par son auteur.

odile benassy
Odile Bénassy, Université Paris Sud 11 : "Si les développeurs publient un logiciel sans mention de licence, alors, leur œuvre sera automatiquement soumise au droit d'auteur 'classique'... avec donc interdiction de copier, de re-distribuer etc." © Odile Bénassy

Militante du Libre, Odile Bénassy, ingénieur système et développeur pour l'Université Paris Sud 11, commente ainsi la liste qu'elle a traduite avec les membres de l'April en français : "Il existe beaucoup de licences, mais il y en a une qui émerge, c'est la GNU GPL. Elle est énormément employée, que ce soit dans sa version 2 ou sa version 3. A côté, il y a une autre grande famille de licences : la famille DBS et MIT, des licences qui sont plus permissives. Ces familles incluent beaucoup de licences qui ne diffèrent bien souvent qu'au niveau des détails."

S'il y a effectivement eu une prolifération des licences ces dernières années, sur cette centaine, les développeurs en privilégient une petite dizaine. Comme le montre le graphique ci-dessous, la plus récente étude Black Duck estime à 27% la part des projets qui sont aujourd'hui développés sous licence GPL v2. 16% sont menés autour de la licence MIT, 15% sous licence Apache 2.0, et enfin 11% sous licence GPL v3. Au-delà de ces licences phares, le nombre de projets est plus faible, et la plupart des licences restantes a une diffusion confidentielle. Pour Odile Bénassy, l'important, c'est de veiller à la compatibilité entre licences : "Chacun peut créer sa propre licence, à partir du moment où il s'intéresse à la compatibilité avec d'autres licences et évite les clauses mutuellement incompatibles qui vont poser des problèmes lorsque vous intégrez plusieurs logiciels ou bibliothèques de programmation. Sur le plan juridique, les licences doivent être compatibles."

Copyleft ou pas, une nuance de taille

Il est important de faire la différence entre les licences libres et celles qui ne le sont pas, copyleft ou pas. La famille des licences BSD n'a ainsi pas ce copyleft, cette clause où l'auteur autorise le développeur à utiliser, modifier, distribuer un logiciel à condition de conserver des termes analogues à la licence, et même en général de conserver la même licence. Une nuance qui fait toute la différence, notamment pour les éditeurs de logiciel. C'est ce qu'on nomme l'effet contaminant d'une licence. Un éditeur qui intègre une librairie de programmation éditée en GPL version 2 doit obligatoirement publier son logiciel sous la même licence, et donc publier ses sources.

"On interdit aux personnes de s'approprier le travail fait par d'autres pour la communauté et l'intégrer dans un logiciel propriétaire. La GNU GPL ne le permet pas, contrairement à la famille BSD." Rédhibitoire pour beaucoup d'entreprises, ce qui pousse de plus en plus d'éditeur à fonctionner en double licence : le logiciel est à la fois édité en GPL pour la communauté et en licence commerciale pour les entreprises. On voit aussi apparaître un dual licencing entre licences libres : des projets dont certains composants sont développés sous licence GPL, d'autres parties sous licence MIT, plus permissive, selon la sensibilité de tel ou tel développeur. La licence GPLv2 autorise cela pour peu que les modules puissent être véritablement considérés comme indépendants. A l'opposé, le serveur http Apache, édité sous licence Apache (une licence de la famille BSD), peut être librement intégré à une offre commerciale.

Des licences originales mais impossibles à appliquer

Ces différentes sensibilités voire approches philosophiques du coding expliquent aussi l'explosion du nombre de licences. Chacun veut créer la licence qui correspond le mieux à ses objectifs métiers, ses règles morales, ses opinions politiques parfois. Par exemple, certains développeurs souhaitent que leur code ne soit pas repris pour un usage militaire ou de mauvaises causes. Ainsi, en 2006, l'ajout d'une clause "no military use" à la licence GPL a été poussé par Tiziano Mengotti et Rene Tegel, deux développeurs majeurs du projet GPU - un logiciel d'échange de fichiers en peer-to-peer. Ils ne souhaitaient pas que le code qu'ils produisaient soit utilisé pour, d'une manière ou d'une autre, blesser des personnes. Noble intention, mais clause impraticable dans les faits. 

licences open source
Les 20 licences Open Source les plus utilisées selon la dernière étude de Black Duck : dans ses différentes déclinaisons, la licence GNU GPL est choisie par près d'un projet open source sur deux. © Capture

"Certains veulent interdire toute utilisation commerciale de leur code. Si vous écrivez un logiciel libre et que vous voulez interdire aux gens de le commercialiser, ça pose de gros problèmes. Les gens ne pourront pas vendre une compilation de logiciel qui inclura le vôtre sur un CD par exemple. Ces clauses, qui semblent légitimes et pleines de bonnes intentions, peuvent poser des problèmes pratiques et au final sont très très peu utilisées." Parmi ces licences à la diffusion plutôt confidentielle : la licence HESSLA (pour Hacktivismo Enhanced-Source Software License Agreement). Rédigée par Oxblood Ruffin, membre des groupes de hacking Hacktivismo et "Cult of the Dead Cow" et Eric Grimm, avocat de l'EFF (Electronic Frontier Foundation), cette licence interdit la violation des droits de l'homme mais aussi l'espionnage des utilisateurs du logiciel.

CeCILL, une famille de licences libres "Made in France"

Autre illustration de cette multiplication des licences : le lancement de la licence CeCILL en 2004 à l'initiative du CEA, du CNRS et de l'INRIA. CeCILL est l'acronyme de Ce(A)C(nrs)I(NRIA)L(ogiciel)L(ibre). Une initiative pleinement justifiée pour Odile Bénassy : "En France, on a voulu créer une licence du type de la GPL mais compatible avec le droit français, ça a donné naissance à la licence CeCILL, une licence compatible avec la GPL." La licence CeCILL a été reconnue par l'OSI (Open Source Initiative) et la compatibilité avec la GPL avalisée par la FSF (Free Software Foundation).

Par définition utilisée qu'en France, la licence CeCILL n'apparait pas dans les statistiques fournies par Black Duck. Une quarantaine de projets sont recensés sur le site officiel de la licence CeCILL. Et la licence originale a donné naissance à une version 2, levant toute ambigüité de compatibilité avec la GPL v2. De plus, deux licences CeCILL sont venues s'ajouter à elle : la CeCILL-B qui est une licence de la famille BSD et la CeCILL-C (C pour Composant logiciel) qui colle aux termes de la licence LGPL (GNU Lesser General Public Licence), une licence GPL amoindrie.

 
Tableau récapitulatif de quelques licences open source
Nom Type Avantages Contraintes Observation
Source : JDN
GNU General Public License (GPL) Copyleft C'est la plus populaire et la plus connue par les développeurs Licence contaminante : tout logiciel embarquant du code GNU GPL devient GNU GPL Initialement rédigée par Richard Stallman, la GNU GPL existe en v2 et v3, ainsi qu'en plusieurs déclinaisons comme la LGPL.
MIT Non copyleft Licence très permissive S'applique plus particulièrement aux petits programmes Baptisée aussi licence X11, elle est compatible GNU GPL.
BSD Non copyleft License permissive, avec un minimum de restrictions Ne pas utiliser la licence BSD originale qui contenait une clause de publicité aujourd'hui retirée Compatible GPL. De multiples licences BSD ont vu le jour et sont aujourd'hui plus populaires, comme la licence Apache
Artistic Non copyleft C'est la licence de la communauté Perl Les termes vagues de la licence originale sont critiqués par la FFF, ce qui a donné la naissance à une version 2 Compatible GNU GPL, n'utiliser que la version 2
Apache Non copyleft Initialement destinée aux packages Apache, elle est aujourd'hui très populaire. Elle est permissive N'est pas compatible avec la GNU GPL 2 Compatible avec la licence GNU GPLv3
CeCILL Copyleft Reconnue open source par l' Open Source Initiative (OSI) depuis la version 2.1, Licence peu connue hors de France Transposition en français de la GNU GPL, la licence CeCILL a été complétée par la CeCILL-B, de la famille BSD et CeCILL-L (proche LGPL)