blackcrypt
TECH2026-09-24

Qu'est-ce que l'open source, et pourquoi un code visible par tous peut être plus sûr

Lire la version audio

Bitwarden, Signal, KeePassXC, VeraCrypt, Tails : la plupart des logiciels présentés dans la catégorie Logiciels de ce site ont en commun d'être open source, et c'est presque toujours présenté comme un avantage. L'expression revient si souvent qu'elle mérite d'être expliquée pour elle-même, avec ce qu'elle garantit réellement et ce qu'elle laisse de côté.

Le code source, la recette d'un logiciel

Un logiciel est d'abord écrit par des humains, dans un langage de programmation lisible : c'est le code source, l'équivalent d'une recette détaillée, avec ses instructions, ses choix et souvent des commentaires qui les expliquent. Pour que l'ordinateur puisse l'exécuter, ce code est ensuite transformé (compilé) en un programme binaire, une longue suite d'instructions machine pratiquement illisible pour un humain.

Un logiciel propriétaire ne distribue que le programme compilé, illisible, qu'il faut croire sur parole ; un logiciel open source publie aussi son code source, que n'importe qui peut lire, vérifier, modifier et reprendre

Un logiciel propriétaire ne distribue que ce programme compilé : on peut l'utiliser, mais pas voir comment il fonctionne réellement à l'intérieur. Un logiciel open source publie en plus son code source, accompagné d'une licence qui autorise explicitement n'importe qui à le lire, à le modifier et à redistribuer ses propres versions.

Les licences, ce qui fait réellement l'open source

Publier son code ne suffit pas à être open source : c'est la licence qui compte. Deux grandes familles coexistent :

Un code simplement visible, mais dont la licence interdit de le réutiliser ou de le modifier, n'est pas de l'open source au sens propre : on parle alors de code "source disponible". On croise aussi l'expression "logiciel libre", issue d'une tradition qui insiste sur la liberté des utilisateurs plutôt que sur les avantages pratiques du modèle. Dans les faits, les deux termes désignent presque toujours les mêmes logiciels.

Pourquoi montrer son code peut rendre un logiciel plus sûr

L'argument de sécurité repose sur une idée ancienne en cryptographie, formulée dès le XIXe siècle par Auguste Kerckhoffs : un système sûr ne doit pas dépendre du secret de son fonctionnement, seulement du secret de sa clé (voir l'article sur le chiffrement). Un chiffrement qui ne tient que parce que personne ne sait comment il marche finit presque toujours par céder le jour où quelqu'un le découvre.

Rendre le code public a plusieurs effets concrets :

Visible ne veut pas dire vérifié

L'idée qu'un code lu par assez de monde finit forcément débarrassé de ses failles a un nom dans le milieu, la "loi de Linus", et elle a été démentie plusieurs fois de façon spectaculaire. En 2014, la faille Heartbleed a été découverte dans OpenSSL, une bibliothèque de chiffrement open source utilisée par une grande partie des serveurs web du monde pour afficher leur cadenas HTTPS. Elle était présente dans le code depuis environ deux ans, dans un projet alors maintenu par une poignée de développeurs, largement bénévoles, avec très peu de moyens. Tout le monde pouvait lire le code ; presque personne ne le faisait vraiment.

Le cas de xz, en 2024, est encore plus parlant. Un contributeur a passé près de deux ans à gagner la confiance du mainteneur épuisé d'un petit outil de compression présent dans presque tous les systèmes Linux, jusqu'à en devenir co-mainteneur, avant d'y glisser une porte dérobée visant les connexions à distance des serveurs. Elle a été découverte presque par hasard, juste avant d'être largement diffusée, par un ingénieur qui s'étonnait que ses connexions prennent une demi-seconde de plus que d'habitude. La même logique de confiance patiemment construite se retrouve dans le piratage de Drift Protocol, et la fragilité d'un projet reposant sur une seule personne dans le piratage d'axios.

Ce qui compte vraiment, au-delà de l'étiquette

L'open source rend la vérification possible ; il ne garantit pas qu'elle a eu lieu. Pour juger un logiciel open source, quelques questions pèsent plus lourd que l'étiquette elle-même :

Un logiciel open source bien entretenu offre quelque chose qu'aucun logiciel fermé ne peut offrir : la possibilité de ne pas avoir à faire confiance aveuglément. Encore faut-il que quelqu'un, quelque part, prenne réellement le temps de regarder.

Rédigé par eldjiikgull

À lire aussi