Журнал «Компьютерра» № 22 от 12 июня 2007 года
Шрифт:
Впрочем, программирование как таковое никогда не было для Брайена очень увлекательным занятием: "Это было для меня чем-то вроде ведения бухгалтерии, и какое-то время в старшей школе я использовал компьютер только для написания отчетов и решения других простых задач, но не программировал сам". Поступая в знаменитый Университет Беркли, чтобы изучать физику, он не собирался связывать свою жизнь с информационными технологиями и computer science. Но похоже, наследственность дала себя знать: Брайен столкнулся с Интернетом, который как раз превращался из экспериментального проекта в ключевой элемент информационных технологий. Физике пришлось подождать: юноша бросил университет ради
Как вы учились? По книжкам?
– Как я говорил, Бейсик я изучал по книжкам и журналам. Когда стал знакомиться с Интернетом, параллельно знакомился с Unix. А для освоения Unix нужно знать только одну великую команду…
Man? (Вызов справки по любой другой команде в Unix-системах. – И.Щ.)
– Точно! Зная эту команду, вы можете изучить все. Это не очень просто, но довольно интересно: что-то вроде игры. У нас в Беркли были кое-какие курсы по computer science – нам рассказывали о компиляторах, учили программировать на C и Lisp (я ненавидел Lisp), но самые полезные для себя знания я получил самостоятельно.
В своем докладе на конференции Open Source Forum Брайен рассказывал, как появился Apache. С самого начала это был децентрализованный проект без единого лидера. Собственно, поначалу и проекта-то не было: были несколько человек, пытавшихся приспособить для своих нужд один из первых веб-серверов, разработанных в NCSA (National Center for Supercomputing Applications). В компании Organic в 1995 году Брайен занимался разработкой сайта HotWired – первого коммерческого интернет-журнала. "Я использовал свободный сервер, написанный не мной, и вносил в него улучшения. Я мог бы сохранить их для себя, но отдать их другим мне ничего не стоило, – вспоминает Брайен. – Я никогда не был блестящим программистом, и мне нужна была обратная связь: чтобы другие люди сказали, все ли правильно я делаю". Исходная кодовая база никем не поддерживалась, и наработки Брайена и его "товарищей по несчастью" так и оставались «заплатками» (патчами) к неизменному исходному коду. Однако работать с ними было не очень удобно, и вскоре было принято решение о создании «форка» со старой кодовой базы – нового проекта, который бы включил в себя улучшения, разработанные небольшим сообществом.
Вы чувствовали, что создаете вещь, которая изменит мир?
Кстати
Одна из версий происхождения названия Apache гласит, что это игра слов от "A Patchy Server" (то есть "патченный сервер").
– В основном нет. Мы создавали первый вебсайт для публикаций. Нам нужно было впервые поместить на сайте рекламу – так что можете винить меня в появлении баннеров. Но не во всплывающих окнах – к ним я не имею никакого отношения! (смеется). Все это было значительно более интересным, нежели разработка. Написание Apache просто стало инструментом, – и хорошо, что были другие люди, со своими целями, желающие помочь. Мы просто могли работать вместе.
Впрочем, меня волновал еще один вопрос: "Кто будет управлять вебом в дальнейшем?" Когда я впервые познакомился с Интернетом, меня поразило, насколько он децентрализован. Кому принадлежит Интернет? Никому! Я был ошарашен тем, как это может быть. Тогда было много людей, веривших в обмен идеями и технологиями ради всеобщего благополучия, а не ради экономического успеха одной компании. Я задавался вопросом: как сделать, чтобы Интернет не стал собственностью Netscape или Microsoft? Так что был в этом элемент идеализма. И, наверное, зависти тоже – если бы я был Биллом Гейтсом, я бы, наверное, хотел, чтобы Интернет был моей собственностью.
Разработчики
Но была опасность, что какая-нибудь фирма (та же Microsoft, например) возьмет код Apache и сделает проприетарную программу…
– Вы считаете это опасностью, а я считаю, что это было бы даже хорошо. Во-первых, если бы они исправили ошибку в сервере, то скорее всего не стали бы хранить исправление только для себя. Потому что иначе, когда мы обновим Apache, им придется обновлять свое исправление. Во-вторых, Apache является корректной реализацией протокола HTTP и предоставляет все возможности, которые может и должен предоставлять веб-сервер. Если в Microsoft стали бы его использовать, то не смогли бы утверждать, что протокол HTTP слишком сложен для реализации. Такая ситуация была с языком HTML – когда Microsoft и Netscape реализовали только часть стандарта, а какие-то возможности реализовали по-разному, несовместимым образом. Мы считали, что самый лучший способ противодействовать желанию компаний создавать несовместимые вещи – сделать образцовую реализацию (reference implementation) протокола, причем достаточно хорошего качества, чтобы его могла использовать та же Microsoft. Мы считаем, что нам это удалось.
Кстати
Одно из нововведений в GPLv3 – совместимость с Apache Licen-se. Авторы GPLv3-софта смогут свободно использовать код Apache и его сателлитов.
За прошедшие тринадцать лет Apache прошел немаленький путь. От небольшого неофициального проекта до Apache Software Foundation. Сообщество выросло от восьми человек до более чем тысячи. Что изменилось за это время в процессе разработки?
Брайен на секунду задумывается. Потом начинает перечислять:
– Люди чаще используют IRC и чаще встречаются лично. Отчасти это связано с тем, что мы регулярно проводим конференцию разработчиков ApacheCon. Мы также делаем такую штуку – называется hackathon. Обычно на выходных перед конференцией собираем народ вместе в одной комнате без всякой повестки дня – люди просто находят тех, с кем хочется работать, садятся и начинают писать код. Это положительно влияет на продуктивность.
Участие в Apache сейчас – хорошая запись в вашем резюме. Люди приходят к нам в том числе из-за этого.
Мы сейчас больше времени тратим на обсуждение политических вопросов. Например, была большая дискуссия во внутреннем списке сообщества о роли женщины в open source. Это действительно очень важная тема – женщин в open source недостаточно, недостаточно женщин-разработчиков. Впрочем, одни этим очень расстроены, другим это не важно. Должны ли мы – Apache Software Foundation – изменить ситуацию? Должны ли создавать специальные места, чтобы женщины могли участвовать в работе над Apache, должна ли быть соответствующая тема на конференции? Так что мы больше времени обсуждаем подобные вопросы – хотя возможно, потому, что наша организация стала более взрослой.