К февралю 1999 года они полностью переписали оригинальную программу Национального центра суперкомпьютерных приложений и оформили свое сотрудничество под именем индейского племени.
«Я выбрал такое название, потому что хотел, чтобы оно звучало утвердительно, заявляло нашу позицию, — сказал Белендорф. — Апачи были последними, кто сдался наступающим федеральным войскам, а в то время мы боялись, что с пришествием больших корпораций их «цивилизаторские» уси–дая уничтожат ландшафт, созданный первыми строителями Интернета. Так что «Apache» казалось мне неплохим именем для движения, и кроме того другие увидели в нем любопытную игру слов: APAtCHy в смысле «сервер, который практически состоит из патчей»».
Итак, в результате множества ходов Белендорф вместе с коллегами по открытому коду — большинство которых он даже не знал в лицо, а только по электронной переписке и чату — создал виртуальную, онлайновую, антииерархическую фабрику по производству ПО, которой никто не владел и никто не управлял. «Нас объединяла инженерная задача, а что касается координации и направления/оно определялось спонтанно, в зависимости от того, кто и когда хотел поучаствовать в написании кода».
— Но как в реальности работает эта фабрика? — спросил я у Белендорфа. — Ведь нельзя же просто набрать кучу незнакомых людей и оставить их без присмотра совместно сочинять новый код?
— В принципе, для разработки потребуется место, где хранится исходник, а управление процессом осуществляется с помощью специальных инструментов, например, Системы параллельных версий[8]
, — пояснил Белендорф. — CKS–сервер находится в Сети, на моем компьютере установлен CVS–клиент, и он позволяет мне, подключаясь к серверу, получать копию кода, с которой я начинаю работать и вносить свои изменения. Если мне кажется, что моим патчем уже можно поделиться с другими, я задействую программу под названием Patch, благодаря которой создается отдельный файл, являющийся компактным набором всех изменений. Он называется патч–файлом, и его я могу передать кому–то еще, так что все остальные могут с его помощью исправить свою копию исходника, чтобы проверить его в работе. Если у меня есть право доступа к серверу, которое жестко ограничено определенным числом участников–контролеров, после этого я могу занести патч в репозитарий, чтобы он навсегда стал частью исходника. Cl/S–сервер отслеживает все изменения, и кто был их автором… Таким образом, у вас может быть доступ к чтению, но не быть доступа к изменению. Когда патч заносится кем–то в репозитарий, он рассылается по почте другим разработчикам — так работает система экспертной оценки, — и если что–то в куске кода не так, вы исправляете дефект, на который вам укажут.— Как сообщество выбирает доверенных лиц?
— Что касается Apache, — сказал Белендорф, — мы начинали как группа из восьми человек, которые по–настоящему доверяли друг другу, и по мере того как на нашем форуме появлялись новые люди и посылали нам свои патч–файлы, мы начинали доверять и им тоже, так что, в конечном счете, нас стало больше 1000. Мы стали первым проектом открытого кода, который бизнес удостоил своим вниманием и который поддержала сама «Ай–Би–Эм». «Уникальные разработки Apache позволили размещать на одной серверной машине тысячи разнообразных веб–сайтов — музыкальных, информационных, текстовых, порнографических, — поэтому вскоре их веб–серверу стала отходить львиная доля провайдерского рынка», — прокомментировал Эндрю Леонард. В то время «Ай–Би–Эм» пыталась продать собственный сервер, называвшийся GO, но его доля на рынке оказалась мизерной. Apache–сервер был лучшим технологическим решением и к тому же бесплатным. Поэтому в «Ай–Би–Эм» решили, что если они не могут разгромить «апачей», он должны взять их в союзники. А теперь остановитесь на секунду и вообразите эту ситуацию. Крупнейшая в мире компьютерная компания признала, что ее инженеры не способны превзойти случайно собравшуюся группу яйцеголовых, и поэтому отказалась от своей технологии в пользу их технологии!
— Люди из «Ай–Би–Эм» связались со мной, так как я стал чем–то вроде публичного представителя Apache, — продолжил Белендорф. — Они сказали, что хотели бы понять, как использовать Apache и не вызвать при этом ненависть сетевого сообщества, как наладить сотрудничество — не брать чужое просто так, а поучаствовать в общем процессе… Они выразились в том смысле, что считают наш новый метод заслуживающим доверия и имеющим ценность для них, а поэтому они хотят вложиться в эту работу и забыть о собственном продукте, который не идет ни в какое сравнение с нашим.