Comparaison de licences open source
1 Introduction
J’ai fait une étude sur les licences de logiciels les plus répandues afin de déterminer les licences de logiciel qui seront le mieux adaptées pour être utilisées dans le projet industriel ; sachant que la contrainte principale est qu’aucun code source ne soit publié.
Une licence de logiciel est un contrat par lequel le titulaire des droits d’auteur sur un programme informatique autorise un exploitant ou un utilisateur à utiliser, diffuser ou modifier ce programme.
L’obtention d’une licence ne confère que des droits d’utilisation du logiciel. De ce fait, l’utilisateur n’est en aucun cas titulaire d’un quelconque droit intellectuel sur le logiciel mais dispose uniquement de certaines prérogatives qui constituent la contrepartie de ses obligations vis-à-vis du distributeur ou de l’éditeur.
Les licences de logiciels sont réparties en trois catégories selon le degré de liberté qu’elles accordent en matière de redistribution. La catégorisation de ces licences est faite sur la base des questions suivantes.
Permet-elle de qualifier ou pas un logiciel libre ?
S’agit-il d’un "Copyleft" ?
Est-elle compatible avec la GPL de GNU ?
Pose-t-elle des problèmes pratiques particuliers ?
Les plus populaires d’entre elles sont :
les licences BSD
les licences GPL
les licences LGPL
2 Les licences BSD
Il s'agit d'un type de licence imposant peu de contraintes. En général, seule la précision des auteurs originaux est demandée. Ces licences permettent de redistribuer un logiciel libre sous une forme non libre. Ces licences permettent donc à tout acteur de changer la licence sous laquelle le logiciel est distribué. Un cas de changement de licence courant est l'intégration de logiciel sous licence BSD dans un logiciel sous copyleft (licence GPL).Aucune obligation de redistribuer les modifications ou le code source d’origine.
Ces licences sont notamment utilisées par la Berkeley software distribution (licence BSD), X Window (licence MIT) et Apache Software Foundation (licence Apache).
3 Les licences GPL
La GPL est la Licence Publique Générale. Avec cette licence, les utilisateurs sont libres de coopérer. L’intégralité des codes sources doit être distribuée. Cette licence interdit la redistribution hors des principes du copyleft, car "si un programme est un logiciel libre au moment de sa distribution par son auteur, cela ne signifie pas nécessairement qu'il sera un logiciel libre pour quiconque en possèdera une copie".
Les licences du projet GNU sont les plus célèbres. Une telle licence permet d'intégrer du logiciel sous licence BSD et de le redistribuer sous licence GPL. L'inverse est impossible. La licence GPL est critiquée car elle empêche les fournisseurs de logiciels propriétaires de censurer le code.
Le copyleft
La GPL ne donne pas à l'utilisateur des droits de redistribution sans limite. Le droit de redistribuer est garanti seulement si l'utilisateur fournit le code source de la version modifiée. En outre, les copies distribuées, incluant les modifications, doivent être aussi sous les termes de la GPL.
Elle assure également qu‘on n’accorde pas de droits illimités de redistribution par l’intermédiaire de n’importe quel voie légale trouvée dans les termes du copyleft.
Le copyleft s'applique uniquement quand une personne veut redistribuer le programme. On est autorisé à faire des versions modifiées privées, sans aucune obligation de publier les modifications effectuées sur le programme s'il n'est distribué à personne (utilisateur des droits de redistribution sans limite).
4 Les licences LGPL
La LGPL est la Licence Publique Générale Limitée. Elle a de nombreux points communs avec la licence GPL. Notamment la publication du code source. Elle s’applique le plus souvent aux bibliothèques. La principale différence entre les licences LGPL et les licences GPL réside dans le fait que l’utilisation de librairies dynamiques sous licence LGPL permet de ne publier aucun code source.
En d’autres termes, si dans un projet une librairie statique (.lib) sous une licence LGPL est modifiée puis utilisée, uniquement le code source de la librairie doit être publié sous la licence LGPL.
A contrario, si dans un projet une librairie dynamique est utilisée, la publication du code source de la librairie n’est pas obligatoire.