Кратко
- Apache вырос из исправлений, которые администраторы сайтов независимо вносили в NCSA httpd 1.3. Список рассылки, общее пространство и испытания на серверах самих участников превратили эти изменения в общий выпуск, доступный для проверки.
- В 1995 году NCSA не исчез: разработка возобновилась, а его команда обменивалась исправлениями с Apache. Тем временем Apache перешёл от объединения патчей к модульной архитектуре Shambhala.
Пользователи уже занимались сопровождением
В начале 1995 года NCSA httpd широко использовался в вебе, но после ухода Rob McCool из NCSA в середине 1994 года разработка замедлилась. Операторы не стали просто ждать, пока учреждение возобновит работу. Администраторы уже добавляли возможности и исправляли ошибки в собственных установках. Не хватало надёжного способа сопоставить изменения, объединить их и выпустить версию, которую могли бы испытать другие.
В позднейшей официальной истории Apache говорится, что сначала администраторы связались друг с другом по частной электронной почте. Затем Brian Behlendorf и Cliff Skolnick создали список рассылки, общее информационное пространство и учётные записи разработчиков на машине в районе залива Сан-Франциско; HotWired предоставила пропускную способность канала. К концу февраля восемь основных участников образовали первоначальную группу Apache. Эта инфраструктура не уравняла серверы разных сайтов. Она дала операторам общее место, где изменения можно было увидеть и обсудить.
Группа взяла за основу NCSA httpd 1.3, собрала опубликованные исправления и полезные улучшения и испытала результат на собственных серверах. Apache 0.6.2 впервые вышел публично в апреле 1995 года. В объявлении от 27 апреля Randy Terbush представил его как общедоступный HTTP-сервер на основе патчей к NCSA 1.3. Среди перечисленных возможностей были согласование содержимого, несколько доменных имён, настраиваемые ответы об ошибках, передача файлов без изменений, более строгое соответствие спецификациям и аутентификация DBM.
В современном событию объявлении также назывались первые пользователи — HotWired, MIT AI Lab, Organic и Hyperreal — и несколько систем Unix, на которых сервер проходил проверку. Там же подчёркивалось, что это бета-версия и ошибки ещё возможны. Общий выпуск не устранил эксплуатационный риск: он сделал конкретный набор изменений доступным для оценки другими.
NCSA продолжала развивать свой вариант
Упрощённый рассказ изображает Apache как замену после полного прекращения работы NCSA. Собственная ретроспектива Apache точнее: NCSA возобновила разработку в тот же период. Brandon Long и Beth Frank из команды серверов NCSA присоединились к списку в марте в качестве почётных участников, чтобы проекты могли обмениваться идеями и исправлениями. Обсуждение в Usenet в октябре 1995 года также описывало развивающуюся ветку NCSA и функции, перенятые из Apache.
Проекты конкурировали за установки, но не были полностью разделены технически. Оператора интересовали конкретные вопросы: какая версия работает на его машине, что изменилось и как вернуться назад при сбое? Патч можно было изучить без одновременного обновления всех сайтов. Выпуск делал изменение воспроизводимым, а решение об установке оставалось за каждым оператором.
У такого сотрудничества была цена. Объединение изменений из разных сред могло привести к несовместимости. Группе приходилось проверять больше платформ, документировать выпуски и поддерживать растущее сообщество пользователей. В истории Apache признаётся, что 0.6.2 быстро стал популярным, но кодовую базу всё равно требовалось основательно переработать. Открытая совместная работа не отменяет сопровождение: она распределяет его, а рост использования повышает требования к координации.
От набора патчей к новой архитектуре
В мае и июне группа продолжила реализовывать функции ветки 0.7, в том числе предварительно запускаемые дочерние процессы, и одновременно помогала большему числу пользователей. В это же время Robert Thau спроектировал Shambhala — новую архитектуру с модулями и API, распределением памяти через пулы и адаптивной моделью prefork. В июле группа перешла на эту основу; в августе появился Apache 0.8.8. После дополнительных бета-испытаний, портирования и подготовки документации 1 декабря 1995 года вышел Apache 1.0.
Переход изменил поверхность, на которой предстояло строить дальнейшие изменения. Сначала общая работа заключалась в отборе и объединении исправлений вокруг уже известного сервера. Shambhala изменила структуру будущей разработки: модульность и API сделали расширяемость свойством конструкции сервера, а не только результатом очередного пакета патчей.
Архитектура также перераспределила обязательства. Модули могут отделить расширение от ядра, но для этого нужны понятные интерфейсы, проверки совместимости и постоянное сопровождение. Перепроектирование не сделало обслуживание автоматическим. Часть согласования переместилась в API, модули и договорённости о совместимости. Операторы по-прежнему выбирали версию для запуска, а NCSA продолжала свой вариант.
Принятие видно по работающим узлам
Самые ясные данные о росте Apache относятся к 1996 году. В августовском сообщении Netcraft сравнивались 18 957 ответивших узлов в августе 1995 года и 342 081 годом позже. В выборке 1996 года на Apache приходилось 35%, на NCSA — 18%. Netcraft предупреждала, что рост выборки был связан и с естественным расширением веба, и с тем, что компания стала лучше находить сайты. Это ответившие имена узлов, классифицированные по серверу, а не число уникальных организаций, людей или посещений; эти цифры сами по себе не устанавливают причину успеха.
Тем не менее обследование показывает то, чего не может показать объявление о выпуске: многие операторы выбрали Apache. Путь проявился в действующих установках — известная базовая версия, сравнимые изменения, локальные испытания, общий выпуск, а затем перестроенная архитектура. Практический авторитет версии основывался на возможности её запустить и проверить. Список и группа сделали принятие возможным, но не принимали решение за каждый сайт.
Источники и ограничения
История проекта Apache — позднейшее институциональное воспоминание. Объявление апреля 1995 года и обследование Netcraft за 1996 год — источники того времени. Первичные архивы раннего списка разработчиков и полные журналы установок для этой работы найти не удалось. Поэтому числа Netcraft следует читать как ограниченную выборку; они не доказывают, что одна лишь модель сопровождения Apache изменила рынок.
Использованные источники
- Apache HTTP Server Project — How Apache Came to Be
- Randy Terbush — Announcing the Apache HTTP web server project (27 апреля 1995)
- Mike Prettejohn / Netcraft — August 1996 Web Server Survey
- comp.infosystems.www.servers.unix — Apache vs NCSA httpd 1.4 (октябрь 1995)
- Netcraft — December 1996 Web Server Survey
- Apache Software Foundation — Timeline
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
