PhD Thesis

I began in January of 2023, a PhD thesis in Computer Science, at Université Lyon 1 Claude Bernard, under the supervision of Aurélien Tabard, in the research team Limites numériques. Here is a synopsis:

Software obsolescence: analysis and remediation strategies

This PhD thesis aims to analyze software obsolescence and existing remediation strategies.

Our first case study focuses on the Android ecosystem, the world's most widely used operating system (OS), where devices are rarely updated more than two years after their release. We investigate what hinders Android development and maintenance. We conducted 12 interviews with key players in the ecosystem, supplemented by conference ethnography and analysis of technical literature. We show that the way code flows are organized across the various ecosystem actors inhibits updates, and we outline how these actors locate their maintenance efforts in different places to serve their strategic interests. The lack of updates appear at the kernel level, i.e, at the core of Android builds, as the code from phone vendors and system on chip manufacturers increasingly diverges from the original Linux kernel code. We show that Google, the main actor governing the ecosystem, addresses maintenance issues by shifting responsibility towards phone vendors. However, as vendors are the least inclined actors to maintain their code, the problem persists, leading to premature end-of-life for devices and, consequently, their obsolescence. At the same time, we analyze how, driven by a concern for longevity, some vendors and alternative free open-source mobile actors are implementing remediation strategies to maintain devices.

Our second case study focuses on long-term maintenance within Debian, a widely used operating system also based on the Linux kernel, maintained by a community organized as a non-profit organization, following the principles of collaborative open source development. The organization of the community into teams linked to different roles in the Debian release process, and the development of code into maintainable units of packages, helps Debian release a new stable version every two years and offer long-term support of at least 5 years for each release. Maintenance work is structured at different levels, both technically and socially: at the code level, at the package level, at the Linux kernel level, and at the the inner-community infrastructure and tools level. At the economic level, while the community has chosen to develop and maintain the system in a benevolent manner that best fits its ethics, an original economic solution has been developed to finance long-term support for Debian releases. Finally, it is the social relationships between Debian members and with external upstream developers that play an essential role in the maintenance process. Sustainability within the community: resolving conflicts, avoiding burnout, creating an inclusive work and social environment, retaining members and attracting new ones, seem to be important concerns for maintaining social foundations. Our findings also highlight the role that the technical and social infrastructure developed by Debian within its community plays in maintaining a robust and sustainable operating system. But they also underscore the importance of the collective process of setting up this infrastructure and the community's reflection on improving it.

Reflecting on the conclusions drawn by Android and Debian, we discuss the various strategies we have observed in terms of code flows between actors, and how they inhibit or facilitate maintenance. Breaking points can be technical: code obfuscation, lack of documentation, anti patterns in coding practices, but also socio-economic: positions of power and dominance of certain key actors within ecosystems, imposition of dependencies kept private on essential software, legal contracts requiring exclusive use of software, or lack of public policies ensuring longevity. We discuss the play between openness and closure in software development and maintenance, as well as the importance of open standards in building independent and resilient systems. Upstreaming and mainlining appear to be important maintenance strategies at the software development level. Social interactions and maintenance infrastructuring support the sustainability of maintenance work. The study attempts to formulate a number of recommendations. Regulatory measures are needed to enforce sustainable coding practices and open standards, while prohibiting abuse of dominant positions. It also seems essential to put in place public policies that support and accompany fundamental software ecosystems such as operating systems.

Prepublications

Publications

The list of all my publications is freely available on the HAL portal or on ORCID.

My Curriculum Vitae as of February 2026 (please do not share) : CV.pdf.