[Fiche 02] Les logiciels libres

Les systèmes d’exploitation Gnu-Linux comme les navigateurs Firefox ou Midori présentés Fiche 1 sont tous des "logiciels libres". Ce choix est loin d’être anodin. Ces logiciels libres participent à garantir le contrôle des utilisat·rices sur leurs logiciels, leurs données et, par conséquent, leurs libertés. Ils sont un socle minimal pour que l’informatisation de la société puisse se faire dans le respect des personnes. Le CECIL apporte son soutien à l’utilisation et au développement de logiciels libres, pierre angulaire du respect de nos libertés.

Présentation générale

Un logiciel ou programme est une suite d’instructions destinées à être exécutées par un ordinateur. Depuis le milieu des années 90, les logiciels peuvent être protégés par des droits de propriétés intellectuelles et le sont majoritairement. Ainsi, la majorité des éditeurs de logiciels proposent-ils essentiellement des licences d’utilisation commerciales en échange d’une rémunération directe (un prix) ou indirecte (publicité, part de marché…). Surtout, ils conservent et protègent jalousement le code source de leurs logiciels. Ces instructions lisibles par l’humain sont traduites en langage binaire, qui lui est illisible par l'humain, mais est exécutable par la machine. C'est ce seul programme en binaire qui est transmis par les éditeurs propriétaires. Ce processus rend impossible, aussi bien pour une personne lambda que pour un·e développeu·se aguerri·e, d'accéder au fonctionnement exact du logiciel, ses fonctionnalités et encore moins de le modifier. Sans accès au code source, l’utilisat·rice doit donc faire aveuglément confiance à l’éditeur, qui seul peut analyser et vérifier le logiciel et a le pouvoir d’implémenter des fonctionnalités cachées qui serviraient ses propres intérêts ou ceux d’un programme de surveillance. À l’inverse, un logiciel mis sous licence "libre" s’engage à respecter 4 grandes libertés définies par la Free Software Foundation :

  • Liberté 0, d’exécuter le programme, pour tous les usages.
  • Liberté 1, d’étudier le fonctionnement du programme, et de l’adapter à ses besoins. Pour ceci l’accès au code source est une condition nécessaire.
  • Liberté 2, de redistribuer des copies, donc d’aider son voisin.
  • Liberté 3, d’améliorer le programme et de publier des améliorations, pour en faire profiter toute la communauté. Pour ceci l’accès au code source est une condition nécessaire.

Lorsque l’on qualifie un logiciel "libre", on fait ainsi référence aux libertés de ses utilisat·rices, et non pas au prix. Il reste fondamental de bien comprendre que "logiciel libre" ne signifie pas "non commercial" ; on trouve des logiciels libres gratuits, mais d’autres sont payants à cause d’un service supplémentaire fourni. Cette ambiguïté est plus prononcée en anglais ou le terme "free" a les deux significations. Cette liberté de maitriser le logiciel s’apparente à la notion de "liberté d’expression". Même sans intention de modifier ces logiciels libres, les utiliser permet de les soutenir et contribuer à leur diffusion et popularité en incitant d’autres à les améliorer. De plus, on peut diffuser le logiciel sans être coupable de contrefaçon. Ces logiciels sont de qualité et d’efficacité équivalente, parfois même supérieure, aux solutions propriétaires. Pour qu’un logiciel soit considéré comme libre, il doit être placé sous une licence garantissant les 4 libertés telles que la licence GNU-GPL, la licence française CECILL (pour CEa Cnrs Inria Logiciel Libre) ou la licence permissive MIT. C’est par exemple le cas de Firefox pour le navigateur Web, mais aussi de LibreOffice qui sert de parfait remplacement libre et gratuit à Microsoft Office (sur Windows, OS X et Gnu-Linux). On peut également citer Thunderbird comme outil de gestion des courriels, VLC pour la lecture de contenus multimédias, ou GIMP pour l’édition d’image.

Les avantages des logiciels libres :

  • Le recyclage de fonctionnalités : les développeu·ses de logiciels libres peuvent s’appuyer sur du code fiable déjà développé et ainsi éviter de devoir tout reprendre à zéro. En empruntant des portions de code source à d’autres logiciels, ils gagnent du temps qui peut être consacré au développement de nouvelles fonctionnalités.
  • L’efficacité et la fiabilité : le code étant mis à disposition de tous sur des "plateformes de développement" (type Github exemple Framagit, chacun peut participer selon ses compétences au développement du logiciel. Cela permet d’explorer des solutions techniques originales et adaptées à des besoins locaux. De plus, dès qu’un bogue ou une faille dans le code est détecté, des spécialistes peuvent intervenir rapidement pour proposer des correctifs et sécuriser le logiciel.
  • Le respect des standards : les sociétés commerciales abusent de normes qui leurs sont propres rendant impossible ou complexe la communication entre logiciels. À l’inverse, les logiciels libres garantissent l’interopérabilité entre logiciels en respectant les normes ou standards. C’est un engagement fort de la communauté du libre.
  • Une garantie pour la sécurité et les libertés : l’accès au code source permet que ces logiciels soient audités et de vérifier qu’il n’y a pas de dissimulation de fonctionnalités cachées ou de portes dérobées (backdoor). Même pour l’individu inexpert, cette transparence est une garantie en soi.
  • L’indépendance et la pérennité : les logiciels propriétaires sont tributaires de leurs éditeurs et si une entreprise qui développe un logiciel fait faillite, abandonne ou limite son développement, les travaux et modules dépendants de celui-ci peuvent devenir inutilisables ou obsolètes. Avec un logiciel libre, quiconque peut redémarrer un projet qui aurait été mis de côté et faire revivre le logiciel. Les logiciels libres sont donc une garantie de pérennité. De la même façon, si un éditeur décide d’introduire des fonctionnalités contestables ou d'abandonner le projet, une autre équipe de développement peut décider de repartir du code source précédent et de recréer un clone sans celles-ci (voir l’exemple d’OpenOffice dont le code a été repris, notamment, par LibreOffice). Cela offre une indépendance vis-à-vis de cet éditeur.
  • Un avantage économique : avoir recours à des logiciels libres évite d’acheter ou de renouveler des licences d’utilisation. De plus en plus d’administrations et d'associations font ce choix et consacrent ces économies à des services supplémentaires. Le logiciel libre a donc de grands avantages, il implique toutefois certains ajustements en raison de la diversité de ses pratiques.

Les inconvénients des logiciels libres :

  • Une offre dispersée : la multiplication de logiciels proches, basés sur du code similaire, est une garantie de diversité, mais peut diluer les efforts des développeu·ses. Des emprunts aux différents projets sont possibles, mais la coordination mondiale reste difficile. De la même façon, cette dispersion peut constituer un frein à la diffusion vers les utilisat·rices par une surabondance de choix de logiciels presque équivalents. Fort heureusement, la plupart des plateformes de diffusion de logiciel libre offrent un classement et une sélection c’est le cas de l’association Framasoft).
  • Des modèles économiques complexes : il est plus difficile d’obtenir une rémunération avec des logiciels libres qu’avec des logiciels propriétaires. La seule diffusion de logiciels libres n’étant pas payante, le modèle économique doit être pensé en amont pour amortir les couts de développements en offrant, par exemple, un service efficace rémunéré. L’engagement communautaire permet de compenser en grande partie cet inconvénient, mais il reste parfois difficile d’obtenir un financement stable et durable pour des développeu·ses libres indépendant·es.

Une implication nécessaire de tous

Les logiciels libres sont mis à la disposition de tous. Pour que ce modèle fonctionne bien, il requiert un minimum de solidarité. Ainsi, tout développeur peut participer à l’amélioration du logiciel. De son côté, l’utilisat·rice profane a la possibilité de participer en signalant les bogues (bug), en proposant des améliorations possibles, en réalisant des traductions de la documentation ou en diffusant le logiciel. L’implication solidaire des utilisat·rices peut aussi se traduire sous forme de dons pour participer aux développements de logiciels qui bénéficieront à tous. Les développeu·ses et les utilisat·rices profanes et actifs, forment "la communauté" nécessaire à l’essor du logiciel correspondant. L’April, Framasoft, la Free Software Fondation Europe et l’Aful sont les quatre principales associations de promotion du logiciel libre en France. Il en existe bien d’autres, dont beaucoup de locales. Il ne faut pas hésiter à se renseigner ou à les rejoindre ! On notera également qu’il existe de nombreux évènements liés à l’informatique libre. Des "fêtes d'installation" (install parties) visant à aider les particuliers à faire le grand saut et à installer une distribution Gnu-Linux sur leur ordinateur, mais également des évènements de grande importance comme l’Open World Summit, qui se réunit annuellement à Paris, le Capitole du Libre ou les Rencontres Mondiales du Logiciel Libre.

Pour aller plus loin :

En plus des sites des différentes organisations citées dans cette fiche : (la Free Software Foundation, l’April, Framasoft, la Free Software Fondation Europe, l’Aful, l’Open Source Initiative qui regorgent d’informations complémentaires sur le mouvement du libre, il est possible de consulter :

Fiche 2 [publiée le 2 avril 2015 dernière mise à jour avril 2018]