Братство лисы

Автор: Илья Щуров
Опубликовано в журнале "Компьютерра" №31 от 26 августа 2008 года

Если на какой-нибудь международной конференции, связанной с Интернетом или свободным программным обеспечением, вы вдруг услышите имя Гэндальф, не пытайтесь разглядеть в толпе благообразного старца с длинной бородой и магическим посохом. Скорее всего вы увидите энергичного молодого человека в футболке с символикой Mozilla, который с удовольствием расскажет вам об открытых проектах, сообществах и будущем веба. И, поверьте, его стоит послушать - не так часто встретишь такой заряд энтузиазма и увлеченности своим делом в современном мире.

В миру Гэндальф известен под именем Збигнев Бранецкий (Zbigniew Braniecki). Он родился в Польше и сейчас работает в корпорации Mozilla (принадлежащей одноименному некоммерческому фонду). Разработкой браузеров заинтересовался в 2000 году - когда Netscape (кодовая база которого легла в основу тогда очень молодого проекта Mozilla) криво отобразил написанную им веб-страницу. "Я попытался сообщить разработчикам, что у них в браузере ошибка, но они быстро объяснили, что есть такая штука, как веб-стандарт, и на самом деле ошибка у меня", - вспоминает Гэндальф. Попутно он узнал, что браузер Mozilla является открытым проектом, в котором может принять участие любой человек, и эта мысль захватила его воображение:

- Совсем недавно было только два браузера, создаваемых Microsoft и Netscape, и веб-разработчики могли лишь следовать тому, что решили эти две компании. И вдруг мне говорят, что я могу сам влиять на механизм работы браузеров, быть не потребителем, а производителем, активной стороной.

Збигнев стал участвовать в польском сообществе Mozilla, занимавшемся локализацией браузера, и начал с упрощения связи с разработчиками, чтобы иметь возможность донести до них проблемы, с которыми сталкиваются пользователи в Восточной Европе.

- Когда речь идет о локализации, нужно думать не только о переводе, но и об интеграции в другую культуру, о том, как люди в разных странах используют Интернет поясняет Збигнев. - Например, преимущественно американская команда разработчиков изначально не учитывала, что в восточноевропейских языках есть такие странные вещи, как склонения, и нам потребовалось несколько лет, чтобы достичь взаимопонимания в подобных вопросах.

В какой-то момент Бранецкий решил, что пора поискать работу, связанную с Mozilla, и оказался в компании-стартапе Flock, занимавшейся созданием одноименного революционного "социального браузера". А еще через пару лет, когда Flock выпустила версию 1.0, он перешел в Mozilla Corporation. Збигнев занимался и продолжает заниматься программированием, но существенная часть его работы состоит в выстраивании отношений с сообществами - в случае Mozilla речь идет в первую очередь о европейских региональных сообществах, занимающихся локализацией. Эта деятельность оказалась настолько интересной, что Збигнев ушел в нее с головой.

- Изначально я учился computer science, но это оказалось для меня слишком сложным - я не очень силен в математике и теории алгоритмов, так что учебу пришлось бросить. Однако со временем я обнаружил, что хоть моя работа и связана с компьютерами и софтом, я нахожусь ближе к пользователям, к организации сообществ, чем к написанию кода. И я стал учиться социологии и социальной психологии и надеюсь закончить обучение именно по этой специальности.

Мир Mozilla

Сравнивая свою работу в Flock и Mozilla, Збигнев отмечает, что несмотря на схожесть его "должностных обязанностей", между проектами есть большая разница:

- Работать с сообществом в Mozilla интереснее и сложнее, потому что само сообщество больше и старше. Во Flock мы были первопроходцами и могли спокойно решать, по какому пути двигаться вперед, а в Mozilla нужно понимать уже сформировавшееся сообщество, которое за восемьдевять лет своего существования выработало собственные способы решения проблем. Я не могу просто сказать: давайте сделаем вот так. Мне ответят: нет, мы сами решаем, как мы хотим действовать. И это замечательно, потому что это соответствует нашей идее открытого веба, в разработке и определении будущего которого может участвовать каждый. Эта идея оказалась очень привлекательной не только для США, но и для пользователей из других стран - везде есть люди, которые хотят этим заниматься, они имеют собственные точки зрения и делятся с Mozilla частью своей культуры.

Збигнев подчеркивает, что Mozilla Corporation не имеет непосредственной власти над сообществом. Впрочем, такая постановка вопроса вообще не совсем корректна, и в какой-то момент он поправляет меня: "Неверно разделять сообщество и Mozilla Corporation. Мы являемся частью сообщества". Конечно, есть действия, которые могут вызвать беспокойство компании…

- Мы хотим быть уверены в том, что какое-то региональное сообщество не занимается деятельностью, противоречащей нашим убеждениям, - например, не пытается закрыть код Mozilla или продавать Firefox, скрывая тот факт, что его можно скачать бесплатно. Да, мы знаем, что в сообществах бывают конфликты - и это нормально, потому что все мы люди. Мы знаем, что лидеры сообществ могут ошибаться и принимать неверные решения по самым разным причинам, и мы хотим быть уверены, что есть определенные механизмы компенсации, запасные выходы - например, если люди внутри сообщества недовольны действиями своих лидеров, они могут просто уйти и работать в другом месте - то есть сделать fork.

Собственно, такая история и произошла с польским сообществом, известным как Mozilla.pl. Оно управлялось двумя людьми, державшими все под жестким контролем, - только они имели возможность что-то реально сделать (например, выпустить локализацию очередной версии). Если эти два человека уходили в отпуск, жизнь сообщества замирала, несмотря на множество людей, готовых к работе.

"Нам это не нравилось, у нас было море сил и идей, нам хотелось что-то делать, а у наших лидеров оставалось все меньше и меньше времени на проект", - рассказывает Збигнев. Когда терпение лопнуло, был основан альтернативный проект Aviary.pl, работающий по другим принципам. Эти принципы прошли проверку временем и практикой: успех Aviary.pl говорил сам за себя, и в какой-то момент два сообщества примирились и воссоединились уже "под крылом" Aviary.pl.

- Это более правильный выход, чем если бы в Mozilla.pl пришли американцы и сказали: вам нужно изменить то-то и то-то и сделать вот так, - комментирует ситуацию Збигнев. - Единственное, что Mozilla Corporation хочет и может делать в таких случаях, - это поддержать тех людей, которые хотят что-то изменить - например, решив какие-то технические проблемы.

Возможно, нам удастся разрешить конфликт внутри сообщества, но только если сами его участники попросят об этом. Если вы считаете, что у вас есть какие-то проблемы, - свяжитесь со мной или моими коллегами, мы попытаемся помочь. Свобода очень важна. В сообществах должны понимать, что они не являются нашими "филиалами", сами принимают решения и несут за них ответственность. Если кто то тебя контролирует, это совсем другое дело - тогда он ответственный, а не ты. Мы этого не хотим. Это отличает Mozilla от некоторых других проектов open source, где отдельные сообщества в гораздо большей степени управляются из "центра".

Еще один подобный "форк" произошел внутри основной команды разработчиков Mozilla, и имя ему - браузер Mozilla Firefox.

- Никто не принимал централизованного решения о начале разработки Firefox, - вспоминает Збигнев. - Мы занимались Mozilla Suite, но два разработчика решили, что нам нужно что-то другое, и начали создавать независимый браузер, интерфейс которого писался "с чистого листа". К ним присоединилась группа людей - никто ни у кого не спрашивал разрешения, никто не санкционировал и не оплачивал эту работу. Когда они показали свои первые билды, ответной реакцией было недоумение: "Зачем это нужно? Мы сейчас занимаемся совсем другими вещами!" Но в какой-то момент стало ясно, что Firefox является хорошим средством для достижения наших главных целей - продвижения инноваций и возможности выбора в Интернете, - и мы сделали его нашим основным продуктом.

Открытая модель разработки и ориентированность на сообщество проявляется не только в процессе локализации. В Mozilla Corporation, включая ее филиалы, работает 160 человек, из них около половины - разработчики, что совсем не много, учитывая сложность продукта. Большую часть нового кода проект получает от внешних программистов (для большинства из них это хобби), а не от сотрудников самой компании. "И это важно для нас, мы хотим оставаться маленькой фирмой, осуществляющей общий менеджмент, а не превращаться в крупную корпорацию, люди в которой когда-нибудь перестанут слушать сообщество, потому что им покажется, что они могут решить все задачи без посторонней помощи", - говорит Збигнев.

Впрочем, участие в разработке Mozilla не назовешь простым. Если вы предлагаете какой-то патч для основной кодовой базы, вам придется найти двух человек из основной команды (reviewer и superreviewer), которые проанализируют предлагаемые вами изменения и решат, подходят ли они для проекта. Порой кажется, что принципы принятия решений отдают бюрократией.

- В общем, так оно и есть, но это неудивительно: невозможно иметь сложный проект, над которым работает так много людей, и обойтись совсем без бюрократии, - соглашается Збигнев. - Внося изменения, мы хотим убедиться, что их проанализировал человек, который разбирается в коде, и что в результате ничего не сломается. У нас есть возможности для улучшения - например, нам нужно больше reviewer’ов, чтобы патчи быстрее включались в код, нужно упростить процесс их поиска - и мы работаем над этим.

Mozilla Corporation оказалась очень успешной в коммерческом плане - благодаря сотрудничеству с различными компаниями, заинтересованными в разработке популярного открытого браузера и развитии веба, Mozilla имеет возможность не только оплачивать текущие счета, но и держать некоторый финансовый резерв "на черный день". Впрочем, будучи собственностью некоммерческого фонда, Mozilla Corporation не ставит своей задачей увеличение прибылей, если это не ведет к достижению основных целей Фонда.

Оказывать прямую финансовую поддержку внешним разработчикам и участникам сообщества нельзя - это разрушит всю модель (как было, например, с инициативой DuncTank в проекте Debian, см. "Ян из Sun" в "КТ" #732) и попросту снизит эффективность работы. Збигнев так объясняет ситуацию:

- Сотрудников коммерческой компании интересуют деньги и, возможно, не очень интересует работа - вряд ли они при этом будут работать со стопроцентной эффективностью. Когда речь идет о сообществе добровольцев, вы можете быть уверены:людям интересно то, чем они занимаются, они действительно хотят работать и делают это эффективно.

Однако помочь с техникой или решить какие-то другие проблемы компания вполне способна. Следует также отметить, что финансовые соображения не влияют на принятие решений, связанных с разработ кой - например, с выбором поисковой системы "по умолчанию".

Оживленный веб

После того как Firefox стал основным продуктом Mozilla, он начал потихоньку, процент за процентом, завоевывать популярность. Когда было захвачено около 5% аудитории, стало ясно, что Mozilla перестала быть "андеграундным опенсорсным проектом" и превращается в полноценного игрока на рынке, который требует соответствующей "маркетинговой поддержки".

Не удивительно, что эту функцию взяло на себя специализированное сообщество - spreadfirefox.com.

"Наверное, нам повезло, что к моменту начала революции Веб 2.0 Firefox уже играл заметную роль на браузерном рынке - в противном случае никто бы не стал учитывать его при разработке сложных сервисов", - говорю я Збигневу.

- На самом деле, большой вопрос, могла ли эта революция возникнуть без популярного открытого браузера, - возражает он. - Речь идет не о технических проблемах, а об отношении к вебу. В 2001 году был, по сути, один браузер. Никто не разрабатывал ничего нового, не появлялось новых стандартов, W3C был практически мертв - какой смысл создавать новые стандарты, если их никто не будет поддерживать? Веб просто не был интересным местом. Я считаю, что существенная часть "Веб 2.0" (что бы под ним ни понималось) состоит в том, что люди стали создавать новые вещи, и это было возможно потому, что мы оживили веб, снова сделали его динамичным. На мой взгляд, мы можем говорить об этом без ложной скромности. И хорошо, что, если сейчас Mozilla ошибется, кто-то сможет взять наши исходники и двигаться дальше.

Что касается вопроса о том, куда именно будет двигаться веб, Збигнев придерживается распространенного мнения:

- Любое животное - и человек в том числе - живет в условиях постоянной нехватки информации и генетически запрограммировано на ее поиск. Проблема в том, что сейчас у нас слишком много информации, но мы не можем остановиться: вспомните, как часто вы без особой необходимости кликали по ссылкам дальше и дальше. Так что сейчас перед нами стоит задача получать меньше информации, то есть правильно ее организовывать. Мы не можем делать это "сверху вниз", это противоречит идее веба как пространства, в котором каждый может делать то, что ему интересно, не спрашивая разрешения.

Мы пытались - получились газеты, журналы, телевидение. Но люди хотят видеть больше, чем показывают по телевизору и пишут в газетах, и при этом не могут обработать всю доступную информацию.

По мнению Збигнева, чтобы решить эту проблему, необходимо развивать два направления: социальные возможности веба и семантическое описание информации, в том числе - автоматическое.

- Я согласен с Тимом Бернерсом-Ли в том, что Веб 3.0 будет семантическим. Конечно, сейчас люди не склонны заниматься семантической разметкой, и мы не можем сказать: эй, мы тут придумали клевую штуку, называется XHTML, - потратьте несколько лет на ее изучение и пользуйтесь, потому что она хорошая. Никто этого не сделает. Но я верю, что в будущем мы сумеем добавлять семантическую информацию, не требуя от авторов тратить время на это, - автоматически анализируя контент, например. Другая важная часть - социальные сети. Я думаю, что основной источник наших знаний о том, какая информация интересна, - это наши друзья, люди, которым мы доверяем, - и такие сервисы, как Digg, будучи не слишком эффективными, начинают реализовывать этот подход. Сегодня я вынужден тратить по шесть часов в день, иначе я перестану понимать, что происходит вокруг меня, но я верю, что ситуация изменится, и наш софт - такой как браузеры или почтовые клиенты - должен помочь нам в этом, поддерживать социальные возможности и развиваться дальше.

Впрочем, нельзя сказать, чтобы Firefox в своей базовой комплектации двигался по этому пути - интерфейс браузера остается практически неизменным.

- Да, интерфейс Firefox довольно кон сервативен, - соглашается Збигнев. - Конечно, мы будем двигаться дальше и экспериментировать, но вряд ли Firefox устроит революцию по части пользовательского интерфейса - скорее это сделают расширения Firefox либо другие браузеры - например, Flock. У этого проекта есть множество возможностей для экспериментов, потому что у нас есть успешный Firefox, и люди, работающие над Flock, могут сказать: уже есть замечательный браузер, теперь настала пора экспериментировать и изменить мир. Это идеальная позиция и идеальное время - они стоят на плечах такого гиганта, как Firefox.

Оценивая современный уровень Flock, Збигнев отмечает, что главная трудность при его разработке была не в технологиях, а в том, чтобы найти свою рыночную нишу и свой путь.

- Flock вышел на абсолютно новый рынок и попытался изменить парадигму.

Обычно предполагается, что вы работаете в вебе в одиночку. Подход Flock заключается в том, что веб-серфер помнит о своих друзьях и хочет поделиться с ними своими находками. Это огромный эксперимент, и нам потребовалось два года для выпуска версии 1.0, потому что это была неизвестная земля. Рынок Flock - early adopters, и это замечательно, потому что эти люди действительно имеют другие потребности, отличающиеся от потребностей пользователя Firefox. Браузеров на открытых движках со временем будет все больше и больше - ведь делать их довольно просто: взять готовый код и произвольным образом его изменить. В случае Flock это заняло столько времени, потому что требовалось изобрести много нового - мы не решали известных задач, мы пытались создать продукт для современного, быстро меняющегося "двунаправленного" веба. Но я уверен, что открытые движки будут играть все большее влияние, заставляя компании развиваться очень быстро. Потому что мы хотим, чтобы веб развивался быстро.

Под конец нашей беседы я прошу Збигнева рассказать о происхождении его ник нейма.

- О, это забавная история, - рассказывает он. - Когда я был моложе, я носил длинные волосы, играл на гитаре в рокгруппе и читал только фэнтези. Мне тогда было четырнадцать лет, и я, конечно, не выглядел как маг из произведений Толкиена. Но в какой-то момент я начал использовать IRC, и мне понадобился ник. Почемуто так оказалось, что единственным свободным ником был именно Gandalf - и я его занял. Сейчас я понимаю, что это было ошибкой: я встречаю множество людей, которые говорят "О, я тоже Гэндальф" или "О, я знаю тебя по IRC… или не тебя…"

Я пытался взять другой ник, но это непросто - люди уже привыкли и продолжают называть меня Гэндальфом. Правда, сейчас он очень даже пригодился - мое имя совершенно непроизносимо для американцев (люди не готовы к имени, которое начинается с Z), и мой никнейм гораздо проще произносить и читать - собственно, именно так называют меня коллеги.

Впрочем, я верю, что однажды "дорасту" до своего никнейма - стану старым, и у меня будет длинная борода…


<<Игривые предки мультитачей
Все материалы номера
Следствие окончено, забудьте >>