Проект OpenZFS из-за политкорректности избавился от упоминания слова «slave» в коде

12 июня 2020 года

Мэттью Аренс ( Matthew Ahrens), один из двух изначальных авторов файловой системы ZFS, провёл чистку исходных текстов OpenZFS (ZFS on Linux) от употребления слова "slave", которое теперь воспринимается как неполиткорректное. По мнению Мэттью последствия человеческого рабства продолжают сказываться на обществе и в современных реалиях термин "slave" в компьютерных программах является дополнительным упоминанием о неприятном человеческом опыте.

Вместо термина "slave" в ZFS теперь используется слово "dependent". Из видимых изменения можно отметить переименование скрипта zpool.d/slaves, который теперь называется "dm-deps" по аналогии с "dmsetup deps". Вместо выражения "slave devices" в документации и информационных сообщениях применена фраза "dependent (underlying) devices". В заголовочном файле "freebsd/spl/sys/dkio.h" параметр dki_slave просто удалён из структуры dk_cinfo без предоставления замены. Вместо команды "zpool iostat -vc slaves" предложено использовать "zpool iostat -vc size".

Ссылки на каталог "/sys/class/block/$dev/slaves" сохранены, так как имя данного каталога в иерархии sysfs определяется ядром Linux и неподвластно для изменения разработчиками OpenZFS. Без использования данного каталога можно обойтись, так как те же сведения можно получить через команду "dmsetup deps", но выполнение dmsetup требует повышенных привилегий, в то время как каталог в /sys/ доступен на чтение любым пользователям.

Напомним, что неделю назад от терминов whitelist/blacklist и master/slave избавились разработчики языка Go, а до этого от использования master/slave в коде отказались проекты Python, Drupal, Django, CouchDB, Salt, MediaWiki и Redis. В DNS-сервере BIND вместо "master/slave" более предпочтительными теперь являются термины "primary/secondary". Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, предложил альтернативы терминам "whitelist/blacklist" и "master/slave", предпочитаемые для использования в спецификациях - вместо "master/slave" рекомендуется использовать "primary/secondary", "leader/follower", "active/standby", "primary/replica", "writer/reader", "coordinator/worker" или "parent/helper", а вместо "blacklist/whitelist" - "blocklist/allowlist" или "block/permit".

Примечательно, что на GitHub число противников немного перевешивает сторонников переименования: 42 разработчика одобрили изменение, а 48 высказались против. Сторонники избавления от слова "slave" считают, что использование данного термина недопустимо, так как он заставляет некоторых людей чувствовать себя ущемлёнными и навевает воспоминания о былой дискриминации. В обществе указанное слово начало считаться оскорбительным и вызывает осуждение.

Противники переименования считают, что не следует смешивать политику и программирование, это лишь термины, значение которых уже устоялось в компьютерной технике, а негативная коннотация навязывается искусственными представлениями о политической корректности, мешающими использованию простого английского языка. Слово "slave" многогранно и несёт в себе несколько значений, которые применяются в зависимости от контекста. Без контекста слова не имеют значения и слово оскорбительно только если контекст оскорбителен. Термин "slave" уже около 50 лет используется в компьютерных системах и в контексте IT воспринимается как "ведомый", а не "раб". Если допустить искажение контекста, то можно дойти до того, что любое слово может быть вырвано из контекста, подано в извращённом смысле и представлено как оскорбительное.

Дополнение 1: В Chromium на днях приняты изменения, заменяющие в именах файлов и коде упоминания "blacklist" на "blocklist" (видимые пользователю упоминания "blacklist" и "whitelist" были заменены в начале 2019 года). В Android начали заменять "blacklist/whitelist" на "blocklist/allowlist".

Дополнение 2: Проект Node.js ведёт работу по замене blacklist/whitelist на blocklist/allowlist, но изменение пока не принято.

Дополнение 3: Проект Curl заменил упоминание "whitelist" на "skiplist", "select" или "skip", а "blacklist" на "blocklist". Разработчики Ansible рассматривают возможность замены ветки "master" на "devel". GitHub на пути замены веток "master" на "main". Разработчики OpenSSL планируют заменить "blacklist" на "block list", "black magic" на "magic", "white space" на "whitespace", "master" на "parent" или "main".

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Проект OpenZFS из-за политкорректности избавился от упоминания слова «slave» в коде», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.