Guide de survie des aventures sur Internet

Les logiciels libres

Fiche n°2 du Guide de survie des aventures sur Internet

, par CECIL, LDH, ritimo , Sylvain Steer

Face aux grands éditeurs dits « propriétaires » (Microsoft, Apple, Adobe…), nombreuses sont celles et ceux qui ont fait l’effort de mettre au point des logiciels dits « libres » sur des fondements de partage de la connaissance et du respect des libertés. Ces logiciels garantissent l’usage de standards et de grandes libertés d’utilisation, d’étude, de redistribution et d’amélioration du programme. Cela permet notamment d’auditer le code et ainsi de limiter des possibilités malicieuses (portes dérobées, contrôle par un éditeur commercial…). En conséquence, la «  communauté  » exerce un fort contrôle sur ces logiciels. Dans une société où l’informatique est omniprésente, la maitrise de nos outils est un enjeu majeur. Les militant·es du logiciel libre participent à ce combat.

Les systèmes d’exploitation GNU/Linux, comme les navigateurs Firefox ou Palemoon 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 individus 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. Ce guide apporte son soutien à l’utilisation et au développement de logiciels libres, pierre angulaire du respect de nos libertés.

2.1 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 1990, les logiciels peuvent être protégés par des droits de propriété intellectuelle et le sont majoritairement. Ainsi, la majorité des éditeurs de logiciels proposent 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 (la recette) 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 l’utilisateur·ice de base que pour un·e développeur·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’utilisateur·ice doit donc faire aveuglément confiance à l’éditeur, qui seul peut analyser et vérifier le logiciel et qui a le pouvoir d’implémenter des fonctionnalités cachées pour servir ses propres intérêts ou ceux d’un programme de surveillance. À l’inverse, un logiciel mis sous licence «  libre  » s’engage à respecter quatre 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 voisinage ;
  • 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 de «  libre  », on fait ainsi référence aux libertés de ses utilisateur·ices, 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 quatre libertés telles que la licence GNU GPL, la licence française CeCILL (pour CEA CNRS INRIA logiciel libre) ou la licence 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, macOS 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.

2.2 Les avantages des logiciels libres

Le recyclage de fonctionnalités : les développeur·ses de logiciels libres peuvent s’appuyer sur du code fiable déjà développé et ainsi éviter de devoir tout reprendre de zéro. En empruntant des portions de code source à d’autres logiciels, iels gagnent du temps qui peut être consacré au développement de nouvelles fonctionnalités.

L’efficacité et la fiabilité : le code étant mis à disposition sur des «  plateformes de développement (de type Github, par exemple Framagit ou Codeberg, chacun·e 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, dans le but de maintenir leurs client·es capti·ves. À l’inverse, les logiciels libres favorisent 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 – stratégie visant à laisser une possibilité dissimulée de compromettre la sécurité du logiciel et de ses utilisateu·ices). Même pour l’individu inexpert, cette transparence est importante 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 offrent donc des possibilités 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 du logiciel sans celles-ci (voir l’exemple d’OpenOffice dont le code a été repris activement 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, dont la gestion est complexe et coûteuse. De plus en plus d’organisations 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.

A4 Deconne
Illustration : David Revoy, framasoft.org − CC-BY 4.0

2.3 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éveloppeur·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 utilisateur·ices par une surabondance de choix de logiciels presque équivalents. Fort heureusement, la plupart des plateformes de diffusion de logiciel libre offrent une sélection (c’est le cas de l’association Framasoft et des ressources en fin de guide). Cependant, la diversité est un véritable atout qui évite la sclérose des outils informatiques et aiguillonne l’innovation dans les logiciels.

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 coûts 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éveloppeur·ses libres indépendant·es.

2.4 Une implication nécessaire de tou·tes

Les logiciels libres sont mis à la disposition de tou·tes. Pour que ce modèle fonctionne bien, il requiert un minimum de solidarité. Ainsi, chaque développeur·se et organisation peut participer à l’amélioration du logiciel. De son côté, l’utilisateur·ice profane a la possibilité de participer en signalant les bogues (bug), en proposant des améliorations possibles, en réalisant de la documentation, des traductions ou en diffusant le logiciel. L’implication solidaire peut aussi se traduire sous forme de dons pour participer aux développements de logiciels qui bénéficieront à tou·tes. Les développeur·ses et les utilisateur·ices profanes et actif·ves, forment «   la communauté   » nécessaire à l’essor du logiciel correspondant. L’April, Framasoft, la Free Software Foundation 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, par exemple Root66 dans les Yvelines. 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 le Capitole du Libre à Toulouse ou les Journées du logiciel libre de Lyon ou l’Open Source Experience, qui se réunit annuellement à Paris.