Thèse de doctorat sur l'obsolescence logicielle
Commencée en janvier 2023, soutenue en juin 2026, ma thèse de doctorat en Informatique a eu lieu à Lyon 1 Université Claude Bernard, sous la direction d'Aurélien Tabard, au sein de l'équipe de recherche Limites numériques et de l'équipe SICAL du laboratoire d'informatique en image et systèmes d'informations, LIRIS.
Mon manuscrit de thèse, en anglais, sauf première page et résumé substanciel en français de 4 pages (version du 10 septembre 2026) : [these.pdf].
Voici une vidéo de ma soutenance de thèse (50 min, uniquement l'exposé) sur Peertube. Les diapos de la soutenance: [slides-these.pdf].
Résumé :
Obsolescence logicielle : analyse et stratégies de remédiation
Cette thèse de doctorat vise à analyser l’obsolescence logicielle ainsi que des stratégies de remédiation, dans le contexte de l’impact environnemental des technologies numériques, en particulier celui des appareils électroniques. À cette fin, j’étudie deux écosystèmes logiciels, Android et Debian, avec une approche de recherche qualitative.
La première étude de cas porte sur l’écosystème Android, le système d’exploitation le plus utilisé au monde, où les appareils sont souvent remplacés et rarement mis à jour plus de deux ans après leur sortie. J’ai étudié les obstacles au développement et à la maintenance d’Android à travers 12 entretiens avec des acteurs clés de l’écosystème, complétés par une étude ethnographique lors de conférences et une analyse de la littérature technique. L’analyse montre que la manière dont les flux de code sont organisés entre les différents acteurs de l’écosystème freine les mises à jour, et met en évidence comment ces acteurs concentrent leurs efforts de maintenance à différents niveaux pour servir leurs intérêts stratégiques. L’absence de mises à jour se manifeste au niveau du noyau, c’est-à-dire au cœur des versions d’Android, car le code des fabricants de téléphones et des fabricants de systèmes sur puce s’écarte de plus en plus du code original du noyau Linux. Je montre que Google, l’acteur principal régissant l’écosystème, aborde les problèmes de maintenance en transférant la responsabilité vers les fabricants de téléphones. Cependant, comme les fabricants sont les acteurs les moins enclins à maintenir leur code, le problème persiste, entraînant une fin de vie prématurée des appareils et, par conséquent, leur obsolescence. J'analyse comment, motivés par un souci de longévité, certains fabricants et acteurs alternatifs du secteur mobile libre et open source mettent en œuvre des stratégies de remédiation pour maintenir les appareils.
La deuxième étude de cas porte sur la maintenance au sein de Debian, un système d’exploitation libre et open source répandu, basé sur le noyau Linux et maintenu par une vaste communauté internationale de bénévoles. J’étudie la maintenance dans Debian, en recourant à une approche ethnographique communautaire lors d’évènements. J’ai mené 11 entretiens semi-structurés, complétés par des discussions informelles, une observation participante, l’analyse des outils communautaires en ligne et de la littérature technique. J’ai ensuite effectué une analyse thématique des données. Je montre que la structure technique et sociale de Debian est conçue pour soutenir et faciliter la maintenance. Cette maintenance s’effectue à différents niveaux : maintenance technique (code, outils), maintenance communautaire (interactions sociales et humaines), maintenance organisationnelle du travail (processus de travail, équipes, rôles) et maintenance infrastructurelle (maintenance collective de l’infrastructure interne). À chacun de ces niveaux, j’analyse comment la maintenance n’y est pas seulement un processus technique, mais implique des interactions sociales au sein et en dehors de la communauté. Je m’intéresse également à ce qui favorise l’entretien et à ce qui le freine.
Le code dans Debian est organisé en paquets. L’analyse montre que la relation socio-technique entre les développeurs Debian et les développeurs des outils externes en amont (upstream), joue un rôle essentiel tant dans la maintenance des paquets Debian que dans la maintenance des logiciels en amont. Je souligne le rôle crucial que joue le processus collectif de développement, de maintenance et d’amélioration de l’infrastructure technique et sociale de Debian dans la maintenance du système d’exploitation. J’examine le programme Long Time Support (LTS) garantissant cinq ans de support pour chaque version courante du système d’exploitation. Ce programme contient un modèle économique original mis en place par la communauté, qui procure au projet les revenus nécessaires à la maintenance, tout en limitant l’influence des entreprises sur les décisions internes de maintenance.
Enfin, l’étude souligne des obstacles à la maintenance. La pérennité des relations humaines au sein de la communauté : résoudre les conflits, éviter l’épuisement, fidéliser les membres, en attirer de nouveaux, semblent être des préoccupations importantes pour les membres de la communauté.
En m’appuyant sur les conclusions tirées des études d’Android et Debian, j’analyse les différentes stratégies observées en matière de flux de code entre les acteurs, ainsi que la manière dont elles entravent ou facilitent la maintenance. Les points de rupture peuvent être d’ordre technique : interruption silencieuse du support logiciel, absence de mises à jour et de mises à niveau, offuscation du code, code binaire ou propriétaire, manque de documentation, schémas de fonctionnement non disponibles, anti-patterns dans les pratiques de codage. Cela est particulièrement évident dans le code fourni par les fabricants de puces et de smartphones au sein de l’écosystème Android. Les points de rupture peuvent également être socio-économiques, soutenus par des procédés techniques et juridiques, créant des dynamiques de pouvoir et agissant comme des instruments d’abus de pouvoir dans les écosystèmes logiciels. C’est particulièrement vrai pour Google dans l’écosystème Android.
J’aborde l’interaction entre ouverture et fermeture du code dans le développement et la maintenance des logiciels, ainsi que l’importance des pratiques en matière de logiciels libres et open source, associées aux standards ouverts, pour favoriser la maintenance du code et construire des systèmes plus indépendants et résilients. L’étude des écosystèmes alternatifs libres et open source qui parviennent à offrir un support plus long et à prolonger la durée de vie des appareils, montre que les pratiques d’upstreaming de code et de mainlining du noyau Linux sont des stratégies de maintenance importantes au niveau du développement logiciel. Mais ce sont les interactions sociales, à la fois au sein des communautés développant le logiciel et avec les communautés externes d’utilisateurs ou de développeurs, qui sont essentielles pour faciliter la maintenance à long terme.
En examinant les pratiques de maintenance au sein de Debian, je souligne que la maintenance logicielle ne se limite pas à l’application de mises à jour du code, mais qu’il s’agit d’un processus socio-technique qui implique de discuter, d’analyser et de préparer ces mises à jour afin qu’elles répondent aux besoins des communautés d’utilisateurs et de développeurs concernés.
L’étude sur Debian montre que les mises à jour logicielles n’entraînent pas nécessairement l’obsolescence du matériel. L’obsolescence numérique est rendue possible grâce à des stratégies économiques et des opportunités, tantôt matérielles, tantôt logicielles, qui s’entremêlent et se renforcent mutuellement. À travers la planification, l’enclosure logicielle, la pseudo-histoire, le lobbying, l’obsolescence a été choisie et imposée, et se trouve placée au cœur du capitalisme numérique.
Cette thèse se termine par une série de recommandations concernant, d’une part, des pratiques de codage et, d’autre part, des mesures réglementaires nécessaires pour garantir la maintenance des logiciels tout en interdisant l’abus de position dominante. En outre, il semble essentiel de mettre en œuvre des politiques publiques visant à soutenir et à favoriser des écosystèmes logiciels fondamentaux tels que les systèmes d’exploitation.
Jury de thèse et rapports
Mon jury de thèse, a émis ce rapport de soutenance, et était composé de :- Aurélien Tabard, maître de conférences, Lyon 1 Université Claude Bernard, directeur de thèse.
- Stéphanie Jean-Daubias, professeure, Lyon 1 Université Claude Bernard, présidente du jury.
- Florence Maraninchi, professeure, Université Grenoble Alpes, rapporteuse. [Rapport].
- Aurélie Bugeau, professeure, Université de Bordeaux, rapporteuse. [Rapport].
- Roberto Di Cosmo, professeur, Université Paris Cité, INRIA, examinateur.
- Sébastien Schulz, chargé de recherches, Centre Internet et Société, CNRS, examinateur.
- Nolwenn Maudet, maîtresse de conférences, Université de Strasbourg, invitée.
Prépublications
- Producing software obsolescence: the case of Android OS. Edlira Nano, Léa Mosesso, Nolwenn Maudet, Aurélien Tabard. Submitted, under revision. February 2026. [pdf].
- L’obsolescence, modèle économique du capitalisme numérique, Edlira Nano et Jeanne Guien, dans Capitalisme numérique, chapitre de livre, à paraître chez C&F Éditions, 2026. [pdf].
Publications
- Obsolescence paths: living with aging devices. Léa Mosesso, Nolwenn Maudet, Edlira Nano, Thomas Thibault, Aurélien Tabard, ICT4S 2023 - International Conference on Information and Communications Technology for Sustainability, June 2023, Rennes, France. [pdf].
- Digital Obsolescence. Edlira Nano, Doctoral symposium of ICT4S 2023 - International Conference on Information and Communications Technology for Sustainability, June 2023, Rennes, France. [pdf].
La liste de mes autres publications scientifiques est disponible librement sur le portail HAL ou sur ORCID.
Un aperçu de mes autres travaux scientifiques et associatifs est disponible dans la section Travaux de ce site.