GitHub откажется от имени master для основных веток

15 июня 2020 года

Нэт Фридмэн (Nat Friedman), руководитель GitHub подтвердил намерение компании перейти по умолчанию на использование для основных веток имени «main» вместо «master» в знак солидарности с протестующими против полицейского насилия и расизма в США и во избежание ненужных ассоциаций с рабством (слово «master» можно перевести с английского языка не только как «мастер» или «оригинал», но и как «хозяин».

Новое имя будет использовано только для новых репозиториев, в уже существующих проектах ветка «master» сохранит своё имя. Тем не менее, обсуждается возможность подготовки опции, которая по желанию отдельных разработчиков позволит автоматизировать переименование для существующих проектов.

Обсуждение необходимости ухода от термина «master» развязано и в списке рассылки разработчиков Git. Пока активными сторонниками данной идеи являются лишь отдельные активисты, а большинство разработчиков выступают против, тем более, что в Git слово master используется отдельно, а не в паре со словом «slave».

Сервис GitHub примкнул к длинному списку технологических компаний и открытых проектов, решивших отказаться от терминов, которые могут показаться оскорбительными разработчикам негроидной расы. К примеру, из обихода будут выведены понятия master («хозяин» или «ведущий») и slave («раб» или «ведомый»), а вместо них появятся альтернативы наподобие main/default/primary («основной/по умолчанию/первичный») и secondary («вторичный»). Также решено отказаться от терминов blacklist («черный список») и whitelist («белый список») в пользу allow list («список разрешенных») и deny/exclude list («список запрещенных/исключенных»).

Но настоящее торжество политкорректности наблюдается в проекте OpenSSL, участники которого посчитали недопустимым выражение «чёрная магия». Разработчики OpenSSL рассматривают включение патча, заменяющего «black magic» на «magic», «blacklist» на «block list», «white space» на «whitespace», «master» на «parent» или «main».

Помимо упоминавшихся на днях инициатив OpenZFS и Go, можно отметить и некоторые другие недавние переименования:

  • В Chromium приняты изменения, заменяющие в именах файлов и коде упоминания «blacklist» на «blocklist» (видимые пользователю упоминания «blacklist» и «whitelist» были заменены в начале 2019 года).
  • По словам разработчицы Google Chrome Уны Кравец (Una Kravets), Chrome project также рассматривает возможность переименования основной ветви исходного кода браузера с master на main. Кравец попросила GitHub последовать примеру Google, на что глава сервиса Нэт Фридман (Nat Friedman) ответил, что его компания уже работает над этим.
  • В Android начали заменять «blacklist/whitelist» на «blocklist/allowlist».
  • Проект Node.js ведёт работу по замене blacklist/whitelist на blocklist/allowlist, но изменение пока не принято.
  • Проект Curl заменил упоминание «whitelist» на «skiplist», «select» или «skip», а «blacklist» на «blocklist».
  • Разработчики Ansible рассматривают возможность замены ветки «master» на «devel».
  • В коде PHPUnit заменили Blacklist на ExcludeList, в том числе поменяли файл PHPUnit/Util/Blacklist на PHPUnit/Util/ExcludeList.
  • Программный инженер LinkedIn Габриель Ксапо (Gabriel Csapo) сообщил на этой неделе о подаче запросов на обновление целого ряда внутренних библиотек Microsoft и удаление словосочетаний, которые можно посчитать расистскими.

Из сообществ, отказавшихся в прошлые годы от использования master/slave, можно отметить проекты Python, Drupal, Django, CouchDB, Salt, MediaWiki, PostgreSQL и Redis. В DNS-сервере BIND сохранили возможность использования настроек с именами «master/slave», но добавили альтернативы с «primary/secondary» и объявили их более предпочтительными. Разработчики ядра Linux в своё время назвали попытки переименования «blacklist/whitelist» вздором и глупостью, навиваемой политиками и популистами, и отказались производить замену, в том числе пояснив что термин «blocklist» приведёт к искажению смысла и не исключает восприятие как «список блочных объектов».

Комитет 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».

Источники

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

Комментарии:GitHub откажется от имени master для основных веток