Licence CC BY-SA

Qu'est-ce qu'un logiciel libre ?

Pour enfin comprendre les notions de libre et d'open-source

Dernière mise à jour :
Auteur :
Catégorie :
Temps de lecture estimé : 9 minutes

Bien le bonjour !

Si vous êtes actifs sur internet, vous avez surement déjà entendus le terme de logiciel libre, sans forcément comprendre ce qu’il désignait. C’est le but de ce billet : comprendre le logiciel libre et les notions qui l’entourent. Celui-ci se veut simple d’accès, seules des notions de base en informatique vous seront nécessaires pour lire ce qui suit.

Ce billet était à la base destiné à être un article. Toutefois, je ne pouvais y inclure une section « Critique », manquant d’objectivité et d’idées. C’est pourquoi je le publie aujourd’hui sous la forme d’un billet, qui n’est donc pas neutre.

L'histoire du libre

Pour bien comprendre tout cela, nous devons retourner quelques dizaines d’années dans le passé. Nous sommes maintenant dans les années 80. Microsoft maintient MS-DOS et se prépare à sortir son prochain système d’exploitation : Windows 1.0, son premier OS (Operating System, soit Système d’Exploitation) a posséder une interface graphique (le premier historique étant Xerox sur son ordinateur Xerox Star dès les années 70, puis MacOS 1, le fameux OS de la firme Apple). Ah oui, parce qu’à l’époque, on avait pas encore des écrans couleurs full-HD avec des fenêtres semi-transparentes, tout se faisant en ligne de commandes !

La ligne de commande sous MS-DOS. Oui, c’est transcendant. Source.

Ainsi, pour créer un dossier nommée flemmedeclassertoutca, il fallait écrire MD C:\flemmedeclassertoutca. Et non, on ne pouvait pas simplement faire un clic droit et choisir Nouveau dossier. :euh:

Mais ça, c’était pour MS-DOS. Or, celui-ci avait déjà des concurrents à l’époque. L’un d’eux se nommait Unix (on peut aussi citer Xerox ou Apple). Ce nom ne vous est peut-être pas inconnu, il était à l’époque l’un des OS les plus utilisés pour les serveurs ou les systèmes avec des besoins particuliers, car tout le monde ne pouvait l’utiliser. D’une part, son usage était un peu plus complexe, et d’autre part le prix de ses licences était prohibitif pour des particuliers. Cela dit, il ne possédait pas non plus d’interface graphique. Pour créer un dossier du même nom, il fallait écrire mkdir /flemmedeclassertoutca.

À la même époque, au département de recherche en intelligences artificielles du MIT, un étudiant découvre l’éthique des hackers, une communauté de personnes qui ont en commun un gout de la découverte et de l’expérimentation. Hackers peut se traduire par bidouilleur, mais sans son côté péjoratif. Ce sont des gens curieux. Entre-eux, trois règles : le partage des connaissances, le refus de l’autorité et le perfectionnisme. Cet étudiant, c’est Richard Matthew Stallman (parfois appelé rms).

Portrait de Richard Stallman en 2014. Source.

Quelques années plus tard, il tente de régler un problème de bourrage avec une imprimante Xerox de son laboratoire, mais son pilote n’est disponible que sous forme de fichier binaire, impossible à modifier. Et personne ne veut lui confier les sources de ce pilote afin qu’il puisse le modifier. Il se rend alors compte que l’éthique du hacker, auquel il s’était particulièrement attaché, est entrain de disparaitre.

La naissance de GNU

Après cet échec, Richard Stallman est bien décidé à retrouver cette éthique du hacker qu’il a connu. Quelques mois plus tard, en septembre 1983, il publie sur un forum nommé Usenet un post où il déclare qu’il se lance dans la création de son propre système d’exploitation libre : GNU, acronyme récursif de GNU’s Not Unix.

Il faut savoir que les programmeurs adorent les acronymes récursifs. Ceux-ci consistent en des acronymes classiques, dont la première lettre est l’initiale de l’acronyme lui-même. Par exemple, le nom du moteur de recherche Bing signifie Bing Is Not Google.

Celui-ci a deux buts principaux :

  • ressembler à Unix, tant en fonctionnalités qu’en performances ;
  • respecter l’éthique du hacker, c’est à dire avoir ses sources librement accessibles et modifiables.

Durant le mois de Janvier 1984, il quitte même son travail au MIT pour se consacrer pleinement à ce projet. En 1985, il créé la Free Software Foundation (Fondation du Logiciel Libre), un organisme à but non lucratif, afin d’avoir une infrastructure légale pour le projet GNU et les logiciels libres en général.

En 1989, avec l’aide d’Eben Moglen, professeur de droit et avocat, il publie la première version de la licence GPL (GNU Public Licence), une licence permissive qui autorise n’importe qui à lire, modifier et partager un programme, aux seules conditions d’en citer l’auteur original et de publier le résultat sous la même licence. Celle-ci connaitra plus tard deux révisions, connues sous les noms de GPLv2 et GPLv3.

Le logo de la GPLv3. Source.

Parallèlement à la notion de logiciel libre nait celle du copyleft, un jeu de mot avec copyright (traduisibles respectivement par gauche d’auteur et droit d’auteur). Celui-ci désigne l’autorisation que donne d’emblée l’auteur d’un travail à tous ses usagers de le réutiliser ou de le modifier, tant que ce principe est préservé : il permet donc une continuité de la licence. La licence GPL possède une clause de copyleft, mais ce n’est pas le cas de toutes les licences libres. Par exemple, les licences BSD ou Apache sont des licences libres sans copyleft, car elles autorisent les utilisateurs à publier des versions non libres de leurs logiciels.

Par la suite, la FSF tente de développer un noyau pour son futur système, nommé Hurd. Toutefois, son développement s’avère être bien plus long et compliqué que prévu (pour vous faire une idée, il n’est toujours pas terminé aujourd’hui). Mais, en 1991, un nouveau noyau est créé par un étudiant finlandais nommé Linus Torvalds. Ce noyau étant inspiré d’Unix et de Minix (lui-même un clone d’Unix), Linus décide de le nommer en s’inspirant de son nom et de son origine, il choisit donc Linux. Afin d’étoffer rapidement et simplement la communauté de développeurs pour son noyau, Linus décide de la publier sous la licence GPL, fournissant par là même un noyau utilisable pour le projet GNU. Une fois fusionnés, le système d’exploitation GNU/Linux est né.

Quelques définitions

Quatre libertés

Le principe du logiciel libre repose sur quatre piliers principaux. Comme c’est l’usage en programmation, on les compte à partir de zéro. ;)

  • La liberté 0 permet à n’importe qui d’exécuter et d’utiliser le logiciel comme il l’entend.
  • La liberté 1 permet d’étudier et de comprendre le fonctionnement du logiciel, et de le modifier pour son usage personnel.
  • La liberté 2 permet de redistribuer des copies du logiciel librement (y compris de manière lucrative).
  • Enfin, la liberté 3 permet d’améliorer le programme, et de le redistribuer afin que tout le monde profite de ces améliorations.

Liberté, égalité, fraternité

Aussi, lorsque Richard Stallman présente le logiciel libre en France, il fait souvent une référence à la devise française. Vous ne manquerez pas de remarquer qu’il se permet une certaine franchise lors de ses conférences.

Je peux expliquer le logiciel libre en 3 mots : liberté, égalité, fraternité. C’est-à-dire les choses que Sarkozy détestait et quant à Hollande, nous allons voir. Liberté parce que ce sont les logiciels qui respectent la liberté de leurs utilisateurs, égalité parce que dans la communauté du logiciel libre, tous les utilisateurs sont égaux, personne n’a de pouvoir sur personne et fraternité parce que nous encourageons la coopération entre les utilisateurs.

Conférence de Richard Stallman en 2012.

Richard Stallman utilise aussi souvent les termes libre, privé et privateur. Selon ses définitions, un logiciel libre est un logiciel dont la licence respecte ces quatre libertés fondamentales. Un logiciel est dit privé s’il est une version améliorée d’un logiciel libre qui n’a pas été diffusée (la communauté ne peut donc pas en profiter). Enfin, un logiciel est dit privateur s’il ne respecte pas une ou plusieurs des quatre libertés listées ci-dessus.

Enfin, avec un programme il n’y a que 2 possibilités ou les utilisateurs ont le contrôle du programme ou le programme a le contrôle des utilisateurs. Le premier cas s’appelle le logiciel libre, parce que pour avoir en pratique le contrôle du programme les utilisateurs ont besoin de plusieurs libertés. […] Si les utilisateurs n’ont pas les 4 libertés essentielles, ils n’ont pas le contrôle effectif du programme et comme ça, c’est le programme qui a le contrôle des utilisateurs. Et nous appelons ce programme privateur parce qu’il prive de la liberté. Un programme privateur soumet ses utilisateurs et donc génère un système de pouvoir injuste, un système social pas éthique.

Même source que ci-dessus.

« Libre » vs « Open Source »

Sur internet, on voit souvent les termes libre et open source utilisés de manière interchangeable. Faites attention, ils ne sont pas forcément synonymes. Open source se traduit par sources ouvertes. C’est à dire qu’un logiciel open source a son code en accès libre afin que tout le monde puisse le modifier. Un logiciel libre est donc open source. Cependant, le terme open source n’inclut ni la liberté de redistribution, ni l’aspect philosophique du logiciel libre.

En effet, plus qu’une simple particularité technique, le libre est une philosophie, l’héritage de l’éthique du hacker. Créer un logiciel libre, c’est affirmer que ses utilisateurs sont libres et leur conférer par avance certains droits.

L’open source, quant à lui, a un but purement technique. Il vise à rendre le code source du logiciel accessible aux utilisateurs, que ce soit pour prouver l’absence de virus, pour des fins pédagogiques, pour que chacun puisse y apporter sa contribution ou pour d’autres raisons encore. Cela exclut donc l’aspect philosophique du logiciel libre.

L'état du libre aujourd'hui

Aujourd’hui, le domaine du logiciel libre s’est largement étoffé, et bien qu’ils soient encore surpassés par les logiciels propriétaires, de plus en plus de logiciels libres acquièrent une solide communauté. Tout d’abord, du côté des systèmes d’exploitation, on constate un grand foisonnement du côté de GNU/Linux, qui possède de très nombreuses distributions (bien que la plupart contiennent également certains logiciels propriétaires).

Sous GNU/Linux, une distribution est un ensemble de logiciels formant le système d’exploitation.En choisissant chacun d’entre eux, on peut personnaliser complètement l’OS pour avoir des bureaux ou des fonctionnalités différentes.


Mais il n’y a bien sur pas que des systèmes d’exploitation libres, les licences libres se retrouvent dans tous les domaines. Ainsi, la suite bureautique LibreOffice est publiée sous la licence LGPLv3 (un dérivé de la licence GPLv3), le lecteur de vidéos VLC ou le logiciel d’édition audio Audacity sont sous licence GPLv2. On peut aussi citer le logiciel de modélisation 3D Blender ou le logiciel de dessin vectoriel Inkscape. Enfin, le navigateur Firefox est lui aussi libre.


Conclusion

Merci de m’avoir lu ! Je tiens à remercier Kje, victor et entwanne pour leurs retours sur la version bêta de cet article, ainsi que Typhlos et Renault pour leurs retours post-publication.

Si vous souhaitez en lire d’avantage sur ce sujet, je vous recommande cet article sur l’art et les licences libres : Réflexions sur l’art libre et son avenir.

Aussi, si vous souhaitez en apprendre plus sur l’histoire de Richard Stallman, vous pouvez lire sa biographie, disponible en français sur framabook : Richard Stallman et la révolution du logiciel libre.

Licence

Cet article est publié sous la licence « Creative Commons By-SA 4.0 rezemika ». Son logo provient quant à lui de Wikimedia et est sous la licence « Creative Commons By-SA 3.0 Gregor Richards, inspiration by Harrison Metzger ». Les licences des autres images sont indiquées dans leurs sources, mais toutes sont sous publiées sous des licences libres.

Sources

8 commentaires

Concernant OpenSource vs Libre, c’est un paragraphe qui est faux. Le terme Open Source n’est pas à prendre au sens littéral, mais selon la définition de l’OSI qui est de souvenir sur 10 points.

Globalement, à quelques licences bizarres près (qui en plus d’être peu utilisées, les divergences portent sur des détails assez insignifiants), il n’y a pas vraiment de différences entre ce qui est considéré comme OpenSource par l’OSI et libre par la FSF.

Bref, ces termes sont dans les faits interchangeables. La principale différence éventuelle vient éventuellement de la manière d’aborder le sujet : comme un avantage compétitif ou comme une idéologie.

EDIT : et Firefox n’a normalement plus de code proprio depuis un moment. Si tu parles des éventuels DRM, c’est dans des plugins que cela se passe.

Édité par Renault

Amateur de Logiciel Libre et de la distribution GNU/Linux Fedora.

+2 -0

Concernant OpenSource vs Libre, c’est un paragraphe qui est faux. Le terme Open Source n’est pas à prendre au sens littéral, mais selon la définition de l’OSI qui est de souvenir sur 10 points.

En fait, je parles de la même opposition que celle que fait Richard Stallman. C’est à dire que le terme « Open Source » permet de ne pas prononcer le terme « Libre », ce qui évoque donc une vision différente du problème ("source" étant un terme technique, "libre" étant un terme philosophique).

EDIT : et Firefox n’a normalement plus de code proprio depuis un moment. Si tu parles des éventuels DRM, c’est dans des plugins que cela se passe.

Renault

Je pensais en effet à l’ajout du DRM ajouté il y a quelques temps pour la lecture des vidéos et à l’appli Pocket. Cela dit, je reconnais que je n’ai pas trouvé de source récente sur la question. En aurais-tu ? :)

"Les accidents dans un système doivent se produire, mais il n’est pas obligatoire qu’ils produisent pour vous et moi." Laurence Gonzales - Deep Survival

+0 -0

En fait, je parles de la même opposition que celle que fait Richard Stallman. C’est à dire que le terme « Open Source » permet de ne pas prononcer le terme « Libre », ce qui évoque donc une vision différente du problème ("source" étant un terme technique, "libre" étant un terme philosophique).

Cependant tu affirmes quand même qu’un logiciel opensource n’est pas forcément libre ce qui est plutôt mensonger car dans la quasi-totalité des cas connu, c’est vérifié.

Je pensais en effet à l’ajout du DRM ajouté il y a quelques temps pour la lecture des vidéos et à l’appli Pocket. Cela dit, je reconnais que je n’ai pas trouvé de source récente sur la question. En aurais-tu ? :)

Faut juste arrêter de prendre les trolls pour source et regarder le code par exemple. :D Je n’ai pas de source à avoir, mais en gros :

  • Pour Pocket, Firefox n’utilise Pocket qu’à travers son API. Mais tout le code côté Firefox concernant Pocket est libre. Tu n’as pas le contrôle au niveau du serveur, ce qui ne remet pas en question la liberté de Firefox. C’est partout pareil, par exemple Zeste de Savoir permet d’utiliser des API type Facebook pour se connecter, cela ne rend pas le projet Zeste de Savoir non libre pour autant.

  • Pour les DRMs c’est peu ou prou les mêmes astuces, il y a un blob propriétaire de Cisco qui est manipulé par un plugin de Firefox mais tout le code côté Firefox reste libre (dont le plugin qui touche au blob). C’est comme si tu disais que Firefox est pas libre car on peut y installer Flash (qui ne l’est pas). Et bien sûr cette section est supprimable.

Amateur de Logiciel Libre et de la distribution GNU/Linux Fedora.

+1 -0

Je vois, au temps pour moi donc.

Et bien sûr cette section est supprimable.

Tu parles de l’avant dernière (« Quelques définitions ») ?

Edit : j’ai fais quelques corrections sur la version brouillon. ;)

Édité par rezemika

"Les accidents dans un système doivent se produire, mais il n’est pas obligatoire qu’ils produisent pour vous et moi." Laurence Gonzales - Deep Survival

+0 -0
Staff

Salut,

Le diagramme expliquant la « généalogie » est quelque peu imprécis. Tu précises bien dans le texte que le noyau Linux est inspiré d’Unix et qu’il n’est donc pas un descendant de celui-ci, mais la flèche laisse penser le contraire. Par ailleurs, s’il est vrai que Mac OS X se base sur le code de FreeBSD, il aurait à mon sens été mieux de ne pas le placer juste en dessous des *BSD, comme s’il s’agissait d’une suite de ces projets.

Tu peux trouver un schéma un peu plus étoffé ici. ;)

+0 -0

Ce sont quelques points qui ont été discutés sur le sujet de la bêta de l’article.

J’ai d’ailleurs ma part de tort dans les paragraphes sur l’open source, que je prenais justement au sens littéral : un logiciel dont le code est accessible en lecture, sans forcément plus de possibilités.

Par ailleurs, s’il est vrai que Mac OS X se base sur le code de FreeBSD, il aurait à mon sens été mieux de ne pas le placer juste en dessous des *BSD, comme s’il s’agissait d’une suite de ces projets.

D’ailleurs c’est macOS maintenant. Précisions orthographique à part, macOS repose sur Darwin et non un BSD. En fait la fameuse histoire de pile BSD dans macOS vient du fait que macOS utilise Darwin comme noyau, surplombé d’une partie de noyau de BSD en espace utilisateur. Mis en aucun cas macOS est un BSD ou l’un de ses descendants. Il n’en exploite qu’une partie et ce n’est pas la plus critique.

Amateur de Logiciel Libre et de la distribution GNU/Linux Fedora.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte