Logiciels libres
Je parle beaucoup de logiciels libres sur ce site et dans la vie en général. J'ai donc créé cette page pour expliquer ce que c'est, et pourquoi ça me tient à coeur.
Un logiciel libre, c'est quoi?
Contrairement à une certaine croyance populaire, « logiciel libre » n'est pas synonyme de « logiciel gratuit », même si les logiciels libres sont souvent gratuits. En anglais, on utilise le terme free software, et on précise qu'on utilise le mot free comme dans free speech (« liberté d'expression ») et non pas comme dans free beer (« bière gratuite »).
Un logiciel libre est un logiciel qui garantit quatre libertés fondamentales aux personnes qui l'utilisent:
- La liberté de faire fonctionner le programme comme vous voulez, pour n'importe quel usage.
- La liberté d'étudier le fonctionnement du programme, et de le modifier pour qu'il effectue vos tâches informatiques comme vous le souhaitez.
- La liberté de redistribuer des copies du logiciel, donc d'aider les autres.
- La liberté de distribuer aux autres des copies de vos versions modifiées.
Disponibilité du code source
Pour bien comprendre ce qu'impliquent les libertés 1 et 3, il faut d'abord maîtriser les concepts de code source et de compilation.
Lorsqu'un programmeur ou une programmeuse crée un programme informatique, il ou elle écrit du code dans un langage de programmation. Ces langages sont conçus pour être compréhensibles par des êtres humains, et ne sont pas directement compréhensibles par des ordinateurs. Pour qu'un logiciel soit utilisable, il faut donc le compiler, c'est-à-dire le convertir dans un langage pouvant être interprété par une machine, mais pas par un être humain. Lorsqu'on utilise un logiciel, on utilise sa version compilée. La version écrite dans un langage compréhensible par des humains, pour sa part, est ce qu'on appelle le code source du programme.
Or, pour être en mesure d'étudier le fonctionnement d'un programme, voire de le modifier, il faut avoir accès à son code source. Un logiciel libre est donc d'abord un logiciel dont le code source est disponible. C'est comme si on vous vendait un gâteau et qu'on vous fournissait la recette en même temps.
Lorsqu'un logiciel n'est pas libre, on dit qu'il s'agit d'un logiciel propriétaire.
Quel est l'intérêt pour les personnes qui ne savent pas programmer?
Si vous n'avez pas la capacité de lire le code source d'un programme, et encore moins de le modifier, vous vous demandez peut-être pourquoi les libertés d'étudier et de modifier le fonctionnement interne d'un programme devraient vous importer. Il faut savoir qu'il y a une dimension collective au mouvement du logiciel libre: vous n'êtes peut-être pas capable, personnellement, de lire le code source d'un programme, mais d'autres personnes parmi ses utilisateurs en sont capables.
Pour dire les choses simplement, il n'est pas rare qu'un logiciel propriétaire cache des fonctionnalités malveillantes — des fonctionnalités, par exemple, qui briment la vie privée de l'utilisateur, ou qui utilisent l'ordinateur de l'utilisateur à des fins pour lesquelles il est fort probablement en désaccord, telles que le minage de cryptomonnaies au bénéfice des éditeurs du logiciel. Or, bien qu'un logiciel libre pourrait théoriquement aussi adopter un comportement malveillant, il serait impossible pour ses auteurs de cacher ce comportement, et ce ne serait qu'une question de temps avant que quelqu'un le découvre en étudiant le code source du programme et le fasse savoir à la communauté. Des programmeurs motivés pourraient même créer une nouvelle version du logiciel, dont les fonctionnalités jugées malveillantes auraient été retirées.
C'est pour cette raison qu'on dit qu'avec un logiciel propriétaire, le logiciel contrôle les utilisateurs, tandis qu'avec un logiciel libre, ce sont les utilisateurs qui contrôlent le logiciel — et ce contrôle n'est pas seulement individuel, mais aussi collectif. Avez-vous déjà vécu la frustration de voir qu'une application que vous aimez a été abandonnée par ses développeurs? Avec un logiciel propriétaire, rien ne peut être fait lorsque cela se produit. Dans le cas d'un logiciel libre, cependant, il est possible, si le logiciel est encore utile à un nombre suffisant d'utilisateurs, qu'une communauté se rassemble autour d'un projet visant à le maintenir en vie.
Exemples de logiciels libres
Voici quelques exemples de logiciels libres que vous connaissez peut-être:
- Firefox est un navigateur Web libre
- LibreOffice est une alternative libre aux suites bureautiques propriétaires telles que Microsoft Office
- VLC est un lecteur libre de fichiers audio et vidéo
- 7-Zip est un logiciel libre de compression et d'archivage de fichiers
- GIMP est une alternative libre à Photoshop
- Jitsi est une application libre de vidéoconférence et de messagerie instantanée, pouvant par exemple être utilisée à la place de Zoom
- WordPress est un système de gestion de contenu libre propulsant plus de 30% de tous les sites Web
- Android est libre à sa base (mais les versions pré-installées sur les téléphones contiennent des logiciels qui ne le sont pas)
- Linux (ou GNU/Linux pour les puristes) est une famille de systèmes d'exploitation libres (qu'on appelle « distributions Linux » ou « distributions GNU/Linux ») qui peuvent être installés sur un ordinateur à la place de Windows
Comment les éditeurs de logiciels libres font-ils de l'argent?
Encore une fois, « libre » ne veut pas dire « gratuit ». Il est vrai que les logiciels libres destinés aux particuliers sont souvent gratuits — c'est aussi le cas de nombreux logiciels non-libres destinés aux particuliers, en passant — et le développement de ces exemples spécifiques de logiciels libres est souvent piloté par des bénévoles ou des OSBL. Dans le monde des logiciels destinés entièrement ou partiellement aux entreprises, cependant, il existe bel et bien de nombreux logiciels libres qui sont tout à fait profitables. Tout est une question de modèle d'affaires: une entreprise éditant un logiciel libre devant être déployé sur un serveur, par exemple, peut aussi vendre des services « cloud » permettant d'utiliser son logiciel sans devoir procéder soi-même à son déploiement. C'est le cas de Bitwarden, un gestionnaire de mots de passe libre compétiteur de services propriétaires tels que LastPass et 1Password.
Au moins, avec les logiciels libres, le modèle d'affaires se doit d'être clair. Ce n'est pas toujours le cas avec les logiciels gratuits qui ne sont pas libres: avec de tels logiciels, on dit souvent que si c'est gratuit, c'est que vous êtes le produit.
Libre ou Open Source?
Les termes « Logiciel libre » et « Logiciel Open Source » sont parfois utilisés comme des synonymes, et pourraient à toutes fins pratiques être considérés comme tels. Cela dit, il y a des différences philosophiques importantes entre le mouvement du logiciel libre et celui de l'Open Source. Les deux mouvements ont leur organisation respective, soit la Free Software Foundation (FSF) et l'Open Source Initiative (OSI). Pour la FSF, l'intérêt des logiciels libres est la liberté, et tous les logiciels non-libres sont considérés non-éthiques, car ceux-ci « contrôlent » les utilisateurs alors que ce sont les utilisateurs qui devraient contrôler les logiciels. Du côté de l'OSI, on fait la promotion du modèle open source pour ses avantages techniques, sans position morale condamnant l'existence de logiciels propriétaires.
De nos jours, la plupart des éditeurs de logiciels utilisent des paquetages logiciels qui sont considérés libres et/ou open source, et il n'est pas rare de voir de telles entreprises publier des paquetages logiciels avec leur code source même si leurs principaux produits sont propriétaires — c'est pour cette raison que le monde de l'entreprise préfère largement utiliser le terme « Open Source » plutôt que « Logiciel libre ».
On trouve également les termes « FOSS » (Free and Open Source Software) et « FLOSS » (Free/Libre and Open Source Software) qui visent à désigner les logiciels libres et open source, sans prendre parti pour l'un ou l'autre des deux mouvements.
Où je me situe
Je crois aux valeurs de liberté portées par le mouvement du logiciel libre, et je préfère utiliser des logiciels libres autant que possible. Cela dit, j'utilise tout de même quelques logiciels propriétaires en l'absence d'alternatives libres ou lorsque celles qui existent sont trop malcommodes. Autrement dit, j'adhère en théorie aux propos des puristes du logiciel libre, mais je ne suis pas un d'eux en pratique, puisque ceux-ci vous diraient que la commodité ne doit jamais passer avant la liberté. Tout ceci étant dit, au moins 90% des applications que j'utilise dans ma vie de tous les jours sont libres.
J'utilise parfois le terme « open source », particulièrement en anglais lorsque le contexte fait que le mot « free » est ambigu. En français, j'utilise majoritairement « logiciel libre ». Je considère qu'en fin de compte, que l'on ait rejoint le mouvement du logiciel libre pour ses principes éthiques, qu'on aime les logiciels « Open Source » pour leurs avantages pratiques, ou que l'on adhère aux deux causes, nous faisons tous et toutes partie d'une vaste communauté de personnes qui apprécient les logiciels dont le code source est disponible, qui peuvent être utilisés librement, et qui peuvent être modifiés et redistribués par quiconque.