Node.js et le refus d’un changement trivial

Le langage non-sexiste a ceci d’intéressant qu’il permet de s’adresser à quelqu’un/e sans le renvoyer forcément à son genre et permet ainsi d’inclure toutes les catégories de personnes qui sont laissées de côté par le masculin utilisé par défaut. (À l’Académie française ils disent « genre non marqué » pour faire bien.)

En accord avec ce principe, un développeur du nom de Alex Gaynor a proposé le changement suivant sur une portion de code de la plateforme Node.js : Un remplacement de deux occurrences de « he » par « they » dans des commentaires, qui partaient du principe que l’utilisateur était forcément masculin. (En anglais « they » est de plus en plus couramment utilisé comme singulier neutre.)

    *
    * 1. Read errors are reported only if nsent==0, otherwise we return nsent.
    *    The user needs to know that some data has already been sent, to stop
-   *    him from sending it twice.
+   *    them from sending it twice.
    *
    * 2. Write errors are always reported. Write errors are bad because they
    *    mean data loss: we've read data but now we can't write it out.

Puis dans un autre fichier :

   /* Only free when there was no error. On error, we touch up write_queue_size
    * right before making the callback. The reason we don't do that right away
    * is that a write_queue_size > 0 is our only way to signal to the user that
-   * he should stop writing - which he should if we got an error. Something to
-   * revisit in future revisions of the libuv API.
+   * they should stop writing - which they should if we got an error. Something
+   * to revisit in future revisions of the libuv API.
    */

Le texte étant un commentaire il n’influe absolument pas sur l’exécution du code. Un changement absolument trivial, le code étant proposé sur GitHub les développeurs en charge du projet se retrouvent face à une question à deux choix : « Intégrer la modification ? Oui, Non »

Si il clique sur « Oui », le changement est intégré, la documentation du code est un peu plus inclusive et tout le monde est content.

Bien sûr, un tel scénario n’a que peu de chances de se produire. Dans la vraie vie, le responsable préfèrera cliquer sur « Non » puis laisser un commentaire laconique tel que :

Sorry, not interested in trivial changes like that.

Désolé, pas intéressé par des changements aussi triviaux que celui là.

Et dans la vraie vie, il se trouvera des personnes pour se réjouir qu’un changement aussi inutile soit refusé allant jusqu’à soupçonner l’auteur du changement de vouloir se faire bien voir de la gent féminine.

Heureusement dans la vraie vie, il se trouve également des personnes raisonnables qui intègreront ce changement tout de même avant de s’écrouler face à la bêtise crasse du premier qui l’annule à nouveau :

@isaacs may have his commit bit but that does not mean he is at liberty
to land patches at will. All patches have to be signed off by either
me or Bert. Isaac, consider yourself chided.

Isaac a peut être la possibilité de faire des modifications, mais
ça ne veut pas dire qu’il a l’autorisation de faire les patches qu’il veut.
Toute modification doit être validée par moi ou Bert. Isaac, considère
ceci comme un blâme.

Et pour se laver de toute accusation de sexisme, il continue avec une excuse que nous entendons régulièrement :

To the people that felt it necessary to call me a misogynist: I volunteer in a mentorship program that gets young people – especially young women – involved in technology. How many of you go out and actively try to increase the number of women in the field?
I’m probably going to step back from libuv and node.js core development. I do it more out a sense of duty than anything else. If this is what I have to deal with, then I’d just as rather do something else. Hope that clears things up. Thanks.

Aux gens qui ont ressenti le besoin de me traiter de misogyne: Je fais du bénévolat dans une association qui aide des jeunes – particulièrement des jeunes femmes – à s’investir dans le milieu de la technologie. Combien d’entre vous participent à ce genre de chose et tentent activement d’augmenter le nombre de femmes sur le terrain ?
Je vais probablement me désinvestir du développement de libuv et de node.js, je le faisais plus par sens du devoir qu’autre chose et si je dois faire face à ce genre de comportements, j’aime autant faire un autre truc. J’espère que les choses sont claires. Merci.

Le changement a finalement fait son chemin dans le code de libuv, probablement grâce aux nombreux commentaires des développeurs et développeuses outré/es de l’attitude déplorable de bnoordhuis et en dépit des trop nombreux messages de soutien que ce dernier a reçu.

Vous en connaissez beaucoup vous des changements tellement inutiles et sans importance qu’ils valent la peine de se battre becs et ongles pour ne pas qu’ils se produisent ?