La terminologia ‘Master/Slave’ è stata rimossa dal linguaggio di programmazione Python

Questi termini sono stati da sempre terreno di scontro per la comunità di programmatori, e ora sono stati rimossi da uno dei linguaggi di programmazione più popolari del mondo.

|
set 14 2018, 10:55am

Immagine: Shutterstock 

Se non sei al 100% dentro il mondo dell'ingegneria software, potrebbe sorprenderti quante volte termini come "master" e "slave" (padrone e schiavo, in italiano) sono utilizzati nelle documentazioni dei software. Quando si parla di tecnologia, questi termini vengono utilizzati rispettivamente per definire le componenti di un sistema che hanno totale controllo su altre componenti, o che sono controllate da una componente. Considerato che la schiavitù è stata legale per centinaia di anni negli Stati Uniti, l'utilizzo spensierato di questi termini da parte della comunità tech è diventato, negli ultimi anni, oggetto di un dibattito piuttosto comprensibile.

La questione è diventata urgente la scorsa settimana, quando un programmatore ha richiesto una modifica atta a evitare di usare questa terminologia in Python, uno dei linguaggi di programmazione nella top 3 dei più usati al mondo.

"Per questioni di diversità, sarebbe carino provare a evitare di usare i termini 'master' e 'slave', che potrebbero essere associati con la schiavitù," ha scritto Victor Stinner, uno sviluppatore della azienda software open source Red Hat. Stinner ha citato diverse lamentele private nel thread come la ragioni per cui questa modifica stava venendo richiesta.

Non sorprendentemente, questa richiesta ha acceso un dibattito piuttosto intenso tra gli sviluppatori Python, per cercare di capire se il cambiamento fosse davvero necessario. Molti sviluppatori hanno affermato che la parola 'slave' deve essere essere rimossa, ma che 'master' non è un termine offensivo. Altri hanno affermato che la terminologia descrive con precisione la relazione tra i componenti elettronici e dovrebbe essere contestualizzata. Uno sviluppatore ha addirittura chiamato in causa la cultura BDSM, dicendo che "'master/slave' possono avere connotazioni *positive*. Se volete supportare la diversità, perché state discriminando quella sottocultura?"

Alla fine, la gran parte delle modifiche suggerite da Stinner sono state adottate. Per questo motivo, "slaves" è stato modificato in "workers" o "helpers" (lavoratori/aiutanti), e "master process" in "parent process."

Non è la prima volta che l'uso di "master" e "slave" è stato contestato nella comunità software. Il dibattito risale anzi al 2003, quando un impiegato del Los Angeles County Probation Department ha presentato un reclamo per discriminazione all'ufficio preposto della Contea, dopo aver letto le parole "master" e "slave" su un videoregistratore. In seguito al reclamo, la Contea ha richiesto che qualsiasi produttore di elettronica in rapporti di affari con essa rimuovesse i termini dai propri prodotti.

Più di recente, diversi linguaggi di programmazione hanno scelto di sostituire la terminologia "master" e "slave" nel proprio codice. È iniziato con Drupal nel 2014, che ha cambiato con "primary/replica" (primario/replica). Poi, lo stesso anno, anche Django, con "leader/follower" (capo/seguace), mentre l'anno scorso la comunità di Redis si è scontrata duramente sull'argomento. A giudicare da un blog post risalente alla settimana scorsa e scritto da uno sviluppatore Redis italiano contrario a cambiare la terminologia, la disputa è ancora in corso. Secondo lo sviluppatore, ad ogni modo, il cambiamento non è che una soluzione superficiale a una serie di problemi sistemici più profondi.

"Credo che il politicamente corretto abbia una radice puritana," ha scritto lo sviluppatore Redis, che si fa chiamare Antirez. "Come tale si concentra su formalità, ma è radicato in un pregiudizio verso gli altri. Io dico: continuiamo a usare master/slave, e insistiamo con il governo degli Stati Uniti, dove una parte consistente della popolazione di colore vive in condizioni di povertà, perché queste persone abbiano assistenza sanitaria gratuita, perché i poliziotti siano meno prevenuti nei confronti delle persone non-bianche, per abolire la pena di morte. Queste sono cose che fanno la differenza."

Questo articolo è apparso originariamente su Motherboard US.