Томас Фридман - Плоский мир: краткая история ХХI века
Меня настолько увлекла та часть движения открытого кода, которая фокусируется на общедоступности интеллектуальных продуктов, что я решил отправиться и познакомиться с «ребятами из курьерской службы» лично. В конце концов, поиск привел меня к одному из пионеров движения, Брайану Белендорфу. Если бы Apache — сообщество разработчиков бесплатного веб–сервера — было индейским племенем, Белен–дорф был бы в нем старейшиной. Я встретился с ним на его рабочем месте, в офисе неподалеку от аэропорта Сан–Франциско. На сегодняшний день он является одним из основателей и техническим директором «КоллабНет», молодой компании, занимающейся созданием программ для других компаний, которые желают использовать в своих инновациях подход, исповедуемый открытым кодом. Я начал с двух простых вопросов: «С чего вы начинали?» и «Как вам удалось объединить интернет–фанатиков в сообщество, способное конкурировать с «Ай–Би–Эм»?»
«Мои родители познакомились, работая на «Ай–Би–Эм» в Южной Калифорнии, и я вырос в городке Ла–Канада, к северу от Пасадены, — рассказал Беленфорд. — Учиться в моей школе было непросто, так как имелась серьезная конкуренция, родители многих учеников работали в Лаборатории испытаний реактивного движения, входящей в систему Калифорнийского технологического. Так что с самого раннего возраста меня окружала наука, и в моей среде «яйцеголовость» была в порядке вещей. В нашем доме всегда стояли компьютеры, а на использованных перфокартах, на которых когда–то работали мейнфреймы «Ай–Би–Эм», мы записывали списки покупок.
Минимум программистских навыков я освоил довольно рано, и к выпускным классам уже хорошо разбирался в компьютерах… Школу я закончил в 1991–м, но еще в 1989–м, в самые первые дни Интернета, приятель как–то дал мне на дискете копию программы Fractint. Она не была пиратской, это была коллективная разработка группы программистов для бесплат–його пользования, и она предназначалась для рисования фракталов[6]. Когда программа запустилась, на экране стал прокручиваться список электронных адресов всех тех программистов и математиков, которые участвовали в ее создании. Я заметил, что в программу был включен и исходный код. Так я впервые познакомился с идеей открытого кода — с бесплатно скачиваемой программой коллективного авторства, вдобавок снабженной исходным кодом. Она изменила образ программиста, сложившийся у меня в голове. Я начал понимать, что в написании программ может быть задействована интересная социальная динамика, в отличие от того, что я уже знал, — мира профессиональных разработчиков коммерческих компаний и «шкафов» ЭВМ, которым они скармливали информацию и забирали результаты. Та работа была для меня немногим привлекательней бухгалтерского учета».
После школы в 1991 году Белендорф поступил на физический факультет Беркли, но вскоре ему перестало нравиться делить себя между абстракциями, о которых ему рассказывали в аудитории, и теми увлекательными вещами, которые начали появляться в Интернете.
«В то время при поступлении в колледж вам давали собственный адрес электронной почты, и я начал использовать его, чтобы общаться с другими студентами и путешествовать по форумам музыкальной направленности, — сказал Белендорф. — В 1992–м я начал собственную интернет–рассылку, которая была посвящена калифорнийской электронной сцене. Участники могли размещать свои сообщения на форуме, рассылка начала расти, мы обсуждали всякие музыкальные события и местных ди–джеев. Затем мы подумали, почему бы не приглашать собственных ди–джеев и не устраивать мероприятия самим. У нас организовалась своя команда: кто–то говорил: «У меня есть музыка», кто–то еще: «У меня есть музыкальная система» или «Я знаю, где на пляже можно в полночь устрою ить вечеринку». Тогда, в 1993 году, Интернет все еще большей частью состоял из рассылок, электронной почты и РТР–сайтов (файлохранилищ). Я начал собирать архив электронной музыки и заинтересовался, как можно было бы выложить его в он–лайне для всех желающих. Тогда я впервые услышал о Mosaic, веб–браузере, созданном Марком Андриссеном. Я нашел работу в компьютерной лаборатории при бизнес–школе Беркли и все свободное время посвящал исследованию возможностей Mosaic и других веб–технологий. Это привело меня на форум, участниками которого были люди, разрабатывавшие первые поколения веб–браузеров и веб–серверов[7].
Я сидел в этом форуме и наблюдал, как Тим Бернерс–Ли и Марк Андриссен спорят друг с другом о функциональных возможностях веб–технологий, — вспоминал Белендорф. — Это было восхитительно и рождало редкое чувство причастности: чтобы быть одним из них, не нужно было ни степени, ни других подтверждений твоего статуса. Скоро я понял, что между моими приятелями по музыкальному форуму и этими специалистами, которых объединял интерес к веб–программированию, есть нечто общее. Итак, какое–то время я следил за обсуждением, а потом рассказал об этом приятелю, который, как, оказалось, был одним из первых сотрудников журнала «Уайрд». Тогда он сообщил мне, что редакция хочет, чтобы я сделал для них вебсайт. Они платили мне 10 долларов в час, и в результате я сделал им и электронную почту, и их первый сайт — Hot Wired… Он был одним из первых онлайновых журналов, существовавших за счет рекламы».
Руководство Hot Wired решило, что на сайте будет регистрация с паролями, — рискованное на тот момент решение с точки зрения большинства интернет–пользователей. «В те t дни, — заметил Эндрю Леонард, который в 1997 году написал историю Apache для Salon.com, — большинство вебмастеров пользовались разработками Национального центра суперкомпьютерных приложений — Национального центра приложений для сверхвычислительных машин при Университете Иллинойса (бывшего также местом рождения первого браузера — Mosaic). Однако разработанный там веб–сервер не умел справляться с аутентификацией паролей в таком масштабе, в каком это требовалось Hot Wired. К счастью, сервер Центра юридически был всеобщим достоянием, а значит, исходники были открыты для всех посетителей. Белендорф просто воспользовался прерогативой хакера: он написал скорректированный фрагмент кода, «патч» для их сервера, который решал проблему с паролями. При этом он был не единственным, кто возился в ту зиму с кодом Национального центра суперкомпьютерных приложений. В бурно растущей Всемирной паутине вебмастера начинали все яснее понимать, что придется брать инициативу в свои руки. Оригинальный код был заброшен и собирал виртуальную пыль, поскольку главный программист Национального центра суперкомпьютерных приложений, студент Университета Иллинойса Роб Маккул (вместе с Марком Андриссеном и автором Lynux Эриком Бина) перешел на работу в «Нетскейп», еще тогда мало чем зарекомендовавшую себя компанию из Силиконовой долины. В то же время Сеть продолжала расти без остановки — и создавала новые проблемы для существующих веб–серверов». Заплатки множились на этой расползающейся ткани, закрывая одну дыру и тут же обнаруживая новую.
Постепенно именно из этих заплаток — незапланирбван но, но неуклонно — стал складываться современный веб–сер вер. Но поскольку Национальный центр суперкомпьютерных приложений уже не мог взять процесс под контроль, у каждого автора была своя версия кода, лишь отчасти пересекавшаяся — благодаря обмену патчами — с версиями других.
«Я тогда был на грани того, чтобы бросить университет, — рассказывал Белендорф. — Мне ужасно нравилось работать над сайтом для «Уайрд», в ходе этой работы я узнавал больше, чем узнавал в Беркли. С моей скромной группой помощников мы часто обсуждали, почему сотрудники Национального центра суперкомпьютерных приложений не отвечают на наши электронные письма. Мы посылали патчи для их системы, безо всякой реакции с их стороны. И мы подумали: «Если Национальный центр суперкомпьютерных приложений будет продолжать не обращать внимания на наши исправления, что же будет дальше?» Процесс усовершенствования доставлял нам удовольствие, но нам не нравилось отсутствие обратной связи и то, что исправления были никому не нужны. Я списался с некоторыми людьми, которые, как я знал, обменивались патчами друг с другом… Большинство из них входило в рабочие группы, занятые созданием стандартов, то есть части объединенной группы решения инженерных задач в Интернете, — первых стандартов коммуникации между машинами и приложениями в Интернете… Мы решили, что возьмем будущее в свои руки и выпустим собственную версию веб–сервера, в которую войдут все наши исправления.
Мы посмотрели, что написано на сайте Национального центра суперкомпьютерных приложений о правах, и текст в сущности сводился к следующему: упомяните, что код был создан в Университете Иллинойса, если будете его усовершенствовать, — и не вините нас, если он перестанет работать. И мы принялись создавать собственный сервер на основе уже имеющихся патчей. Ни у кого из нас не было времени, чтобы целиком посвящать его этому занятию, но мы полагали, что если объединим усилия и будем действовать открыто, вместе со всеми желающими, мы сумеем создать нечто лучшее, чем сможем купить в магазине — впрочем, все равно ни в одном в магазине ничего подобного не продавалось, ведь это было еще до того, как «Нетскейп» поставил на рынок первый коммерческий веб–сервер. Так стартовал проект Apache».