La vie, la mort, le logiciel libre
Titre : La vie, la mort, le logiciel libre
Intervenant : Florent Fourcot
Lieu : Toulouse - Capitole du Libre
Date : 17 novembre 2024
Durée : 24 min 26
Diaporama support de la présentation
Licence de la transcription : Verbatim
Illustration : À prévoir
NB : Transcription réalisée par nos soins, fidèle aux propos des intervenant·es mais rendant le discours fluide.
Les positions exprimées sont celles des personnes qui interviennent et ne rejoignent pas nécessairement celles de l'April, qui ne sera en aucun cas tenue responsable de leurs propos.
Description
Les logiciels libres dépendent d'humain(e)s disponibles, parfois de quelques un(e)s seulement (voir un(e) seul(e), en réalité). Certains développeurs sont ainsi présents depuis le début d'un projet (le plus célèbre d'entre eux étant probablement Linus Torvald), et vieillissent. Si les drames humains peuvent arriver à tout âge, une augmentation de la moyenne d'âge des participant(e)s aux logiciels libres ne pourra que les augmenter.
Transcription
Bienvenue. Nous sommes en fin de journée, fin de week-end, on va donc un peu quitter le monde de la technique, même beaucoup. Le titre c’est « La vie, la mort, le logiciel libre ». Je vais vous raconter un peu pourquoi.
Il y a plusieurs parties dans ma présentation.
Je vais commencer par vous raconter un peu ma vie, mon expérience personnelle, justement, de ce qui a pu arriver aux gens que je connaissais dans le logiciel libre.
Je vais essayer, ensuite, d’aller chercher quelques données. Honnêtement, ce n’est pas facile, donc j’espère que vous ne serez pas trop déçus.
Et une discussion un peu sur ce qu’on peut faire, si jamais il faut faire quelque chose.
Qui suis-je ?
Tout d’abord, qui suis-je ?
Je m’appelle Florent Fourcot, je suis développeur. J’utilise et je contribue au logiciel libre. Il y a quelque chose qui m’énerve vraiment dans le logiciel quand il ne fonctionne pas et que je ne peux pas regarder pourquoi.
Je travaille pour Wifirst depuis à peu près une dizaine d’années. Wifirst est un opérateur internet. J’aime le réseau, j’aime le noyau, j’aime le Python, donc, globalement, c’est plutôt raccord avec ce que je fais.
Je ne vais pas vous donner mon âge, même si c’est un peu central dans cette conférence, mais j’ai bientôt quatre enfants et j’ai un commit dans le noyau qui date de 2008.
Le contexte
Je vous ai dit que je vais raconter un peu ma vie.
Sur le contexte, il y a une bibliothèque qui s’appelle pyrooute 2, qu’on utilise beaucoup au travail. Ça permet, en Python, de parler avec le noyau et de configurer les interfaces réseau, ce genre de chose.
Cette bibliothèque est vraiment très cool pour ce qu’ont fait. Quand on l’a découverte, on a beaucoup interagi avec le mainteneur. Il a toujours été très réactif, les merges se sont toujours très bien passées. On avait suffisamment d’interactions pour qu’il finisse par passer à Paris, on l’a invité dans nos locaux, il est venu avec son fils manger des pizzas chez moi. Voilà ! Globalement, tout se passait bien, dans le meilleur des mondes, donc une toute petite communauté, sincèrement, notre entreprise contribue, lui, quelques autres personnes, mais ça reste une toute petite communauté.
Dans ce contexte, un jour – excusez-moi, parfois je suis un peu ému – ça a commencé à se passer un peu moins bien, dans le sens où il a arrêté de répondre sur la forge. On avait des merge requests qui étaient assez importantes, qui sont restées assis inactives.
Au bout de quelques semaines, j’ai essayé de prendre un peu de ses nouvelles par mail – j’ai un peu de mal avec ça, mais la fin est bonne, ne stressez pas trop. J’ai reçu ce mail où la première ligne c’est « je suis encore pas là pendant une semaine, ce n’est pas très grave », mais il m’a aussi dit « si jamais je ne reviens pas pour le projet et occupe-toi-en. » La bonne nouvelle, c’est qu’il est revenu..
On a également d’autres cas, des gens avec qui j’ai moins discuté. Vous avez fait mon Simon Kelley, de dnsmasq, qui a disparu pendant des mois.
Vous avez un autre contributeur avec qui on a pas mal échangé sur pysnmp, qui lui est vraiment décédé.
On a David Miller, un contributeur émérite au noyau, il a vraiment fait énormément de choses, qui, en 2020, a eu une attaque. C’est le noyau, donc ça s’est très bien passé au fur et à mesure.
Voilà, les mainteneurs ne sont pas éternels.
Forcément, j’ai sorti, ce petit ??? [3 min 19], que vous connaissez sûrement tous. Il y a des projets, clairement comme dnsmasq, qui, à mon avis, sont ici.
Ces exemples sont des exemples personnels, absolument non exhaustifs. Ce sont des personnes avec qui j’ai pu interagir soit par mail, soit en conférence, soit directement. Je pense que vous avez tous eu des situations comme cela, ça arrive. Moi qui traîne dans le logiciel libre depuis quelque temps, je me suis posé une question : est-ce que ça arrive plus qu’avant ? C’est une question un peu centrale. Des malades et des morts, il y en a partout, mais, depuis quelques années j’ai eu plusieurs cas comme ça, qui se sont parfois bien terminés, parfois mal, est-ce que ça arrive plus qu’avant ?
Quelques données
Déjà, je vais enfoncer des portes ouvertes.
Ce sont les courbes de mortalité en France en fonction de son âge. La ligne est bien droite. La mauvaise nouvelle, c’est que c’est une échelle logarithmique. Donc globalement, en fonction de votre âge, une fois que vous avez survécu à la petite enfance, votre probabilité de mourir dans l’année augmente de façon exponentielle. Ce n’est pas forcément une grande surprise, mais voilà.
Une fois qu’on sait ça, j’ai essayé d’aller chercher un peu de données sur la communauté du logiciel libre, qui sont ses membres, quel âge ont-ils, d’où vient-il, et ainsi de suite.
Il y a eu pas mal de recherches, au sens universitaire, au début des années 2000. C’était un sujet assez à la mode parce que c’était assez nouveau : des gens qui, sans forcément être payés, viennent contribuer à un truc commun. Il y a donc eu pas mal de recherches à ce moment-là. Après, la recherche s’est un peu arrêtée parce que, finalement, ça avait déjà été fait, il n’y avait plus grand-chose de nouveau. J’ai bien trouvé un papier de 2013, mais qui était globalement inexploitable.
Récemment, on a un peu plus de données qui ne sont pas faites par des chercheurs, qui sont faites plutôt par des grandes entreprises comme GitHub. Forcément, du coup, il n’y a pas de suivi de méthodologie, on n’a pas de longues séries temporelles pour réussir à avoir des comparaisons.
Après, je ne dis pas du tout que c’est facile. Imaginez essayer de contacter l’intégralité des développeurs de logiciels libres, voire des mainteneurs, c’est juste impossible aujourd’hui. On peut approximer que GitHub est à peu près une forge principale, mais, clairement, ça ne regroupe pas tout le monde. Et après, si vous voulez aller dans les détails, entre les mainteneurs, les développeurs, les utilisateurs, c’est globalement impossible.
Néanmoins, je vous ai fait ce petit graphique là.
En 2002, c’est ce que je vous disais, il y avait beaucoup de publications, donc c’était assez facile. J’en ai choisi une qui m’avait l’air plutôt pas mal. Il y avait aussi une méta-analyse des différentes publications qui disait globalement : toutes les données sont à peu près semblables, il y a forcément des différences en fonction de l’échantillon sondé, mais globalement on s’en sort.
2017 et 2024, que vous voyez là, ce sont des chiffres de GitHub, ça tombe bien, ils viennent d’en sortir une toute nouvelle. Donc, sur ce graphique-là, on peut voir qu’il y a toujours des jeunes, clairement, d’ailleurs, ça se voit à cette conférence, il y a des jeunes, il y en a toujours, mais on commence à avoir une population qui augmente plus sur la droite. Je vous renvoie vers le graphique précédent, forcément, vu que c’est exponentiel, même si vous n’avez pas beaucoup de gens par là, ça peut faire beaucoup de cas, en particulier, plus vous êtes sur la droite.
C’est bien d’avoir des utilisateurs, voire des développeurs jeunes, mais je me suis aussi posé la question : qu’en est-il des mainteneurs ?
J’ai trouvé une entreprise qui prétend faire des sondages, qui s’appelle Tidelift, qui a fait, sur des petits échantillons, ça va de 250 à 350 personnes sondées. Je suis pas convaincu qu’en trois ans la courbe ait pu autant bouger, sincèrement, néanmoins je pense que ça montre que les mainteneurs sont probablement un peu plus âgés que la moyenne des utilisateurs/développeurs, ce qui me semble assez cohérent, de toute façon, avec ce que vous pouvez constater au jour le jour.
Que peut-on en tirer ?
Du coup, qu’est-ce qu’on peut en tirer ?
Je vous l’ai dit, à mon avis, il y a toujours des jeunes qui s’intéressent au logiciel libre, il y en a beaucoup dans cette conférence, il y en a beaucoup aux bons endroits.
Les plus anciens apparaissent forcément au début des années 2000. Quelqu’un qui dit qu’il est depuis 30 ans dans le logiciel libre est assez peu crédible, on va dire.
Sur les rôles les plus visibles du logiciel libre, vraiment les porte-drapeau, ceux que tout le monde connaît, on a Linus Torvalds qui a 58 ans ; on a Andreas Tille, actuellement project leader de Debian qui a 57 ans ; Guido van Rossum, de Python, n’est plus chef, néanmoins il est encore important, il a 68 ans ; le mainteneur de Curl a 53 ans.
Quand vous voyez ces logiciels, Curl, c’est partout, Linux aussi, Debian, ce sont des projets qui sont anciens, avec des personnes qui ne sont plus toutes jeunes à leur tête. C’est assez logique quand on y réfléchit. Si vous avez un projet qui est déployé partout, qui est assez ancien, il est très probable que le mainteneur ne soit plus très jeune, s’il y avait eu un peu une rupture de continuité, les chances que ce projet continue de perdurer diminuent.
Que faire ?
Une fois qu’on a dit tout ça, qu’est-ce qu’on peut faire ?
Des questions sans réponses
Pour moi, ce sont des questions un sans réponses.
Déjà, première question, c’est : est-ce qu’il existe des barrières d’entrée sur les vieux projets ? Les vieux projets auxquels je contribue, ce sont encore des mailing listes, ce sont encore des patchs qui sont envoyés par mail. Donc, je voulais faire rapidement un petit sondage : qui, ici, a déjà utilisé Git sans e-mail pour envoyer un patch ? Et qui a déjà utilisé une forge comme GitHub, GitLab et ainsi de suite ? On sent que l’échantillon diminue d’un coup fortement. Ce ne sont pas forcément des choses qui sont difficiles, mais ce ne sont pas forcément des choses qui sont le réflexe pour beaucoup de contributeurs.
L’autre question que je me pose, c’est : est-ce que la maintenance est suffisante pour intéresser les nouveaux arrivants ? On a eu le cas de NTP [<em<Network Time Protocol] qui permet de synchroniser les horloges dans tous les ordinateurs. Le mainteneur est resté tout seul pendant longtemps, vraiment très longtemps. Vers 2011, il s’est dit « en fait, je suis tout seul, ce n’est quand même pas terrible pour le futur. » Il a fait une fondation parce que, clairement, on n’avait pas des évolutions sur NTP tous les matins.
À partir de là, en tant que contributeur de logiciel libre, si vous arrivez, vous cherchez quelque chose un peu fun, c’est peu probable que vous vous dirigiez naturellement vers ce genre de projet.
En tant qu’utilisateur/institution
Après je me suis posé un peu la question en tant qu’utilisateur/institution, qu’est-ce qu’on pourrait faire ?
En tant qu’utilisateur, vous pouvez essayer de vous intéresser à la chaîne complète, forcément, de ce qui fonctionne. On a énormément de couches bas niveau qui sont très anciennes, qui fonctionnent.
Je reviens à dnsmasq, que nous utilisons énormément. Il faut se dire que dnsmasq, c’est un peu comme Linux et ainsi de suite : un type avait un besoin, il voulait avoir un routeur à la maison dans les années 2000. Ça n’existait pas, il a codé son serveur DHCP/DNS et, aujourd’hui, ce logiciel est partout. Vous en avez dans vos box ; au boulot, nous en avons plus de 10 000 qui sont en prod. C’est quelque chose qui est vraiment partout, c’est vraiment une brique de base.
Une initiative que j’ai trouvée intéressante, ce sont les Blue hats de la DINUM, la Direction interministérielle du numérique, qui a distribué quatre prix cette année, je crois que c’est avec une prime de 10 000 mille euros, c’est quand même assez sympa, et le premier prix qu’ils ont distribué, c’était justement à dnsmasq. Ça permet de mettre en valeur ces projets. Je ne dis pas que ça résout le problème de la maintenance, mais déjà, je pense que les mettre en valeur, ça peut donner à des gens envie de s’y intéresser.
J’étais aussi mainteneur, un moment, d’un projet. J’avais été contacté par un universitaire. Tous ses étudiants, en groupes de deux ou trois, devaient tous les ans choisir un projet et essayer d’y faire accepter un patch. J’avais trouvé la démarche assez intéressante, je crois qu’il était de l’Université de Lille. Il nous prévenait avant, parce que, forcément, des étudiants arrivent et il faut essayer d’être un peu tolérant, c’était leur première fois, c’est normal. En tout cas, j’avais trouvé que si on arrive à leur faire rentrer ça dans la formation, ça peut être des sujets intéressants.
Une autre façon de rentrer dans un projet, notamment très ancien, parfois c’est essayer d’écrire des tests ou de faire des suites de tests. Chez dnsmasq, aujourd’hui il y en a zéro. Red Hat a commencé à lancer, justement, des tests fonctionnels, être capable de les lancer, vérifier qu’il y a des DNS qui répondent, vérifier qu’il y a du DHCP qui tourne et ainsi de suite. Je pense que c’est plutôt pas mal.