Libre, open source : comprendre…

Notion de logiciel libre

La notion de logiciel libre est décrite pour la première fois dans la première moitié des années 1980 par Richard Stallman qui l’a ensuite – avec d’autres – formalisée et popularisée avec le projet GNU et la Free Software Foundation (FSF).

Dans les années 1980, qu’un programmeur de système d’exploitation au Massachusetts Institute of Technology (MIT), un certain Richard Stallman, commence à constater des restrictions des possibilités d’utilisation. Il se trouve face au problème éthique de devoir développer des logiciels dont l’utilisation sera restreinte, qui ne pourront pas être partagés en raison des droits du propriétaire du logiciel (souvent distinct du créateur).

Stallman commença à constater ces restrictions en présence de programmes sur lesquels il ne pouvait intervenir, un pilote d’imprimante notamment. Robert Sproull aurait refusé de lui fournir le code source en raison d’un contrat de non divulgation que Xerox avait passé avec lui, pratique encore peu courante à l’époque.

Bien qu’anecdotique, cette petite histoire est souvent prise comme étant le point de départ de l’informatique libre, puisque c’est à partir de là semble-t-il que ce Richard Stallman consacrera son énergie à résoudre ce problème de conscience, ce qui fera de lui le premier et le plus emblématique des ambassadeurs du logiciel libre.

Sous l’impulsion de Richard M. Stallman, la Free Software Foundation a établi dès 1985 une définition du logiciel libre qui a convergé autour de quatre libertés garanties à l’utilisateur :

  1. la liberté d’exécuter le programme, sans restriction et pour n’importe quel usage (liberté 0) ;
  2. la liberté d’étudier le fonctionnement du programme et de le modifier pour qu’il effectue des tâches informatiques comme souhaité (liberté 1); l’accès au code source en est une condition nécessaire ;
  3. la liberté de redistribuer des copies, donc d’aider son prochain (liberté 2) ;
  4. la liberté de distribuer aux autres des copies des versions modifiées (liberté 3) ; ce faisant, on donne à toute la communauté la possibilité de profiter des changements apportés ; l’accès au code source en est une condition nécessaire.

Naissance de l'open source

En 1998, Bruce Perens et Eric S. Raymond fondèrent l’Open Source Initiative (OSI) pour faciliter l’adoption du logiciel libre dans un plus grand nombre de contextes, en lui appliquant un rebranding pour lever l’ambiguïté du terme free en anglais, qui peut signifer à la fois «gratuit» et «libre», et pour mettre l’accent sur les aspects techniques afin de s’adapter à des contextes où la portée militante pouvait constituer un frein à l’adoption des solutions. L’OSI a alors proposé une définition de l’open source basée sur dix critères, déclinant les quatre libertés formulées par la FSF.

Cette approche se traduit dans l’Open Source Definition :

  • Liberté de redistribution (gratuite, commerciale, etc.) ;
  • Fourniture du code source ;
  • Possibilité de créer des œuvres dérivées et de les diffuser sous des conditions identiques ;
  • Respect de l’intégrité du code source de l’auteur – la licence peut restreindre la redistribution d’œuvres dérivées à condition d’autoriser la distribution de fichiers «rustines» (patches) applicables au programme lors de son installation ;
  • Pas de discrimination à l’encontre de personnes ou de groupes de personnes ;
  • Pas de discrimination contre un champ d’application particulier ;
  • Critère de la distribution – la licence est applicable dès lors qu’il y a distribution (afin d’éviter des restrictions additionnelles non prévues par la licence) ;
  • La licence ne doit pas être spécifique à un produit donné ;
  • La licence ne doit pas imposer de restrictions sur les logiciels distribués avec le logiciel licencié ;
  • Neutralité technologique – la licence ne doit dépendre d’aucune technologie particulière.

Il existe bien quelques licences qui correspondent à la définition de l’OSI sans répondre à celle de la FSF, mais elles restent marginales. Dans la pratique, lorsqu’il y a une opposition entre les termes, elle est davantage utilisée pour marquer une différence d’approche philosophique qu’une distinction juridique.

Les deux concepts sont considérés comme équivalents et sont souvent regroupés au sein du terme FOSS (Free and Open Source Software) ou FLOSS (Free/Libre and Open Source Software).