История BIND

Пакет Berkeley Internet Name Domain (BIND) был первоначально написан в начале 1980-х годов в Калифорнийском университете в Беркли в качестве проекта аспирантов и студентов по гранту Управления перспективных исследовательских проектов Министерства обороны США (DARPA). Версии BIND до версии 4.8.3 поддерживались Группой исследования компьютерных систем (CSRG) Калифорнийского университета в Беркли. Дуглас Терри, Марк Пейнтер, Дэвид Риггл и Сонгнян Чжоу составили первоначальную команду проекта BIND.

После этого дополнительную работу над программным пакетом проводил Ральф Кэмпбелл. Кевин Данлэп, сотрудник корпорации Digital Equipment (DEC), переданный в распоряжение CSRG, работал над BIND в течение двух лет, с 1985 по 1987 год. За это время в его разработку также внесли вклад многие другие люди, в том числе Даг Кингстон, Крейг Партридж, Дэвид Вайтцман из BBN Technologies, Смут Карл-Митчелл, Майк Муусс, Джим Блум и Майк Шварц. Сопровождением BIND впоследствии занимались Майк Карелс и О. Куре.

Версии BIND 4.9 и 4.9.1 были выпущены компанией Digital Equipment Corporation (сейчас Hewlett-Packard Enterprise). Пол Викси, в то время сотрудник DEC, стал главным хранителем BIND. Полу помогали Фил Алмквист, Роберт Элц, Алан Барретт, Пол Альбитц, Брайан Бичер, Эндрю Партан, Энди Черенсон, Том Лимончелли, Бертольд Паффрат, Фуат Баран, Анант Кумар, Арт Харкин, Вин Триз, Дон Льюис, Кристоф Вольфхугель и другие.

Пол Викси стал главным архитектором/программистом BIND и спонсировал разработку BIND версии 4.9.2 через свою фирму Vixie Enterprises.

Версии BIND 4 и 8: зарождение ISC

ISC была основана в 1994 году Риком Адамсом, Полом Викси и Карлом Маламудом специально для того, чтобы обеспечить дом для разработки и поддержки BIND. Версии BIND, начиная с 4.9.3, разрабатывались и поддерживались ISC при поддержке спонсоров ISC. В качестве со-архитекторов/программистов Боб Халли и Пол Викси выпустили первую готовую к производству версию BIND версии 8 в мае 1997 года.

BIND версий 4 и 8 официально устарели. Исходные тексты по-прежнему архивируются на ftp.isc.org.

BIND 9: 2000 – сегодня

За 20 лет существования BIND 9 в его разработку и поддержку внесли существенный вклад более 43 основных разработчиков.

Версия BIND 9 была выпущена в сентябре 2000 года и представляла собой значительную переработку почти всех аспектов базовой архитектуры BIND. После того как Боб Халли и Майкл Графф начали работу над начальной версией BIND 9, к команде присоединились Марк Эндрюс, Дэвид «Tale» Лоуренс, Андреас Густафссон, Брайан Веллингтон, Джеймс Бристер и Майкл Сойер, каждый из которых внес значительный вклад в ранние версии BIND 9. Из первоначальной команды разработчиков только Марк Эндрюс до сих пор работает над BIND. После Марка, Эван Хант, который присоединился к основной команде в 2007 году, является текущим членом команды с самым длительным стажем.

Разработка BIND 10, 2009 – 2014 гг.

В 2009 году ISC начала попытку переписать BIND с нуля, создав BIND 10. Он был задуман как замена и улучшение BIND 9, основанный на совершенно новой структуре приложений. BIND 10 был совместным проектом с группой основных спонсоров и разработчиков технологий, в основном из сегмента пользователей ccTLD. Принято считать, что он страдал от проблемы «второй системы», но на самом деле все гораздо сложнее. В 2014 году Шейн Керр, последний руководитель проекта BIND 10, выступил с докладом Упадок и падение BIND 10 на встрече сообщества RIPE 68.

В годы разработки BIND 10 Марк Эндрюс и Эван Хант оставались соруководителями BIND 9, в то время как остальная команда ISC DNS сосредоточилась на «следующей системе». В 2014 году ISC прекратила разработку BIND 10 и сосредоточилась на инвестициях в BIND 9.

Сообщество

В 2016 году после обсуждения в списке рассылки bind-users ISC объявила, что BIND 9.11.0 и более поздние версии будут распространяться под лицензией MPL 2.0. В июле 2017 года ISC открыла базу данных ошибок BIND для внешних пользователей; в феврале 2018 года ISC перенесла проект BIND на новый самостоятельный инстанс GitLab и пригласила внешних участников присоединиться к нему.

В файле changelog BIND 9, включенном в дистрибутив, перечислены основные изменения в каждом выпуске, начиная с версии 9.2.0.

Рефакторинг BIND 9

В 2017 году ISC приступила к программе рефакторинга, чтобы обновить или заменить некоторые из наиболее сложных и трудных в обслуживании частей BIND. Мы рефакторизовали нашу реализацию Response Policy Zones (RPZ), чтобы «отвязать» ее от Red-Black Tree (rbtdb). Мы рефакторизовали несколько основных функций, включая query_find() и answer_response(), чтобы упростить их; обе функции были очень сложными. У query_find до рефакторинга был балл МакКейба 453, то есть при внесении изменений в эту функцию нужно было учитывать 453 различных пути кода! BIND 9 был впервые написан для работы на широком спектре операционных систем в то время, когда у них не было общих сетевых интерфейсов, что привело к увеличению сложности с годами. В 2019-20 годах ISC заменила собственный сетевой интерфейс в BIND на современный и широко распространенный компонент libuv.

Текущая команда разработчиков BIND 9

Текущую команду разработчиков BIND возглавляет Ондржей Суры, в нее входят Марк Эндрюс, Эван Хант, Михал Кемпень, Матиас Меккинг, Михал Новак, Артем Болдариев, Петр Шпачек, Арам Саргсян, Том Кржижек, Штепан Балажик и Айдын Меркан.

Полный «файл об авторах» из дистрибутива BIND обширен, но неполный. История коммитов BIND не отражает реальных масштабов вклада сообщества за пределами основной команды, поскольку правами на коммит обладала лишь относительно небольшая группа сотрудников ISC; пока мы не перешли на нынешнюю систему разработки GitLab, авторство получал коммиттер, а не автор. Тем не менее, несмотря на отсутствие истории коммитов, в числе заметных давних сторонних авторов можно назвать Тони Финча (до того, как он стал работать в ISC) и Петра Меншика.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)