Le patron de GitHub a indiqué que sa plateforme travaille à se débarrasser de l’expression « maître-esclave », courante en informatique, car trop lourde de sens au vu du système oppressif duquel elle est tirée. Cette initiative s’inscrit dans un mouvement de fond plus général, en cours depuis quelques années.

La mort de George Floyd  fin mai, la gorge écrasée par le genou d’un policier américain, n’a pas fait seulement que relancer les protestations contre les violences policières. Elle a aussi donné lieu à un débat plus large sur certaines œuvres artistiques et de leur contextualisation, à l’image d’Autant en emporte le vent, mais aussi sur la présence de quelques statues dans l’espace public.

Ces interrogations et mouvements antiracistes traversent aussi le milieu informatique, mais pour d’autres motifs : au regard des évènements récents, des expressions couramment admises dans le langage sont désormais remises en question. C’est ce qu’illustre GitHub, la plus importante plateforme dédiée à l’hébergement et à la gestion de logiciels développés en collaboration, au sujet de l’architecture dite maître-esclave.

ProtonMail GitHub

Le code source de l'application ProtonMail sur Android est disponible sur GitHub.

Interpellé le 11 juin par une informaticienne travaillant sur Chrome, le navigateur web Google, le patron de GitHub, Nat Friedman, a annoncé que son entreprise était en train de travailler à une réévaluation des termes « maître » et « esclave », car ils sont à l’évidence connotés historiquement, le système esclavagiste ayant été construit sur des postulats racistes. L’intéressé n’a toutefois pas détaillé les contours de cette révision ni donné de calendrier particulier.

En informatique, une architecture maître-esclave désigne une situation dans laquelle un processus, un périphérique ou un serveur est en situation de domination et peut ordonner des instructions aux autres processus, périphériques ou serveurs qui se trouvent de fait en situation d’asservissement. L’expression décrit de fait la situation, mais en puisant dans un lexique de l’esclavagisme.

« Main » plutôt que « Master »

Pour divers intervenants, il n’est plus admissible de décrire des situations banales avec des mots lourds de sens. C’est le sens de l’interpellation de la développeuse Una Kravets, qui signale qu’il y a des termes alternatifs tout à fait opérationnels, comme « principal » et « secondaire », et tout aussi aisément mémorisables, sans que cela ne bouleverse l’informatique et rende le travail des professionnels impossible.

D’ailleurs, un autre intervenant, Scott Hanselman, prévenait quelques jours plus tôt que la technique offre la possibilité de renommer très facilement une branche « master » en « main » (« principal », en anglais. Sur son site web, il montre que la manipulation ne requiert que quelques lignes de code, y compris si des dizaines de dépôts GitHub doivent être actualisés, grâce à une automatisation de la tâche.

La réflexion sur l’expression maître-esclave dans un contexte informatique n’est en fait pas neuve. Elle existe par exemple dans l’Internet Engineering Task Force (IETF), une structure normalisant les protocoles sur le net. Par exemple, un document de travail publié en 2018 et intitulé « Terminologie, pouvoir et langage oppressif » a donné des arguments en faveur d’expressions alternatives.

développeuse informaticienne

développeuse informaticienne

Source : WOCinTech Chat

L’autrice Mallory Knodel écrit que « l’expression maître-esclave est une métaphore oppressante qui ne sera et ne devrait jamais se détacher complètement de l’histoire » et qu’elle agit en plus comme repoussoir inconscient pour des individus noirs désirant embrasser une carrière technique ou scientifique. Elle s’appuie pour cela sur les travaux universitaires de Ron Eglash, Broken Metaphor: The Master-Slave Analogy in Technical Literature.

« Si la métaphore du maître-esclave a touché ces ingénieurs à l’esprit tenace qui ont eu le courage de faire une carrière technique à l’époque où ils étaient peut-être les seuls Noirs de leur classe, quel impact cela pourrait-il avoir sur les étudiants noirs qui débattent de l’opportunité de faire une carrière scientifique et technologique ? », écrit-il ainsi dans son papier.

Par ailleurs, le document partagé au sein de l’IETF fait observer que cette expression n’est même pas correctement employée. « Par exemple, dans le DNS [le système de noms de domaine, qui consiste à associer des adresses IP à des noms de domaine, NDLR], l’esclave est capable de refuser des transferts de zone au motif qu’il est mal formé », écrit-il. Refus que ne pourrait se permettre un vrai esclave.

Quelles alternatives alors ? Outre « principal » (« main ») et « réplique » ou « secondaire » (« replica » ou « secondary »), plusieurs binômes de mots existent :

  • Primary-secondary ;
  • Leader-follower ;
  • Active-standby ;
  • Primary-replica ;
  • Writer-reader ;
  • Coordinator-worker ;
  • Parent-helper.

« Il y a beaucoup d’options plus précises selon le contexte et cela ne me coûte rien de changer mon vocabulaire, surtout si c’est un petit obstacle de moins pour enthousiasmer un nouveau venu pour la technologie », relève Scott Hanselman. Un avis que partage Una Kravets : « si cela permet à l’un de mes coéquipiers de se sentir un peu plus à l’aise, faisons-le ! ».

Une bascule s’opère déjà

Le fait est qu’une transition est déjà en cours et que GitHub ne fait que suivre, en fin de compte, un chemin déjà emprunté par d’autres. C’est le cas du langage de programmation Python, du système de gestion de contenu (CMS) Drupal, du framework Django, mais aussi, selon Mallory Knodel, de l’Institute of Electrical and Electronics Engineers (IEEE), un important organisme de normalisation.

Cette bascule s’observe aussi dans la documentation de grandes entreprises américaines, à l’image de Microsoft, IBM et Amazon, en tout cas dans une partie de leur documentation. D’autres exemples existent, listés et sourcés sur Wikipédia, mais aussi dans la proposition de Mallory Knodel, qui relève que l’expression litigieuse « est de moins en moins utilisée et donc de moins en moins adaptée à mesure que de plus en plus d’individus s’éloignent de son utilisation ».

Des serveurs au sein d'un data-center. // Source : Pixabay

Des serveurs au sein d'un data-center.

Source : Pixabay

De façon plus générale, le papier « Terminologie, pouvoir et langage oppressif » interroge aussi d’autres termes, mais qui ne sont pas nécessairement liés à l’actualité immédiate : c’est le cas des expressions « liste noire » et « liste blanche » (il est proposé des expressions plus explicites, comme « Blocklist-allowlist » et « Block-permit ») ou de l’attaque dite de « l’homme du milieu » (« man-in-the-middle »), mais par pour des raisons de genre : c’est simplement que ça ne renvoie à rien. Il faudrait plutôt dire quelque chose comme « on-path attacker ».

Ces réflexions sur l’utilisation de certains termes font régulièrement l’objet de débats au sein du milieu informatique, mais aussi au-delà, les uns s’y opposant fermement en jugeant que l’urgence n’est pas là et que la suppression d’un terme ne supprimera pas le problème, les autres notant que le langage structure la pensée et, donc, la représentation que l’on a du monde.

En témoignent les réactions autour de la décision de GitHub sur les réseaux sociaux.


Vous voulez tout savoir sur la mobilité de demain, des voitures électriques aux VAE ? Abonnez-vous dès maintenant à notre newsletter Watt Else !