La mort de George Floyd, survenue il y a quelques jours à Minneapolis, a provoqué une vague d’indignations collectives laissant place à de violentes manifestations dans plusieurs villes du pays. Alors que des émeutes s'enchaînent pour lutter contre les discriminations raciales et que le mouvement Black Lives Matter prend chaque jour un peu plus d'ampleur, un débat suscite des réactions dans la communauté informatique. Il s'agir de bannir ou non du monde informatique, des expressions jugées racistes comme "whitelist" (liste blanche), "blacklist" (liste noire), mais surtout de "master" (maître) et "slave" (esclave).
Rappelons qu'en 2018, la communauté Python avait estimé qu'il faut retirer les mots "master" et "slave" de la terminologie des langages de programmation. Elle avait même enclenché le processus de suppression de ces termes dans sa documentation et dans sa base de code. 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.
Les questions de diversité en lien avec la terminologie utilisée dans les langages de programmation refont donc surface. Au début de ce mois, c’était au tour de l’équipe du langage de programmation Go de Google de se prononcer sur la question. Dans une publication parue il y a peu, elle annonce le retrait des termes "whitelist" (liste blanche), "blacklist" (liste noire), "master" (maître) et "slave" (esclave) de sa documentation et de sa base de code. À la place de "whitelist" et "blacklist", elle annonce l’introduction des termes "allowlist" (liste d’autorisation) et "blocklist" (liste de refus) jugés plus explicites.
« Il est clair que certaines personnes sont blessées par ces termes et que leur utilisation suscite chez elles un sentiment de malaise, non pas pour des raisons techniques, mais en raison de leur contexte historique et social », a déclaré Google, en estimant qu'il s'agissait d'arguments suffisants pour les faire disparaître. « Master-slave est une métaphore oppressive qui ne sera et devrait jamais être totalement détachée de notre histoire », souligne un développeur de Microsoft, qui appelle à leur remplacement.
Pour l'instant, les expressions à bannir n'ont pas trouvé de remplaçantes qui fassent consensus. L'IETF (Internet Engineering Task Force), le consortium international qui discute et édite les standards de l'informatique, fait une série de suggestions, parmi lesquelles "blocklist" (liste de refus) et "allowlist" (liste d'autorisation), ou encore "primaire-secondaire", pour la combinaison "master-slave". Sans que la communauté des développeurs ne se soit mise d'accord sur une option définitive.
En général, pour les développeurs, aucun n'indique avoir au cours de sa carrière été confronté à un confrère heurté par ces expressions. Alex Rock, développeur web et consultant en informatique, voit déjà plus loin et discerne d'autres expressions à écarter. « En informatique, un certain nombre de termes violents pourraient en réalité être modifiés : le "kill" (tuer) qui sert à arrêter un logiciel lancé, l’expression "violation", qui peut rappeler le viol, ou encore tout ce qui est relatif aux "contraintes" de validation, ce qui est assez négatif en soi », dit-il.
Le PDG de GitHub a déclaré vendredi dernier que son entreprise aussi travaille sur le remplacement du terme "master" sur son service par un terme neutre comme "principal" pour éviter toute référence inutile à l'esclavage. L'entreprise s'ajoute donc à une longue lignée d'entreprises technologiques et de projets open source qui ont exprimé leur soutien à la suppression de termes qui pourraient être offensants pour les développeurs de la communauté noire. La bibliothèque PHPUnit et l'utilitaire de téléchargement de fichiers Curl ont déclaré leur intention de remplacer "liste noire / liste blanche"par des alternatives neutres.
OpenZFS a également remplacé les termes "master / slave" utilisés pour décrire les relations entre les environnements de stockage par des termes plus appropriés. Gabriel Csapo, ingénieur logiciel chez LinkedIn, a déclaré sur Twitter cette semaine qu'il était également en train de déposer des demandes pour mettre à jour de nombreuses bibliothèques internes de Microsoft et supprimer toutes les expressions à caractère raciste.
Sources : IETF, Google, Billet de blog
Et vous ?
Quel est votre avis sur le sujet ?
Êtes-vous pour ou contre le remplacement de ces expressions ? Que proposeriez-vous en lieu et place ?
Avez-vous connaissance d'un collègue qui a été heurté par ces expressions pendant le développement d'un projet ?
Voir aussi
Python va supprimer les termes "master/slave" de sa documentation et sa base de code pour des raisons de diversité et leur connotation à l'esclavage
L'équipe du langage Go retire les termes "whitelist", "blacklist", "master" et "slave" de sa documentation et de sa base de code parce qu'ils véhiculent des stéréotypes raciaux
Amazon annonce que la police ne pourra pas utiliser sa technologie de reconnaissance faciale pendant un an, suite aux manifestations liées à la mort de George Floyd
Après Apple, Google supprime à son tour l'application Gab de son Play Store, pour avoir violé sa politique relative aux discours haineux
Black Lives Matter : des développeurs souhaitent débarrasser le monde informatique de termes jugés racistes ou violents
Comme "whitelist-blacklist", "master-slave" et "kill"
Black Lives Matter : des développeurs souhaitent débarrasser le monde informatique de termes jugés racistes ou violents
Comme "whitelist-blacklist", "master-slave" et "kill"
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !