
На фоне ожесточённых дебатов о том, можно ли дальше использовать в IT терминологию master/slave или нужно переходить на менее спорные альтернативы, у ряда людей (включая вашего непокорного слугу) возник вопрос: а откуда эта терминология вообще взялась-то?
Дело в том, что, в большинстве случаев, «хозяин/раб» — реально отстойная метафора для того, что в IT этими словами называют. Ну, серьёзно.
Например, репликация баз данных: хорош такой «хозяин», который сам пашет как вол, пока «рабы» прохлаждаются!
Или failover: что это за режим такой, при котором после «смерти» хозяина раб сам становится рабовладельцем. Или DNS, где раб может послать хозяина с его запросом на zone transfer к чёрту, если формат запроса ему не понравился.
В общем, пара master/slave, конечно, привычна и всем понятна, но, с лингвистической точки зрения, какая-то, всё же, странная.
В конце концов тайну происхождения этой терминологии раскрыл Пол Викси, автор утилит cron и bind. Слово Полу, перевод и примечания мои:
— Я ввёл терминологию master/slave в RFC 2136 (1997 год — прим. автора), потому что мне нужны были имена для ролей в DNS-транзакции AXFR/IXFR. Иерархия передачи зон может содержать более одного уровня, то есть сервер может инициировать некоторые AXFR/IXFR-запросы для своего «primary master» и затем отвечать на AXFR/IXFR от других серверов.
— Сейчас я понимаю, что должен был выбрать термины, наподобие «transfer initiator» и «transfer responder». Однако у меня был автомобиль, а в его гидравлической тормозной системе были «master cylinders» и «slave cylinders», поэтому я не задумался, что изобретаю какое-то новое использование для слов «хозяин» и «раб» или что использование их мной для этой цели будет противоречивым.
— Я был наивен (...молод, мне нужны были деньги — прим. автора) и я предлагаю пересмотреть терминологию, которую мы используем во всех наших распределённых системах, начиная с передачи ролей зоны DNS.
Вот так master/slave попали в DNS. Не думаю, что, например, в отрасль СУБД они тоже попали через Пола Викси. Но, так или иначе, путь, наверняка, был схожий.
Знаете байку про космический корабль и две лошадиных задницы? Вот примерно также первый камень в фундамент теперешних лингвистических IT-побоищ заложил в 1917 году изобретатель гидравлического тормоза Малкольм Локхид.
Вдогонку два забавных факта:
- Малкольм Локхид, это тот самый Локхид, чьё имя носит современная американская оборонная мегакорпорация Lockheed Martin, производитель истребителей F-22.
- Не смотря на то, что слова master/slave пришли в IT из автомобилестроения, о забастовках инженеров Ford, GM и Tesla с требованием переименовать детали гидравлических тормозов почему-то не слышно.
Автор и эксперт: Бесконечный сентябрь.