Beaucoup d’acheteurs de logiciels – même les nouveaux développeurs – confondent souvent le terme “open source” avec la possibilité d’utiliser, copier, modifier et distribuer le logiciel à leur guise. Cette confusion peut découler de l’assimilation erronée de l’open source avec le domaine public ou le partagiciel, qui sont tous deux gratuits et libres d’utilisation et de modification sans autorisation ni licence spécifique.
La vérité est que, pour la plupart, les logiciels open source sont couverts par l’un des nombreux types de licences open source et ne sont pas nécessairement gratuits.
Contrairement aux logiciels propriétaires où les éditeurs rendent généralement impossible l’accès, la copie ou la modification du code source, le code open source permet l’utilisation, la réutilisation, le partage, la modification et la distribution du code dans d’autres programmes ou applications. Toutefois, tout comme pour les licences de logiciels propriétaires, les logiciels open source sont soumis à diverses conditions et restrictions légales, en fonction du type de licence open source en vigueur. Il est donc important de respecter les termes des licences de logiciels open source et de connaître les risques associés à leur utilisation.
Cet article décrit les différents types de licences open source et explique comment elles protègent à la fois les auteurs et les utilisateurs du logiciel en contrôlant les abus et les utilisations non autorisées du code open source.
Qu’est-ce qu’une licence Open Source ?
Les licences de logiciels open source régissent la manière dont d’autres personnes, en dehors de l’auteur, peuvent utiliser, modifier ou distribuer le code source. Elles accordent aux autres utilisateurs l’autorisation et les droits d’utiliser ou de réutiliser le code pour de nouvelles applications ou de l’inclure dans d’autres projets.
L’un des principaux avantages du code source ouvert est sa visibilité, ce qui facilite le dépannage des problèmes et la compréhension du fonctionnement d’un logiciel lorsque la documentation fait défaut ou est incorrecte.
Selon le type de licence open source, vous pouvez même être autorisé à modifier le code source original pour l’adapter à vos besoins ou corriger des problèmes que vous rencontrez. La licence déterminera si cela est possible et selon quelles conditions. Par exemple, vous pourriez être tenu de rendre toutes les modifications publiquement disponibles.
Quels sont les différents types de licences open source ?
Il existe plus de 80 variations de licences open source, mais elles se divisent généralement en deux catégories principales : copyleft et permissives :
Les licences copyleft sont des licences qui stipulent que le code dérivé du code source ouvert original hérite de ses termes de licence.
Les licences permissives sont des licences qui offrent une plus grande liberté de réutilisation, de modification et de distribution.
Licences Copyleft
Les licences copyleft open source les plus populaires, par ordre de restrictivité, sont l’AGPL, la GPL, la LGPL, l’EPL et Mozilla :
La GNU General Public License (GPL) préserve les notifications de licence et les termes de copyright et convient à une utilisation commerciale, brevetée et privée. Tout logiciel utilisant du code GPL doit distribuer tout son code source sous la même licence. Cela fait de la GPL une licence copyleft forte.
L’Affero GPL (AGPL) ajoute une seule clause, mais importante pour certains logiciels. Comme la licence GPL n’est déclenchée que lorsque le logiciel est distribué, il existe une faille pour les logiciels disponibles uniquement via un réseau, c’est-à-dire non explicitement “distribués”. La licence AGPL ferme cette faille en incluant une clause d’interaction réseau à distance qui déclenche la licence GPL pour tout logiciel utilisé via un réseau.
La Lesser General Public License (LGPL) offre le même niveau de conditions que les licences copyleft AGPL et GPL, notamment la préservation des droits d’auteur et des notifications de licence. La principale différence est que les petits projets ou objets accessibles via des œuvres sous licence plus importantes n’exigent pas la distribution du projet plus important. De plus, le code source modifié n’a pas besoin d’être distribué sous les mêmes conditions que celles applicables au code plus important.
L’Eclipse Public License (EPL) est couramment utilisée pour les logiciels professionnels. Avec l’EPL, les logiciels développés à l’aide de code EPL, non EPL ou même propriétaire peuvent être combinés et sous-licenciés à condition que les éléments non EPL résident indépendamment en tant que modules ou objets distincts. Les modifications peuvent être effectuées sous la licence EPL, mais elles doivent être publiées sous les mêmes termes.
La Mozilla Public License (MPL) est la licence de logiciel open source avec le moins de restrictions copyleft. Elle facilite la modification et l’utilisation du code dans des logiciels propriétaires, du moment que tout code sous licence MPL est conservé dans des fichiers distincts et que ces fichiers sont distribués avec le logiciel. La MPL inclut également des accords de brevets et impose la conservation des avis de copyright.
Licences Permissives
Les licences permissives open source les plus populaires sont Apache, MIT, BSD et Unlicense :
L’Apache License exige des notifications de licence et des droits d’auteur sur le code distribué et/ou sous forme de notification dans le logiciel. Cependant, les œuvres dérivées, les projets plus importants ou les modifications sont autorisés à avoir des conditions de licence différentes lorsqu’ils sont distribués et ne sont pas tenus de fournir le code source. Les licences Apache contiennent une cession de brevet.
La Licence MIT, qui porte le nom de la célèbre université d’où elle provient, est peut-être la licence de logiciel open source la plus utilisée au monde, probablement parce qu’elle est très courte, claire et facile à comprendre. Elle permet à quiconque de faire ce qu’il souhaite avec le code source original, à condition que les avis de droit d’auteur et de licence originaux soient inclus soit dans le code source ou le logiciel distribué. Elle exonère les auteurs de toute responsabilité et ne contient pas explicitement de cession de brevet.
La Licence Berkeley Source Distribution (BSD) est une autre licence permissive de logiciel open source qui préserve les notifications de licence et de droits d’auteur, mais permet la distribution de travaux plus importants ou sous licence sans code source et avec des conditions de licence différentes. La licence BSD à deux clauses est très similaire à la licence open source MIT, tandis que les licences BSD à trois et quatre clauses ajoutent davantage d’exigences ou de restrictions concernant la réutilisation et d’autres termes.
Unlicense : Comme son nom l’indique, il s’agit de la licence open source la moins restrictive, car elle équivaut à rendre le code source ouvert au domaine public. Aucune condition ne s’applique, ce qui signifie que ces travaux non licenciés peuvent être distribués sans code source et sous des termes différents.
Quelle est la meilleure licence Open Source ?
Le choix d’un type de licence open source dépend largement de l’intention du titulaire de la licence ou du développeur concernant l’utilisation du logiciel. Voici quelques considérations à prendre en compte lors de la comparaison des licences :
Il convient d’être prudent lors du choix d’une licence copyleft. Si la licence originale est très permissive, le code modifié est tout aussi non restreint, ce qui peut ne pas être à l’avantage de l’auteur.
Cela étant dit, les licences copyleft offrent généralement plus de restrictions – et peut-être moins de responsabilité – que les licences permissives.
Lorsque l’intention est de rendre le code aussi réutilisable et partageable que possible, une licence permissive est probablement le meilleur choix.
Si vous développez un logiciel utilisé via un réseau, il peut être très avantageux de choisir l’AGPL. Un exemple courant en est les bases de données open source : en ne les autorisant pas sous la licence AGPL, toute entreprise (comme un grand fournisseur de cloud) pourrait améliorer votre produit et le monétiser sans être obligée de distribuer leurs modifications.
Il existe deux principales versions de la licence GPL : GPLv2 et GPLv3. Il y a de nombreuses différences dans GPLv3, dont la plupart traitent de problèmes non couverts par GPLv2, tels que les brevets. GPLv3 améliore également la compatibilité avec d’autres licences open source telles que la licence Apache v2. Cependant, notez que les deux versions de la GPL ne sont pas compatibles entre elles.
Étant donné que les licences MIT sont si couramment utilisées, l’avantage est qu’elles sont bien reconnues et couramment comprises. Lorsqu’il s’agit d’utiliser un logiciel sous licence MIT, il n’y a aucune restriction en matière de redistribution ou de monétisation, ce qui les rend très attractives pour tous les types d’utilisation. Elle est également compatible avec de nombreuses autres licences open source, ce qui signifie que du code sous licence MIT peut être utilisé dans d’autres projets open source utilisant différentes licences.
Contrôle des licences Open Source
De nombreux développeurs, entreprises et éditeurs de logiciels commerciaux utilisent divers types de licences open source. Maintenir le contrôle de ces licences peut devenir de plus en plus complexe au fur et à mesure du développement, de l’achat et de la distribution des logiciels :
- Respect des droits d’auteur et des brevets
- Maintien des types de licences dérivées en fonction des licences de logiciels originaux
- Connaissance des dates d’entrée en vigueur et des exigences de renouvellement
Snyk offre une solution complète de conformité aux licences pour vous aider à maintenir un rythme de développement rapide tout en respectant les licences open source dans vos projets.
“Parce que l’outil Snyk identifie les problèmes de licence open source, il permet à nos développeurs de générer un rapport propre et utile qu’ils peuvent transmettre à l’équipe juridique, ce qui leur fait gagner des jours et des jours de travail.”
Scott Mitchell, Responsable de la sécurité des applications chez Blue Prism.