C'est quoi une licence Open Source
Les licences open source définissent la manière dont un logiciel peut être utilisé, modifié et distribué. Elle fixe des conditions et règles d'usage, ce qui permet de fixer un cadre juridique et de protéger les créateurs. Contrairement aux logiciels propriétaires qui verrouillent bien souvent l'accès au code source. Les logiciels open source rendent le code accessible librement. Cependant, pour protéger leurs créateurs, ainsi que leurs utilisateurs, un certain nombre de licences de distribution existent. Ce sont ces licences qui fixe les conditions légales de distribution et d'utilisation d'un logiciel libre.
Les licences définissent par exemple les points suivants :
- Les droits de distributions
- Les droits de réutilisation et modification du code source
- Les droits d'utilisations du logiciel
Il existe deux catégories de licences open source qui sont les copyleft et les permissives. Nous allons voir dans les deux prochaines parties leurs différences et des exemples de licences.
Les licences copyleft
La première catégorie de licence sont les licences copyleft. Ce type de licence on le principe suivant, le code dérivé d'un projet open source doit être redistribué sous la même licence. On retrouve parmi cette catégorie des licences comme GPL, AGPL, LGPL ou encore MPL.
Licence public générale GNU (GPL) : Permet la liberté d'exécuter le logiciel pour d'autres usages. On peut modifier le code, redistribuer des copies et publier des versions modifiées. Cependant, si une personne distribue une version modifiée, il doit là distribuer sous la même licence. L'objectif de cette licence est de garantir que les logiciels sous cette licence restent libres et ouverts. La licence GPL est actuellement à sa version 3 qui est aujourd'hui la plus utilisée.
Affero GPL (AGPL) : Dérivé de la licence GPL, elle permet d'obliger les personnes utilisant un logiciel sous cette licence à publié toutes les modifications apporté. Elle va encore plus loin que la licence GPL, car l'utilisation d'un logiciel sous cette licence, notamment pour une application Web doit être publiée.
Licence publique générale limitée (LGPL) : Elle est moins restrictive que GPL. Elle permet d'utiliser un logiciel sous cette licence et de pouvoir s'affranchir de la licence LGPL. Elle permet par exemple à un développeur de logiciel propriétaire d'utiliser des bibliothèques sous des licences LGPL.
Mozilla Public Licence (MPL) : Le compromis entre copyleft et permissives. Elle permet de combiner du code sous licence MPL avec du code propriétaire. Cependant, la modification de code sous licence MPL doit être publiée, mais les briques propriétaires ne sont pas obligatoirement publiées.
Les licences permissives
Les licences permissives offrent plus de flexibilité que les licences copyleft. Un projet sous ce type de licence peut-être réutilisé, modifié et redistribuer comme on le souhaite.
Licences MIT : Cette licence est très permissive. Elle offre la possibilité aux utilisateurs de faire pratiquement ce qu'ils veulent. La seule contrainte est de conserver les copyright d'origine. Simple à comprendre, car elle est très courte. Elle permet entre autres l'utilisation du logiciel dans un projet propriétaire qui peut être vendu par la suite.
Licence Apache : Un peu comme la MIT, elle ajoute des clauses supplémentaires pour protéger les contributeurs. Elle ajoute une notion de brevet pour protéger les contributeurs contre les poursuites. Toute modification apportée au code d'origine, doit être indiquée.
Berkeley Source Distribution (BSD) : Peu de restriction. Elle est compatible avec les logiciels propriétaires. Cependant, les noms des contributeurs ne doivent pas être utilisés pour promouvoir des dérivés sans autorisation.
Unlicence (sans licence) : Aucune restriction, elle revient à rendre notre code public et réutilisable par tous comme il le souhaite.
Conclusion : Quelle licence choisir ?
Nous venons dans cet article de faire un tour des licences open source, mais une question reste en suspens, quelle licence utiliser pour son projet. Je vais pour finir vous donner des exemples de licences à utiliser pour différents projets.
Côté simplicité d'usage la licence MIT reste la meilleure, elle est courte, claire et très rependue. Si vous voulez créer un logiciel qui puisse être adopté et réutiliser par tous avec une grande communauté. Cette licence est idéale pour l'adoption massive de votre projet.
Pour un usage par une entreprise, la licence Apache 2.0 est un très bon choix, car elle inclut une protection juridique supplémentaire concernant les brevets.
Si vous souhaitez garantir que votre logiciel et ses dérivés reste open source, la licence GPL ou AGPL sont les plus adaptées. Elle vous garantit que personne ne pourra verrouiller votre code pour son propre profit.
Cependant, il est important de garder à l'esprit que l'open source, ne rime pas forcément avec gratuit. On peut très bien développer un logiciel open source et le vendre. Cependant comme le code est accessible à tous, le modèle économique repose plus sur des offres d'hébergement et du support.