Un logiciel libre est un logiciel dont l’utilisation, l’étude, la modification, la duplication et la diffusion sont universellement autorisées sans contrepartie. Par opposition, un logiciel est dit propriétaire lorsqu’il reste la propriété d’une seule personne qui n’autorise que limitativement les usages sur le logiciel. Dans ce cas, même s’il peut être gratuit, l’éditeur garde la maîtrise de son logiciel et du code source qu’il maintient secret.
- D’un point de vue technique : un logiciel est dit libre lorsqu’il est utilisable et modifiable sans limitation et qu’il est fourni avec toutes les informations utiles à cette fin (code source documenté et lisible, scripts d’installation, documentation, etc.).
- D’un point de vue juridique : il s’agit d’un logiciel pour lequel l’auteur entend partager son monopole afin de favoriser sa diffusion et sa réutilisation par d’autres. À cette fin, une licence libre ou open source accompagne le logiciel afin d’assurer aux détenteurs d’une copie du logiciel les droits de le copier, l’utiliser, le modifier et le distribuer.
La définition légale du logiciel libre
Le logiciel libre est défini, par le vocabulaire de l’informatique publié au Journal officiel en 2007, comme
« logiciel distribué avec l’intégralité de ses programmes-sources afin que l’ensemble des utilisateurs qui l’emploient puissent l’enrichir et le redistribuer à leur tour. Un logiciel libre n’est pas nécessairement gratuit et les droits de la chaîne des auteurs sont préservés »
(Vocabulaire de l’informatique, JORF n°93 du 20 avril 2007, p. 7078, texte n°84)
Selon le ministère de l’Education nationale de 1998,
« les logiciels libres sont des logiciels fournis avec leur code source, gratuits ou non, librement modifiables et redistribuables sous réserve de préserver cette propriété, dans des conditions définies précisément par leurs licences respectives »
(Réponse ministérielle n°08938 : JO Sénat, 26 novembre 1998)
L’article 16 de la loi du 7 octobre 2016 pour une République numérique fait référence au logiciel libre et prévoit que :
« les administrations mentionnées au premier alinéa de l’article L. 300-2 du code des relations entre le public et l’administration veillent à préserver la maîtrise, la pérennité et l’indépendance de leurs systèmes d’information. Elles encouragent l’utilisation des logiciels libres et des formats ouverts lors du développement, de l’achat ou de l’utilisation, de tout ou partie, de ces systèmes d’information. Elles encouragent la migration de l’ensemble des composants de ces systèmes d’information vers le protocole IPV6, sous réserve de leur compatibilité, à compter du 1er janvier 2018. »
Logiciel libre vs Logiciel propriétaire
Comme le logiciel propriétaire, le logiciel libre est protégé par le droit d’auteur et un utilisateur devra conclure un contrat de licence pour avoir le droit d’utiliser le logiciel sous certaines conditions. Sa particularité réside dans les droits étendus qui sont conférés aux utilisateurs et le fait que le code source du logiciel libre n’est pas maintenu secret comme pour le logiciel propriétaire.
Il ne faut, néanmoins, pas confondre le logiciel libre avec le « freeware » qui est un logiciel propriétaire distribué à titre gratuit, le « shareware » qui est un logiciel propriétaire gratuit pendant la période d’essai et le « freemium » qui est une stratégie commerciale alliant accès gratuit et services complémentaires payants.
Le logiciel libre n’est pas non plus à confondre avec un logiciel tombé dans le domaine public. Dans cette dernière hypothèse, le logiciel n’est plus protégé par le droit d’auteur car sa durée légale de protection, qui est de soixante-dix ans après la mort de l’auteur, a expiré.
Logiciel libre ≠ Freeware ≠ Shareware ≠ Freemium ≠ Domaine public
Ce sont les termes de la licence d’un logiciel et les prérogatives qu’elle accorde aux utilisateurs qui le rendent « libre » ou « propriétaire ». Le logiciel libre n’est donc pas un logiciel sans licence et le titulaire des droits d’auteur sur celui-ci reste libre de fixer les termes de la licence comme il l’entend. En revanche, l’utilisateur d’un logiciel libre n’est pas libre de l’utiliser comme il l’entend puisqu’il est lié par les termes de la licence qu’il doit respecter.
Il est enfin à noter que ce n’est pas la diffusion du code source qui rend le logiciel « libre » mais uniquement les termes inscrits dans la licence qui l’accompagne.
Licence libre vs Licence Open Source
Les notions de « licence libre » et de « licence open source » sont quasiment équivalentes mais proviennent de deux écoles de pensée différentes : la Free Software Foundation en ce qui concerne le logiciel libre et l’Open Source Initiative en ce qui concerne le logiciel open source, laquelle a été fondée suite à des conflits au sein de la communauté de la Free Software Foundation.
Quelle que soit la définition à laquelle l’on se réfère, un logiciel libre est un logiciel disponible sous forme de code source et librement distribuable et modifiable. La philosophie de la communauté du « libre » est par ailleurs toujours fondée sur le partage et l’échange des connaissances, l’idée sous-jacente étant que le logiciel fonctionne sur un modèle coopératif dans lequel chacun peut améliorer le logiciel et en faire profiter la communauté.
Un logiciel est considéré comme libre, au sens de la Free Software Foundation si les quatre libertés suivantes sont respectées :
- Liberté 0 : liberté d’exécuter le programme, pour tous les usages
- Liberté 1 : liberté d’étudier le fonctionnement du programme et de l’adapter à ses besoins
- Liberté 2 : liberté de redistribuer des copies du programme
- Liberté 3 : liberté d’améliorer le programme et de distribuer ces améliorations au public
Un logiciel est considéré comme open source, au sens de l’Open Source Initiative, s’il remplit les conditions suivantes :
- Permettre la libre distribution du logiciel
- Mettre à disposition le code source
- Permettre les dérivés des œuvres
- Respecter l’intégrité du code source
- Respecter la non-discrimination entre les groupes et les personnes
- Respecter la non-discrimination entre les domaines d’application
- La licence s’applique sans obligation d’obtenir une licence supplémentaire
- La licence ne doit pas être spécifique à un produit
- La licence d’un logiciel ne doit pas s’étendre à un autre
- La licence doit être neutre technologiquement
Contenu du contrat de licence libre
La licence libre, un contrat unilatéral
A ce titre, l’auteur d’un logiciel souhaitant le distribuer sous licence libre a la possibilité de choisir entre plusieurs types de contrat de licence libre, tels que la licence GNU/GPL mais n’est pas libre d’en modifier leur contenu comme en témoigne la première phrase de la General Public License (GNU) : « everyone is permitted to copy and distribute verbatim copies of this license document, but changing is not allowed ».
Si l’auteur le désire, il peut rédiger sa propre licence libre. Dans ce cas, il sort de l’esprit communautaire qui sous-tend le mouvement du libre et perd les garanties apportées par l’assimilation à un groupe bénéficiant d’une certaine notoriété.
L’obligation de mise à disposition du code source
L’obligation d’information et de mise en garde
L’auteur du logiciel qui ne serait pas exclusivement libre doit informer l’utilisateur que ce logiciel inclut des programmes sous licence libre et lui fournir le nom des licences libres utilisées.
En ce sens, dans une affaire rendue en 2009, la société Edu4 ne faisait pas mention dans la composition du produit livré de la présence du logiciel libre et avait intégré de manière caché, dans le logiciel Référence Symphonie, une version modifiée du logiciel VNC. La cour d’appel de Paris a jugé qu’il « résulte de l’ensemble de ces éléments que la société Edu4 a manqué à ses obligations contractuelles en livrant en décembre 2001, […] un produit, d’une part qui présentait pour les utilisateurs des BOF des risques d’atteinte à la vie privée, d’autre part qui ne satisfaisait pas aux termes de la licence GNU GPL » (CA Paris, 10e ch., 16 septembre 2009, Edu4 / AFPA).
L’absence d’exclusivité
Le contrat de licence d’un logiciel libre ne peut prévoir de clause d’exclusivité sans porter atteinte à l’objectif même de la licence libre. En effet, les logiciels distribués sous licence libre ne peuvent être accaparés par une seule personne mais doivent être partagés au sein de la communauté.
L’absence de garantie et l’exonération de responsabilité
Le texte de la GNU/GPL prévoit expressément que le titulaire des droits fournit le programme en l’état sans garantie d’aucune sorte. L’utilisateur assume seul le risque concernant la qualité et les performances du programme et dans le cas où le programme s’avérerait défectueux, les coûts de tous les services, réparations ou corrections nécessaires.
Le texte de la licence ajoute également que le titulaire des droits ou toute autre partie qui modifie et/ou transfère le programme ne peut être tenu pour responsable envers l’utilisateur pour les dommages (général, spécial, accidentel ou indirect) consécutifs à l’utilisation ou l’incapacité d’utiliser le programme et ce, même si le titulaire des droits ou tout autre partie a été informée de la possibilité de tels dommages.
Bien qu’aucune décision de justice française n’ait eu à se prononcer sur la validité de ces clauses, notamment au regard de l’article L132-1 du code de consommation qui considère comme abusives les clauses qui créent un déséquilibre significatif entre les droits et obligations des parties au contrat, le CNRS, le CEA et l’INRIA se sont réunis afin de publier, le 5 juillet 2004, la première licence libre conforme au droit français : la licence CeCILL.
Ainsi, le texte de la version 2.1 de la licence CeCILL dispose, au sein de son article 8 – « Responsabilité », que « le licencié a la faculté, sous réserve de prouver la faute du Concédant concerné, de solliciter la réparation du préjudice direct qu’il subirait du fait du Logiciel et dont il apportera la preuve ».
Pour conserver l’esprit du logiciel libre, l’article ajoute toutefois que « la responsabilité du Concédant est limitée aux engagements pris en application du Contrat et ne saurait être engagée en raison notamment […] des dommages directs ou indirects découlant de l’utilisation ou des performances du Logiciel subis par le Licencié plus généralement d’un quelconque dommage indirect ». La licence CeCILL limite donc la responsabilité du concédant mais ne l’exonère pas totalement.
Concernant les garanties, le « Concédant déclare de bonne foi être en droit de concéder l’ensemble des droits attachés au Logiciel » mais « le Concédant ne garantit pas, de manière expresse ou tacite, que le Logiciel ne porte pas atteinte à un quelconque droit de propriété intellectuelle d’un tiers portant sur un brevet, un logiciel ou sur tout autre droit de propriété ». La licence CeCILL ne va donc pas jusqu’à ajouter une garantie d’éviction au profit du licencié.
L’applicabilité automatique d’une nouvelle version
Droits conférés aux utilisateurs
Le droit d’utilisation
Les licences libres posent le principe d’une liberté d’utilisation du logiciel et de tout ou partie de son code source sans aucune restriction. Toute clause contraire à cette liberté transforme la licence libre en licence propriétaire.
Le droit d’étude du fonctionnement
Le code source d’un logiciel libre étant disponible, chaque utilisateur peut en étudier la structure et le fonctionnement.
Le droit de modification
La licence libre autorise la modification du code source par l’utilisateur et l’utilisation de ce dernier pour son propre usage. En conséquence, une licence qui interdit la modification du code source n’est pas une licence libre. La licence peut toutefois prévoir certaines limitations à ces modifications, notamment en cas de redistribution du logiciel.
Le droit de redistribution
L’utilisateur est libre de redistribuer le logiciel libre à des tiers. Cette redistribution peut avoir des conséquences différentes en fonction du caractère contaminant ou non de la licence.
Ainsi, une licence sous copyleft fort oblige le bénéficiaire de la licence, dans le cas d’une redistribution du logiciel, modifié ou non, à utiliser une licence identique.
La licence à copyleft fort / licence non permissive
Dans le cadre d’un copyleft fort, la même licence libre s’applique à toute redistribution du logiciel initial, modifié ou non, et s’étend également à la distribution d’une création à laquelle est intégré le logiciel initial (exemple : licences GNU/GPL et CeCILL).
L’objectif est d’empêcher l’appropriation du code sous licence libre dans un code propriétaire et d’imposer ce même régime à tout ce qui y est rattaché dans un même assemblage.
Ainsi, le texte de la licence GNU/GPL prévoit, dans son article 5 – « Transmission des versions sources modifiées », que l’utilisateur du logiciel libre « doit licencier la création entière, dans son ensemble, aux termes de cette Licence à toute personne qui entre en possession d’un exemplaire. Cette Licence s’appliquera en conséquence […] à la création dans son ensemble, et à tous ses éléments, indépendamment de la façon dont ils sont assemblés ».
En ce sens, il a été jugé que « le programme a la particularité de dépendre de la licence GNU qui permet une utilisation libre du logiciel mais requiert une licence si le travail basé sur le programme ne peut être identifié comme raisonnablement indépendant et doit être considéré comme dérivé du programme JATLite ». En l’espèce, les juges ont reproché au CNRS de ne pas avoir distribué le logiciel libre avec sa licence GNU/GPL alors que le logiciel propriétaire cédé comportait une brique de logiciel libre et ont donc sanctionné le CNRS pour non-respect des termes de la licence (TGI Paris, 3e ch., 28 mars 2007, Educaffix / CNRS).
La licence à copyleft faible / licence permissive
Dans le cadre d’un copyleft faible, la licence libre s’applique uniquement à la redistribution du logiciel initial et ne s’étend pas aux créations auxquelles il est intégré et qui peuvent être redistribuées sous d’autres licences libres, voire sous licences propriétaires.
La licence sans copyleft / licence évanescente
En l’absence de copyleft, la redistribution du logiciel initial ainsi que de ses versions modifiées est libre et peut se faire sous une autre licence, ce qui permet le développement d’un logiciel propriétaire à partir de composants libres (exemple : Apache, BSD).
Compatibilité des licences
La compatibilité se définit comme le fait pour le code distribué sous une licence donnée de pouvoir être intégré dans un logiciel qui sera distribué sous une autre licence.
L’incompatibilité résulte d’obligations contradictoires provenant des licences attachées à des codes destinés à être distribués ensemble.
Si les licences des différents composants d’une création prévoient des obligations compatibles, il n’y a pas de difficulté. Par contre, si les obligations de licences incompatibles entrent en conflit, l’exploitation du logiciel peut s’en trouver paralysée.
Il est donc important de s’assurer de la compatibilité des différentes licences libres intégrées dans un même produit en amont de son développement, au risque de voir son exploitation bloquée. En effet, si la licence attachée à des développements spécifiques peut être sélectionnée de façon discrétionnaire, cette liberté est fortement limitée lorsque ces développements sont distribués en combinaison avec d’autres composants libres, tous ayant leur usage conditionné au respect de leur licence.
Pour étudier la compatibilité des licences libres, il est primordial de poser le principe selon lequel la licence d’un logiciel ne peut pas conférer plus de droits et moins d’obligations que les licences de chacun des composants intégrés au logiciel.
La compatibilité supérieure
La compatibilité supérieure désigne la possibilité pour une licence libre d’être soumise ou de cohabiter avec une autre licence libre.
Dans ce cadre, une clause expresse dans le texte de la licence libre prévoit une compatibilité supérieure avec une ou plusieurs autres licences.
Ainsi, le texte de la licence CeCILL, dans son article 5.3.4 – « Compatibilité avec d’autres licences », prévoit que « le Licencié peut inclure un code soumis aux dispositions d’une des versions de la licence GNU GPL, GNU Affero GPL et/ou EUPL dans le Logiciel modifié ou non et distribuer l’ensemble sous les conditions de la même version de la licence GNU GPL, GNU Affero GPL et/ou EUPL ».
La compatibilité inférieure
La compatibilité inférieure désigne la possibilité pour une licence libre d’accueillir un composant logiciel soumis à une autre licence libre.
Le « multi-licensing» conjoint
Ce mécanisme consiste à diffuser le même logiciel sous plusieurs licences, généralement sous copyleft fort afin de contourner l’incompatibilité entre certaines licences. L’utilisateur pourra alors choisir la licence sous laquelle il souhaite bénéficier du logiciel. Lorsqu’une modification est effectuée sur le code source de ce logiciel, la modification est réputée avoir été faite sur l’ensemble des versions.