W ostatnim czasie świat IT obiegła informacja , że jeden z najpopularniejszych języków programowania – Python od swojej kolejnej wersji 3.8 porzuca terminologię „slave” i „master”. Dlaczego? Wiele osób odbierało ją jako niewrażliwą. Przyjrzyjmy się, o co tyle hałasu.
Mistrz i niewolnik
„Master” i „slave” to terminy powszechnie używane w sprzęcie, architekturze i kodowaniu w odniesieniu się do urządzeń, baz danych czy procesów, które sterują innymi. Wątpliwości dotyczące trafności ich użycia nie były nowe – od dawna już nękały społeczność developerów. Obawiano się, że określenia te są obraźliwe z powodu przywoływania na myśl instytucji niewolnictwa. Bomba wybuchała jednak dopiero ostatnio, kiedy to programista Victo Stinner pracujący w Red Hat opublikował cztery prośby do społeczności Python dotyczące zmiany mało wrażliwych terminów na mniej kontrowersyjne, jak np. „parent”, „worker”. W Internecie zawrzało. Rozgorzała bitwa na argumenty pomiędzy zwolennikami różnorodności i tolerancji a przeciwnikami zmian.
Spór rozstrzygnięty
Ostatecznie w konflikt zaangażowano Guido van Rossuma, który w lipcu br. oficjalnie odszedł na emeryturę. Twórca Pythona zamknął dyskusję. Ostatecznie postanowił przychylić się do trzech z czterech wniosków Stinnera. Jego zdaniem czwarty nie powinien być uwzględniony, ponieważ odzwierciedla podstawową terminologię plików pty UNIX. Podjęto decyzję, że od wersji 3.8 Python wycofa się z nazw „master” i „slave” na rzecz „workers” i „helper”, natomiast „master process” zostanie zastąpiony przez „parent process”.
Nie pierwszy taki przypadek
Przypadek Pythona to nie pierwszy raz, kiedy kwestia używanej terminologii budzi kontrowersje. Problem ten ciągnie przynajmniej od 2003 roku, kiedy to jeden z pracowników County of Los Angeles Probation Department złożył skargę do lokalnego urzędu zajmującego się sprawami równego traktowania i przeciwdziałania dyskryminacji po tym, jak słowa „slave” i „master” zauważył na jednym z magnetowidów. Skutkiem tego było orzeczenie sądu nawołujące wszystkich współpracujących z hrabstwem producentów elektroniki, aby zaprzestali umieszczania tych terminów na swoich produktach. Kwestia ta powróciła w ostatnim czasie, kiedy to kolejni twórcy popularnych technologii, takich Drupal, czy Django, również zdecydowali się zrezygnować z tych pojęć ze względu na polityczną poprawność.
Choć osobom niezwiązanym z IT zmiany te mogą wydawać się „kosmetycznym zabiegiem”, w rzeczywistości to sprawa niemałej wagi. Python to w końcu jeden z najbardziej ulubionych przez programistów języków a pomysł odejścia od tradycyjnej terminologii nie wszystkim się podoba.