Derrière l’inquiétante faille Log4Shell qui fait trembler l’internet, une question plus philosophique se pose : comment financer le logiciel libre pour éviter ce genre de problème ?

Une faille informatique d’ampleur touche, en cette fin d’anée 2021, de très nombreux ordinateurs à travers le monde. Log4J, de son petit nom, est une bibliothèque Java extrêmement répandue et qui souffre actuellement d’une faille (surnommé Log4Shell) permettant d’exécuter du code à distance sur une machine.

L’étendue de ce problème n’est pas entièrement connue, mais l’on sait que la faille touche aussi bien des serveurs Amazon, des iPhone et même des voitures Tesla. Comment une faille de cette ampleur a-t-elle pu se glisser dans tant d’ordinateurs, tant de logiciels professionnels et tant d’objets du quotidien ? Car l’économie du web est bancale.

Qui est derrière Log4J ?

Pour bien comprendre pourquoi cette faille révèle une des faiblesses techniques du web, il est nécessaire de comprendre qui est derrière son développement. Si cette bibliothèque, qui permet de créer des logs (des journaux d’erreurs), est utilisée par un très grand nombre de programmes écrits en Java, elle n’est pas développée directement par Oracle, l’entreprise derrière le langage Java.

Derrière ce bout de code se cache la fondation Apache, une organisation à but non lucratif qui édite entre autres l’Apache HTTP Server, un logiciel pour créer des serveurs web. Si le nom « fondation » donne un air très officiel à cette structure, en réalité elle se contente de fédérer des équipes qui travaillent sur des projets open source aux 4 coins du monde. Son rôle est surtout de chapeauter les différents projets des développeurs et développeuses, de protéger juridiquement les logiciels libres qu’elle encadre et de fournir des infrastructures pour faciliter les échanges entre la communauté.

Le logo de la fondation Apache // Source : Fondation Apache
Le logo de la fondation Apache // Source : Fondation Apache

Au sein de cette fondation, on trouve le projet Apache Logging Services qui, comme son nom l’indique bien, édite une dizaine de logiciels de log pour différents programmes. C’est au sein de ce projet en particulier qu’on retrouve, entre autres, le fameux logiciel Log4J.

Le problème du financement du logiciel libre

Point de grandes entreprises derrière cette petite brique de code indispensable à une grande partie du web, donc. Log4J est en réalité développé et maintenu à flot par une poignée de développeurs bénévole. Sur la page Github du projet, on peut voir que le gros du développement est assuré par 4-5 personnes. Disons le plus simplement : l’un des bouts de code les plus utilisés sur l’Internet mondial est maintenu à jour par autant de développeurs que l’on a de doigt sur une main. Et bénévolement, en plus de ça.

Ralph Goers, le développeur qui a mis en ligne un correctif pour la faille en question, explique travailler sur Log4J « pendant son temps libre ». Comme Filippo Valsorda, un des ingénieurs de chez Google, l’a remarqué sur Twitter, jusqu’au 10 décembre 2021, 3 personnes soutenaient financièrement le travail de Ralph Goer, pour un total dépassant probablement à peine la centaine d’euros de revenus. En France, le salaire médian d’un développeur est autour de 3 750 euros bruts par mois.

L’affaire parait stupéfiante, mais elle est tristement commune dans le monde du logiciel libre. Comme le fait remarquer Filippo Valsorda, il y a quelques semaines, le gouvernement américain avait alerté de la présence d’une autre faille dans un logiciel open-source très utilisé, mais complètement laissé aux mains de développeurs bénévoles. La terrible faille Heartbleed, qui a fait trembler le web en 2014, est venue d’un projet maintenu « par deux types appelés Steve », rappelait ironiquement Buzzfeed à l’époque. Ces pratiques sont tellement répandues que le célèbre blog BD XKCD en a même fait une blague tristement d’actualité.

« Toute l'infrastructure numérique moderne » / « Un projet qu'une personne inconnue maitient généreusement à jour depuis 2003 » // Source : XKCD - CC BY-NC 2.5
« Toute l’infrastructure numérique moderne » / « Un projet qu’une personne inconnue maintient généreusement à jour depuis 2003 » // Source : XKCD – CC BY-NC 2.5

Pourquoi en est-on arrivé là ?

Utiliser des briques de code open-source est plutôt confortable pour une entreprise. Ces logiciels sont largement distribués, souvent gratuits et en plus, ils s’installent en 3 clics. Ensuite, plus vraiment besoin d’y penser. C’est économique et pratique pour une entreprise qui a besoin de construire des infrastructures complexes.

Comme le note Nadim Kobeissi, un développeur franco-libanais derrière l’application Cryptocat (entre autres), quand la dépendance à ces projets open source devient trop importante, beaucoup d’entreprises préfèrent développer leur propre solution en interne. Plutôt que de maintenir un projet open source à flot, qui pourra avantager vos concurrents, il est bien plus rentable et stratégique de développer sa propre solution dans son coin et de laisser les autres se débrouiller avec les problèmes du développement open source sous-payé.

Même si les entreprises le voulaient, il n’est pas toujours aisé de lier des contrats de support avec des développeurs et des développeuses bénévoles qui font ça pendant leur temps libre. Certaines entreprises, comme Red Hat, ont bâti leur empire sur le développement de logiciels open source, mais cela n’est pas forcément à la portée du ou de la première développeuse venue. Les entreprises rechignent d’ailleurs souvent à investir, même quand le projet est géré par une structure « officielle ». Jean-Baptise Kempf, président de l’association VideoLAN (qui édite VLC), explique sur HackerNews que « demander de l’argent à ces entreprises, même si leur business entier en dépend, est un véritable chemin de croix. »

Résultat, des pans entiers du web se reposent sur des logiciels open source sous-financés, maintenus par des équipes en sous-effectif. Entendons nous, même des grosses équipes peuvent laisser passer des bugs dans certains programmes, mais mettre plus de moyens — et donc potentiellement plus de paires d’yeux — sur un bout de code, permet de minimiser les risques. Pour cela il faudrait que les grandes entreprises encouragent le développement open-source et donnent à certaines structures comme la fondation Apache ou la fondation Linux. Sinon, Log4Shell ne sera sûrement pas la dernière faille critique que l’on découvrira. Au pire, il y aura toujours les mèmes.

Nouveauté : Découvrez

La meilleure expérience de Numerama, sans publicité,
+ riche, + zen, + exclusive.

Découvrez Numerama+

Abonnez-vous gratuitement à Artificielles, notre newsletter sur l’IA, conçue par des IA, vérifiée par Numerama !