programmistВы, вероятно, слышали, что Google спонсирует разработку разных открытых программ и тратит на это довольно много средств. Но если вы скажете об этом КрисуДибоне, он мгновенно вас поправит: «Нет, мы не спонсируем open source. Мы часть open source и не мыслим себя вне open source». И вам придется согласиться. Потому что именно Дибона отвечает за Summer of Code и множество других инициатив Google в области свободного и открьлого ПО (FOSS) — и уж конечно, знает об этом больше, чем кто бы то ни было.
У Криса очень быстрая и эмоциональная речь. «Калифорнийский английский», — подсказывает переводчица. Впрочем, родился он не в Калифорнии, а в Лас-Вегасе, штат Невада… — Я родился в Лас-Вегасе, штат Невада, — рассказывает Дибона. — Программировать начал в двенадцать лет — с Бейсика. Потом экспериментировал с Паскалем, который не очень любил, а потом с Си, который любил — долгое время я работал просто как С-разработчик. Еще я любил Perl — когда-то занимался веб-разработкой, и в те времена она как раз велась на Perl. Сейчас я программирую для собственного удовольствия (на Python) — очень уж люблю это делать. Но по работе программировать сейчас почти не приходится…
Но ведь вам доводилось заниматься и другими вещами. Скажем, вы работали в Slashdot…
— Было дело. Мы тогда с супругой ждали первого ребенка, и я подумал, что хочу какую-нибудь спокойную работу
— я тогда занимался продажами, а это не слишком подходящая профессия для молодого отца. Ребята из Slashdot (тогда он, кажется, назывался Chips & Dips) предложили — «будешь редактором?» Я согласился. Вот так полтора года писал для Slashdot — и растил ребенка. Замечательное было время — не помню ничего лучше…
Были и собственные проекты?
— Да, у нас когда-то была своя компания — Damage Studios. Мы хотели написать многопользовательскую компьютерную игру. Там по сюжету происходит глобальная катастрофа, и игрокам приходится отстраивать планету заново. Это было очень интересно, я написал немало текстов для игры. Но увы — мы прошли где-то полпути, а потом деньги закончились, и компанию пришлось закрыть.
А чем вы занимаетесь в Google?
— В первую очередь моя работа состоит в том, что называется code compliance — мы должны быть уверены, что используем открытые программы корректно, соблюдаем лицензии и т. д., — и во многом отвечаю за это именно я. Мы с самого начала много работали с open source и в какой-то момент обнаружили, что сообщество практически не растет — ездишь с конференции на конференцию и везде видишь одни и те же лица. Даже скучно становится. И мы задались вопросом — как привлечь новых людей к разработке открытого кода? Нам сказали, что есть много студентов, которые бы могли принимать участие в проектах, Так и появился Summer of Code..,
Это была целиком ваша идея?
— Я бы сказал, что это синтез моих идей, Ларри Пейджа и Сергея Брина. Конечно, одной идеи было бы мало — без поддержки Google ничего бы не получилось.
Почему другие компании, ориентированные на open source (скажем, Novell или RedHat), не делают чего-то похожего?
— По правде сказать, это недешевое удовольствие — мы тратим около пяти миллионов долларов в год на SoC. Для Google, может быть, и не слишком много, но вообще, это приличные деньги, К тому же процессом нужно руководить, и это непросто. Хотя некоторые организации — скажем, некоторые муниципалитеты — делали что-то похожее…
Мне казалось, что Google практически не контролирует процесс…
— Это отчасти правда — мы не контролируем набор студентов, не выбираем им наставников (mentors) и даже не говорим, в каких проектах работать. Единственное, что мы делаем, — это решаем, с какими open source-организациями мы хотим сотрудничать. Стараемся найти такие, в которых есть активные сообщества, успешно работающие со студентами, и которые, в свою очередь, были бы интересны студентам. Здесь имеются свои трудности — для многих проектов, типа ядра или дсс, нужны специальные навыки и знания, которых у студентов просто нет, а мы хотим сделать так, чтобы работа была интересной и посильной. Но, в общем, это все, что мы делаем, — основные решения принимают наставники, а мы только платим. И, конечно, организации сами заинтересованы в том, чтобы работа шла хорошо — поскольку в этом случае мы пригласим их в программу в следующем году, a SoC дает рабочие руки, которых всегда не хватает. В критических случаях, когда какая-то организация действует, на наш взгляд, неправильно, мы можем вмешаться в работу — например, сами оценить качество кода, написанного студентом, — он ведь открыт.
А почему вы не пытаетесь направить
активность SoC в те области, которые на самом деле интересны Google? Вы ведь используете, наверное, от силы 10% от всего открытого кода…
— Я думаю, что полпроцента. Но открытый код является для нас фундаментальной ценностью, так как способствует свободе и справедливости Интернета. Открытый — означает здоровый. А интересные нам области мы финансируем другими способами — например, у нас есть команда, занимающаяся исключительно компиляторами. Складывается довольно парадоксальная ситуация: мы нередко замечаем, что финансируем проекты, которые конкурируют с нашими внутренними разработками. С другой стороны, никакой проблемы здесь нет: если, скажем, GFS станет лучше, чем наша кластерная файловая система, мы просто перейдем на GFS. Это ведь open source. В общем, поддержка большого количества открытых проектов позволяет создавать здоровую конкурентную среду и качественную инфраструктуру.
Вы можете сказать, сколько студентов, принявших участие в SoC, потом идут работать в Google?
— Немного, десять-двадцать человек в год. Но ведь и SoC отнюдь не программа по набору кадров. Чтобы нанять два десятка человек, не нужно тратить пять миллионов долларов. Мы занимаемся этим по другим причинам, о которых я рассказывал.
Пять миллионов, конечно, звучит внушительно. Но многие FOSS-проекты основаны на волонтерском труде, и деньги зачастую могут им больше навредить, чем помочь…
— Точно. Именно поэтому появился SoC. Просто дать какому-то сообществу деньги и сказать «улучшайте код» нельзя — ничего не получится. Серьезно, мы пробовали. Чтобы этот способ финансирования работал, нужно жестко контролировать, на что идут деньги. Впрочем, есть и другие способы помочь сообществам. Например, мы организуем или финансируем конференции, где люди встречаются и общаются — скажем, два крупных мероприятия, DebConf и GUADEC. Это два сообщества (Debian и Gnome. — И-Щ), в которые бесполезно просто вкладывать деньги. Но помочь этим людям собраться вместе — совсем другое дело. Еще мы можем, например, финансировать хостинг проектов — для этого открыли code.google.com.
Как вы оцениваете успех SoC?
— В нынешнем году у нас тысяча студентов на полторы сотни проектов. В прошлом году студенты написали около трех миллионов строк кода. На мой взгляд, это потрясающий результат. SoC оказался действительно хорошим способом воспитывать новых программистов — в основном благодаря тому, что устанавливает связь между уже состоявшимися и начинающими программистами.
Может быть, у вас есть другие хорошие идеи насчет того, как улучшить систему технического образования?
— Это сложнейшая задача. Действительно хороших программистов найти очень трудно. В какой-то момент, еще в 2000-х, могло возникнуть ощущение, что в сфере информационных технологий и computer science легко заработать большие деньги, и вообще легко работать.
Но это неправда, и очень многие люди недооценивают трудности. Например, в последнее время набирают популярность различные мощные фреймворки, на базе которых можно «легко и просто» создавать сложные приложения. И выросло поколение программистов, которые их используют, не понимая на самом деле, как работает написанный ими код, что при этом происходит с компьютером. Ничего хорошего из этого не выходит — когда вы решаете такие задачи, как в Google, вам нужно четко понимать, как используется кэш, как расходуется память и т. д. Эти вещи часто могут отпугнуть, но именно они самые интересные. Главное — показать, что здесь есть очень непростые, но вместе с тем и очень увлекательные задачи. И чтобы научиться их решать, чтобы стать настоящим ученым в computer science, нужно работать в поте лица — к этому надо быть готовым.
Что вы думаете о соревнованиях вроде Google Code Jam? Они полезны для индустрии?
— Соревнования заставляют людей расти над собой, и победителей конкурсов, конечно, можно брать на работу. Важны ли эти конкурсы для индустрии — не знаю. Прикольны — безусловно. И этого ! во многих случаях достаточно.
Давайте вернемся к open source. Чем открытое ПО привлекает лично вас?
— Фундаментальное свойство компьютерных технологий состоит в том, что вы получаете из них в точности то, что туда закладываете. В открытом ПО это проявляется в полной мере. Если вы что-то сломали в Linux или написали программу, которая не работает, — это только ваша вина. И если у вас есть необходимые навыки, вы можете это исправить. Здесь все в ваших руках — независимо от того, как на каком компьютере вы работаете, где живете, сколько вам лет и сколько денег вы зарабатываете. Это такой стиль жизни — можно назвать его «экспериментальной жизнью», — и он интересен сам по себе.
Да, открытое ПО дает ощущение контроля. Поэтому, кстати, многие люди, связанные с FOSS, не слишком доверяют сервисам Google — мы их не контролируем и не можем гарантировать, что завтра Google Docs не станут, например, платными…
— Вполне закономерно, что людей это беспокоит,.. Здесь есть несколько вариантов ответа. Во-первых, если вы нам не доверяете — не пользуйтесь нашими сервисами. А если вы пользуетесь, делайте бэкап своих данных — это в любом случае хорошая привычка. Третий ответ — доверяйте нам. А лучший ответ
— используйте наши сервисы, пока доверяете, и уйдите, если мы будем делать что-то неправильно. Наша позиция заключается в том, чтобы дать возможность уйти от нас в любой момент. У нас есть специальная группа по освобождению данных — она заботится о том, чтобы наши пользователи имели возможность экспортировать свою информацию и забрать ее с собой. Благодаря этому мы поддерживаем наши стандарты качества — мы хотим, чтобы нам доверяли и оставались с нами именно потому, что мы делаем нашу работу лучше других, а не потому, что мы каким-то образом привязали к себе пользователей.
Можно ли создать поисковую систему с полностью открытой софтверной начинкой?
— Теоретически да, однако вряд ли она будет конкурентоспособной. Возможно, такая система проработает пару дней — но не более того. Вы просто не сможете поддерживать ее качественную работу длительное время. Это требует колоссальных ресурсов — начиная с поддержки железа и заканчивая постоянной борьбой за качество поиска. Есть множество очень умных людей, которые будут вам противодействовать, — веб-спамеры, например. Количество вреда, которое они могут нанести, пытаясь обмануть систему типа Google, порой просто поражает, и я не думаю, что полностью открытый поисковик, управляемый коллективно, сможет с ними эффективно бороться.
В одном из интервью вы говорили, что у Google есть этика…
— Я и сейчас так думаю,,.
Разве это в принципе возможно в условиях такой большой компании?
— Большая корпорация просто обязана иметь этику. В Google работает двадцать тысяч человек, и, наверное, не все из них верят в общие ценности. Но есть некий этический центр: я знаю людей, которые ушли бы из компании, если б мы зашли на «темную сторону». Но до сих пор они не ушли. И пока Ларри и Сергей здесь работают, мы не будем делать вещей, которые осуждаются. И это очень важно — как работа компании выглядит изнутри. У нас, как у любой крупной корпорации, есть проблемы и неоднозначные вопросы, но мы с этими проблемами постепенно справляемся. Мне нравится, как компания действует в целом, и в этом наше большое отличие от компаний, у которых нет этических стандартов и позиций. Я не думаю, что размер здесь является оправданием — нет никаких гарантий, что маленькая компания будет вести себя более этично, чем большая. Но именно этика приносит нам прибыль — когда вы делаете правильные вещи, они возвращаются сторицей.

Имя (Req)

E-mail (Req)

URI

Сообщение

Страницы

Категории

Архивы

    Рейтинг блогов

    Читать в Яндекс.Ленте

Seoмастеру