Журнал Компьютерра - Журнал "Компьютерра" N747
ОКНО ДИАЛОГА: Братство лисы
Автор: Илья Щуров
Если на какой-нибудь международной конференции, связанной с Интернетом или свободным программным обеспечением, вы вдруг услышите имя Гэндальф, не пытайтесь разглядеть в толпе благообразного старца с длинной бородой и магическим посохом. Скорее всего вы увидите энергичного молодого человека в футболке с символикой 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), которые проанализируют предлагаемые вами изменения и решат, подходят ли они для проекта. Порой кажется, что принципы принятия решений отдают бюрократией.