L'épuisement professionnel des mainteneurs et des contributeurs est une grande préoccupation dans l'univers des logiciels libres et open source. Les pistes de solutions visant à résoudre ce problème sont constamment débattues dans la communauté, mais les choses semblent ne pas aller de l'avant. Dans le cas du projet Rust, Nelson affirme que les choses vont de mal en pire et propose quelques approches de solutions qui, selon elle, pourraient aider à venir à bout du problème. Nelson a contribué au projet Rust entre octobre 2019 et juin 2023 et dans son article, elle dépeint un environnement de travail chaotique pour les contributeurs et les mainteneurs.
Pour donner une idée de la façon dont les choses se passent, elle décrit ce scénario : « vous voulez contribuer à Rust. Vous trouvez quelque chose qui vous intéresse, puisque les problèmes faciles/mentorés sont pris. Il est difficile de trouver un mentor parce que toutes les personnes expérimentées sont débordées et épuisées, alors vous finissez par faire une grande partie du travail de manière indépendante ». Selon elle, vous venez ainsi d'apprendre que le travail sur ce projet ne se fait pas si vous ne le faites pas avancer personnellement. Le problème que vous avez résolu était ouvert depuis des années ; la majorité des problèmes sont là depuis des années.
Nelson explique que, une fois que vous êtes un contributeur actif, les choses se compliquent davantage et la charge de travail n'arrête pas d'augmenter avec le temps. Elle insiste sur l'argument selon lequel les choses ne se font pas si vous ne les faites pas personnellement. Voici ci-après l'atmosphère qu'elle décrit en se basant sur sa propre expérience :
- vous devenez un contributeur plus actif : le responsable actuel est trop épuisé pour effectuer un triage régulier, vous finissez donc par parcourir l'arriéré des problèmes (généralement, vous êtes la première personne à l'avoir fait depuis des années). Cela renforce l'idée que le travail ne se fait pas à moins que vous ne le fassiez personnellement ;
- le responsable actuel reconnaît votre travail et vous confie une grande partie des responsabilités, en particulier les révisions : les nouveaux contributeurs font des demandes de fusion (pull request). Ils font des erreurs simples et stupides dues à leur manque d'expérience ; vous les signalez et elles sont corrigées. Cela peut être amusant pendant un certain temps. Ce que cela vous apprend, c'est que vous êtes personnellement responsable de la détection des erreurs ;
- vous vous fatiguez : les gens font toujours les mêmes erreurs et vous avez peur de faire confiance aux autres évaluateurs ; vous êtes peut-être le seul évaluateur, ou les autres évaluateurs ont déjà laissé passer des choses et vous ne faites plus autant confiance à leur jugement qu'avant ; on vous confie peut-être trop de demandes de fusion et vous n'arrivez plus à suivre. Cela fait des semaines que vous n'avez pas travaillé sur les choses que vous voulez faire, et personne d'autre n'y travaille parce que vous avez dit que vous le feriez ("elles ne se feront pas si vous ne les faites pas personnellement", dit une voix) : "le projet serait pire sans toi".
Nelson dénonce cet état de choses et appelle les contributeurs à rester vigilants pour ne pas tomber dans cette routine. « "Cela ne sera pas fait si je ne le fais pas" et "je dois tout revoir ou des choses vont passer à travers", c'est exactement l'état d'esprit de mon propre épuisement professionnel. Peu importe que ce soit vrai, cela vous fera souffrir. Si le projet ne peut pas survivre sans que vous fassiez personnellement des heures supplémentaires non rémunérées, il ne mérite peut-être pas de survivre », a-t-elle déclaré. L'ingénieure estime que les contributeurs devraient faire attention même lorsqu'ils sont payés pour travailleur sur le projet Rust.
« Si vous êtes payé pour travailler sur Rust, vous avez probablement commencé en tant que contributeur non rémunéré et obtenu le poste plus tard. Traitez-le comme un travail dès maintenant. Ne faites pas des heures supplémentaires, ne vous portez pas volontaire à tout bout de champ, ne travaillez pas sur des choses qui dépassent largement votre description de poste. La meilleure façon d'aider le projet est de continuer à y contribuer pendant des années. Pour ce faire, vous devez éviter de vous épuiser, ce qui signifie que vous devez bien vous traiter », a-t-elle déclaré. Dans les commentaires, de nombreuses personnes semblent partager son avis.
« Selon mes observations, je pense que le projet Rust a des problèmes d'épuisement professionnel plus graves que la plupart des autres projets open source de taille similaire. Je ne sais pas si cela est lié à la façon dont le projet est organisé, à l'état de la base de code ou au type de personne qui est attiré par le travail sur Rust en premier lieu. La situation est de plus en plus préoccupante et mérite une grande attention de la part de la Fondation Rust. En attendant, prenez soin de vous. C'est un grand pas dans la vie d'un ingénieur logiciel lorsqu'il réalise que coder 24 heures sur 24 et 7 jours sur 7 n'est pas le mode de vie idéal », a écrit un critique.
D'autres critiques suggèrent que le problème est peut-être lié à la façon dont Rust est conçu. « C'est peut-être parce que Rust est nouveau et bien conçu. Les personnes qui l'ont adopté s'en soucient probablement, elles veulent le maintenir et cela est difficile. C'est peut-être mon perfectionnisme, mon désir de construire et de vivre dans une tour d'ivoire, mais je ressens cela en tant qu'utilisateur de Rust, une peur qu'ils puissent briser une certaine perfection perçue à laquelle je tiens. L'on pourrait dire que les développeurs C++ sont libérés du fardeau consistant à utiliser un langage parfait », ajoute un critique. Cet argument est toutefois controversé.
« Toutes les organisations bénévoles doivent lutter contre l'épuisement professionnel. Chaque fois que vous commencez à avoir l'impression que les choses ne seront pas "faites" à moins que vous ne les fassiez, vous êtes sur cette voie. Faites attention à vous », affirme un autre critique. De son côté, Nelson a déclaré que les chefs d'équipe peuvent jouer un rôle important dans la résolution de ce problème. À la question de savoir ce que ces derniers peuvent faire, elle a énuméré ces points :
- disposer d'une documentation sur ce qu'il faut faire en cas d'épuisement professionnel : il faut accorder à l'épuisement professionnel autant de priorité qu'aux problèmes techniques ou aux conflits de modération ;
- faire tourner les responsabilités : ne confiez pas la majorité des relations publiques à la même personne. Si cette personne révise les demandes de fusion d'autres personnes sans y être invitée, expliquez-lui pourquoi elle ressent le besoin de le faire. Si une personne est affectée à la file d'attente de révision et ne révise jamais les demandes de fusion, parlez-en avec elle ; retirez-la de la file d'attente ; donnez-lui des vacances ou confiez-lui d'autres responsabilités, le cas échéant ;
- demander aux gens pourquoi ils partent : Nelson affirme qu'elle connaît au moins une personne dont l'histoire d'épuisement professionnel ne correspond pas à celle décrite dans ce billet. Selon elle, il n'est pas possible de résoudre un problème si l'on n'en comprend pas les causes ;
- prendre ces problèmes au sérieux : donnez la priorité au développement de l'équipe et à la création d'un environnement sain plutôt qu'à la résolution des problèmes techniques. Les problèmes seront toujours là dans quelques mois ; vos collaborateurs ne le seront peut-être plus.
Selon certains critiques, bien que ces propositions puissent être efficaces pour faire face au problème de l'épuisement professionnel dans le projet Rust et dans l'univers des logiciels libres et open source, il est peu probable qu'elles soient mises en œuvre. Ces derniers estiment que la situation actuelle de l'open source profite à de nombreuses entreprises et qu'elles souhaitent maintenir le statu quo. « De toute évidence, les entreprises sont heureuses de profiter de tout ce dur labeur sans avoir à y contribuer en retour, et c'est en partie à cause de cette culture. L'open source a besoin d'être réinventé », a écrit un critique.
Source : billet de blogue
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous du problème de l'épuisement professionnel au sein du projet Rust ?
Êtes-vous ou avez-vous été un contributeur du projet Rust ? Si oui, partagez votre expérience.
Selon vous, pourquoi l'open source est-il confronté à un problème d'épuisement professionnel ?
Comment peut-on faire face à ce problème ? Quelles sont vos approches de solution ?
Voir aussi
La période de maintenance des versions LTS du noyau Linux sera réduite de 6 à 2 ans en raison d'un manque de soutien et d'une charge de travail trop importante, qui épuise les mainteneurs
L'absence de rémunération dans le domaine des logiciels open source est insoutenable, d'après Thomas Stringer, développeur logiciel
Qu'est-ce qui vient après l'open source ? Un pionnier du mouvement de l'open source affirme qu'il faut changer de paradigme, et trouver un moyen équitable de rémunérer les développeurs