Плоский мир: краткая история ХХI века | страница 71



«Я выбрал такое название, потому что хотел, чтобы оно звучало утвердительно, заявляло нашу позицию, — сказал Белендорф. — Апачи были последними, кто сдался наступающим федеральным войскам, а в то время мы боялись, что с пришествием больших корпораций их «цивилизаторские» уси–дая уничтожат ландшафт, созданный первыми строителями Интернета. Так что «Apache» казалось мне неплохим именем для движения, и кроме того другие увидели в нем любопытную игру слов: APAtCHy в смысле «сервер, который практически состоит из патчей»».

Итак, в результате множества ходов Белендорф вместе с коллегами по открытому коду — большинство которых он даже не знал в лицо, а только по электронной переписке и чату — создал виртуальную, онлайновую, антииерархическую фабрику по производству ПО, которой никто не владел и никто не управлял. «Нас объединяла инженерная задача, а что касается координации и направления/оно определялось спонтанно, в зависимости от того, кто и когда хотел поучаствовать в написании кода».

— Но как в реальности работает эта фабрика? — спросил я у Белендорфа. — Ведь нельзя же просто набрать кучу незнакомых людей и оставить их без присмотра совместно сочинять новый код?

— В принципе, для разработки потребуется место, где хранится исходник, а управление процессом осуществляется с помощью специальных инструментов, например, Системы параллельных версий[8], — пояснил Белендорф. — CKS–сервер находится в Сети, на моем компьютере установлен CVS–клиент, и он позволяет мне, подключаясь к серверу, получать копию кода, с которой я начинаю работать и вносить свои изменения. Если мне кажется, что моим патчем уже можно поделиться с другими, я задействую программу под названием Patch, благодаря которой создается отдельный файл, являющийся компактным набором всех изменений. Он называется патч–файлом, и его я могу передать кому–то еще, так что все остальные могут с его помощью исправить свою копию исходника, чтобы проверить его в работе. Если у меня есть право доступа к серверу, которое жестко ограничено определенным числом участников–контролеров, после этого я могу занести патч в репозитарий, чтобы он навсегда стал частью исходника. Cl/S–сервер отслеживает все изменения, и кто был их автором… Таким образом, у вас может быть доступ к чтению, но не быть доступа к изменению. Когда патч заносится кем–то в репозитарий, он рассылается по почте другим разработчикам — так работает система экспертной оценки, — и если что–то в куске кода не так, вы исправляете дефект, на который вам укажут.