Python va supprimer les termes "master" et "slave" de sa documentation et sa base de code
pour des raisons de diversité et leur connotation à l'esclavage

Au nom de la diversité, faut-il retirer les mots "master" et "slave" de la terminologie des langages de programmation ? Pour sa part, la communauté Python estime que oui et a déjà enclenché le processus de suppression de ces termes dans sa documentation et dans sa base de code.

Mais le projet Python n'est pas le seul à avoir pris cette direction dans le monde informatique. Il ne fait que rejoindre des projets comme Django (2014), CouchDB (2014), Drupal (2014) et Redis (2017). Tous avaient le même argument : bien que ces termes aient été utilisés depuis des décennies, ils peuvent avoir des significations à caractère raciste, entre autres, pour les utilisateurs. Il serait donc bon de les éviter.

« Le mot "slave" a des connotations négatives (bien que cela puisse ou non être pertinent dans la dénomination d'un terme technique), y compris l'histoire de l'esclavage sur plusieurs siècles au bénéfice des puissances coloniales européennes, les travailleurs pénitentiaires aujourd'hui forcés de travailler dans des conditions parfois similaires à l'esclavage, les jeunes filles vendues dans l'esclavage sexuel dans de nombreuses régions du monde aujourd'hui », expliquait le projet Drupal. La connotation sexiste de ces termes avait particulièrement été citée lorsque la question était débattue pour le projet Django. Une ingénieure DevOps s'était en effet plainte que ses collègues lui faisaient souvent des blagues en utilisant les termes "master" et "slave".

Selon le projet, la paire "master/slave" a donc été remplacée par des terminologies comme "leader/follower" ou "primary/replica". Dans le cas de Python, l'idée est venue de Victor Stinner, un développeur travaillant pour Red Hat. Il a publié cinq pull requests, ciblant plusieurs domaines, pour changer "master" et "slave" dans la documentation et le code Python par des termes comme "parent", "worker", "child" ou autres termes similaires.


« Pour des raisons de diversité, il serait bon d’essayer d’éviter la terminologie "master" et "slave" pouvant être associée à l’esclavage », a-t-il expliqué dans son rapport de bogue. Ses propositions n'ont pas du tout fait l'unanimité parmi les développeurs Python. « Est-il vraiment nécessaire de polluer la base de code Python avec l'idéologie/terminologie SJW ? Qu'est-ce qui viendra près cela ? » Demanda un développeur. Pour information, SJW (ou Social Justice Warrior) est un terme désignant un individu défendant, d'une manière outrée selon ses détracteurs, des causes sociales jugées progressistes (comme le féminisme, la lutte pour les droits civiques, le multiculturalisme, etc.).

« Pour autant que je sache, il n’y a pas un seul cas où les docs utilisent "master" pour faire référence à l’esclavage humain. Il n'y a pas non plus de cas où l’utilisation pourrait être considérée comme une approbation de [l'esclavage humain] », lance un autre développeur qui a demandé s'il y avait un préjudice démontrable causé par l'utilisation de ces termes.

C'est un peu la controverse qu’ont suscitée ces propositions. Guido van Rossum, le créateur de Python qui avait annoncé sa retraite récemment, a dû intervenir pour mettre fin à ce qui semble être une discussion non productive.

Seul un des pull requests n'a pas été validé. Ces changements ciblent la version 3.8 de Python. Ce qui veut donc dire que quand Python 3.8 sera disponible, il y aura moins d'occurrences des termes "master" et "slave".

Source : Rapport de bogue Python, Message de Guido Van Rossum

Et vous ?

Quel est votre avis sur la suppression des termes "master" et "slave" dans le langage informatique ?
Au nom de la diversité, est-il préférable de les éviter ?
Pensez-vous que les remplaçants proposés expriment mieux les notions de "master" et "slave" comme on les connait aujourd’hui ?

Voir aussi :

Microsoft publie une nouvelle version de l'extension Python pour Visual Studio Code, elle apporte un lot de nouveautés et de correctifs
Après Redmonk, c'est au tour de l'Index TIOBE de mettre Python dans le top 3 des langages les plus populaires, Julia gagne également en notoriété
Meilleurs langages en 2018 selon l'IEEE : Python conforte sa place de leader, grâce à son ascension dans le machine learning et l'embarqué
Le créateur de Python se retire du processus décisionnel relatif au langage, qu'est-ce que cela signifie pour l'avenir de Python ?
Python 3.7 est disponible, une version majeure avec beaucoup de nouvelles fonctionnalités et optimisations, et des améliorations de performance