- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF77:Интервью
Материал из Linuxformat.
Loki (Обсуждение | вклад)
(Новая: =Представитель силы= ''Могущественный Google приносит свое состояние и опыт в движение открытого кода. П...)
К следующему изменению →
Версия 04:16, 24 марта 2008
Представитель силы
Могущественный Google приносит свое состояние и опыт в движение открытого кода. Пол хадсон беседует с человеком, который помог этому произойти – Крисом Дибона (Chris DiBona).
Когда Google прошлым летом объявили одним из спонсоров ежегодного конкурса Open Source Awards от издательства O’reilly стало ясно, что о невыплаченных призах (бывало...) речь уже не идет. Эта фирма может себе позволить вложить свои деньги куда угодно. В сообществе считают участие Google просто чудесным: у фирмы не только большой карман, она еще и использует открытые инструменты и активно участвует в их разработке. Но есть и скептики: по их мнению, фирма много о себе возомнила и доля ее закрытых программ слишком велика. Крису ДиБона (Chris DiBona), весьма активному менеджеру Google по открытым продуктам, поручили деликатную работу: открыть некоторые приложения Google. Мы встретились с ним, чтобы выяснить, много ли откроется...
Linux Format: Чтобы мы смогли представить Вас нашим читателям, не могли бы Вы коротко рассказать о своей работе в Google?
Крис ДиБона: Конечно. Это очень просто. моя работа – контролировать, чтобы Google работала в соответствии с лицензиями Open Source, дабы не вставал вопрос о корректности использования ее программ. А кроме того, поддерживать контакты с сообществом ПО с открытым кодом, чтобы оно знало – кто мы, что делаем с их программами, как их используем и как можем помочь. Мы делаем немало заплаток и всякого такого для существующих проектов, Apache... Ну и я должен заставить все это работать. Еще мы ведем программы вроде Summer of Code. Мы заинтересовали 419 студентов поработать с открытыми проектами, с Apache и Ubuntu по всему миру, чтобы обеспечить постоянный приток разработчиков в наше сообщество.
LXF: Так Вы почти что миссионер?
КД: Ну, вряд ли. Google не занимается агитацией – скорее, предоставляет нашим делам говорить за нас. Мы не трезвоним о том, что сделали; пусть нас рекламирует наш продукт.
LXF: Apache заполучил немало студентов для Summer of Code, KDE и Gnome тоже...
КД: Да, а Mono получил 16.
LXF: А сколько досталось ядру?
КД: Вот тут смешно получилось. Ведь не скажешь: «Эй, разработчики ядра, вам это надо?» У них не как в организации Apache, где для таких дел существует центральный орган. Так что над ядром не работал никто. И потом, ядро не требует приглашений, как, скажем, KDE. Работа над ядром всегда имеет постоянный приток желающих.
С другой стороны, я не выбирал организации, я просто установил сроки, в которые они могли присоединиться, а от разработчиков ядра никто не отозвался.
LXF: А в итоге оказалось, что с ядром некому работать!
КД: Знаете, ядро – это еще не все.
LXF: Но ведь ядро, наверно, самый крупный открытый проект?
КД: Не думаю. По-моему, Apache крупнее. По части разработчиков... да, это более крупный проект. Я не отказался бы [включить в Summer of Code и ядро]... но с кем мне это обсуждать? Есть ли надежная сторона, которая могла бы оценить этих ребят, и дать добро на вложение в них денег, и сказать, кому платить? Возможно, мы изыщем способы, если снова этим займемся. Но это непросто.
LXF: Но Novell нанимает немало программистов ядра, пригодных для роли менторов.
КД: Конечно. Но ко мне они не обращались.
LXF: Red hat.
КД: Они ко мне не обращались. Вот, например, люди из Fedora Core – те обратились. Так что были работавшие над какими-то интересными проблемами с Fedora Core, с Ubuntu, но никто из вышеперечисленных не заикнулся об этом, так что...
LXF: Действительно жаль, потому что гранты Summer of Code вышли примерно в то время, когда OSDL отставила немало инженеров.
КД: Ну, мы ведь не брали инженеров, мы работали со студентами. Если ваши читатели хотят разрабатывать ядро как со- трудники, то у нас есть открытые вакансии, у Novell есть открытые вакансии. Возможностей по разработке ядра Linux немало.
LXF: Ясно, что Summer of Code не было PR-акцией.
КД: Нет!
LXF: Тогда что вами двигало – может, это был хитрый ход по набору персонала?
КД: На самом деле, началось с того, что наши основатели, Ларри (Larry) и Сергей (Sergei), и наш босс Эрик Шмидт (Eric Schmidt) долго переживали по поводу того, что у людей нет средств просто пойти учиться и стать лучшим студентом, лучшим компьютерным специалистом... чем они вынуждены заниматься летом? Отупляющей подработкой, ничего общего не имеющей с компьютерами. Они не развиваются, они тормозят свое развитие в качестве компьютерных специалистов. [Основателям Google] это было ненавистно. И как только я освоился в Google, мне сказали: «Решишь эту проблему? мы даем тебе $x миллионов в год, и хорошо, если бы ты увязал это с открытым кодом». Так я и сделал, и выкатил эту программу. Вот что двигало основателями.
Кроме того, имеются побочные выгоды - конкурентные, стратегические, всякие. Потому что сильное открытое сообщество означает для всех нас в компьютерной индустрии поле для игры в более высокой лиге, я в это искренне верю. Но это не являлось изначальной целью. Для открытого сообщества это хорошо, а нам это очень нравится. Мы используем тонны ПО с открытым кодом и считаем друг друга товарищами, понятно? Нам нравится работать с открытым сообществом, и это наша форма работы.
LXF: Где еще, по Вашему мнению, Google может быть спонсором открытого сообщества?
КД: Вообще-то мне не нравится выражение «спонсорская помощь». мне не нравится «предоставление субсидий», мне не нравится «окупаемость». Мне нравится выражение «совместная работа». Мы считаем их равными нам в компьютерной сфере, мы не считаем их объектами благотворительности, честно. Забавная штука наблюдается насчет открытого сообщества: за последние пять лет многие из организаций, которые мы с вами считаем выдающимися, получили просто тонны поддержки – финансовой, рабочей, например, через Tigris или SourceForge. Им не нужна спонсорская помощь, им нужно побольше людей – разработчиков кода.
Что делаем мы? Мы открыли кое-какой код на http://code.google.com/, постарались раскрутить деятельность по созданию заплаток нашими командами в Google и местными командами за пределами Google, у нас есть люди, которые работают над GCC и над его улучшением, и у нас есть программы типа Лета за Кодом... мы просто выпускаем больше кода.
Потому что опыт показывает: можно помогать, и содействовать, и предоставлять спонсорскую помощь, но есть конкретные преимущества, которые проект получает от самого кода. И они серьезно перевешивают по значимости временную выгоду от таких мелочей, как поездки и прочее.
Так что я не считаю слово «спонсорство» уместным. Поскольку спонсорская помощь подразумевает подчинение. Мы не хотим управлять открытым сообществом, это не к нам.
Должен сказать, меня восхищает, как с этим управляется IBM. По большому счету они никому не навредили: они не пы- таются что-то отобрать или поломать, они проделали большую и отличную работу. Мы не собираемся принимать их за образец для подражания в своей деятельности, потому что мы – совершенно разные фирмы, но на самом деле я хочу получить код, мне не нужны просто... деньги. Деньги – это не все.
LXF: Не могли бы Вы уточнить, как именно Google «сотрудничает» с открытым сообществом? Есть Summer of Code, есть Google API...
КД: Мы открываем код. Для создания новых программ у нас в Google есть множество инструментов. Например, у нас есть собственный malloc, есть большое количество средств повышения производительности, есть собственная реализация хэш-таблиц, у нас есть библиотеки на Python, частично работающие по типу Elisp... И мы открыли все эти инструменты, что бы каждый мог создавать программы еще лучше. Можно просто открыть для сообщества примеры API и прочее, и это будет здорово, но они не существуют без Google мы хотели открыть то, что не просто позволяет лучше работать с нами, но позволяет создавать лучшие программы, и точка.
LXF: А какую лицензию предпочитает Google?
КД: Обычно мы берем BSD, но не чураемся и LGPL. Мы хотим обеспечить людям пользование нашим продуктом. Для этого подходят и GPL и LGPL, но GPL не разрешает использовать эти программы поставщикам проприетарного ПО, поэтому наши инженеры часто выбирают другие лицензии. Выбор лицензии предоставляется инженерам. Если для них это существенно, пусть берут что хотят, нам важнее выпустить код, чем вступать в религиозные войны. Мы выбираем BSD еще и потому, что нам проще ее отслеживать с точки зрения наших перспектив и нашего уровня работы с персоналом – ее вообще не надо отслеживать. Если вы выбрали GPL, то должны в большей степени следить за программой, а выбрав BSD, вы просто можете заявить: «Вот, берите, наслаждайтесь» – и практически про все забыть.
LXF: Какая часть программ, разработанных внутри Google, попадает в открытое сообщество?
КД: Ну, пока не много. Мы же только начали открывать код. Но каждый месяц мы открываем чуть больше. Немало наших инженеров что ни день приходят ко мне и говорят: «Слушай, я бы хотел выпустить вот это». Объясняю, как это сделать проверяю наличие файлов Readme в авторском стиле, наличие лицензии, чтобы все было, как положено. Удостоверяемся что у юристов не будет к нам претензий и – открываем.
LXF: И через четыре года Google станет на 100 % открытой фирмой?
КД: О, нет. Никоим образом. Некоторые вещи мы не можем открыть, потому что они либо лицензированы, либо открывать их бесполезно.
Например, некоторые наши программы просто невозможно использовать, если у вас нет вычислительного центра этак на сотню компьютеров. Или если ваш компьютерный центр не в точности повторяет архитектуру нашего. Кончится тем, что вы просто угробите время на переделку программы, а это совершенно бессмысленно. Если нет реальной возможности согласованного широкого использования программы, то ее не стоит открывать. Потому что на открытие нужно время. Желающим открыть какой-то продукт я бы посоветовал открывать то, чем люди смогут воспользоваться немедленно, а не идти сначала покупать компьютерный центр, как у нас, и оборудование, в точности как наше.
И потом, есть еще кое-что. Мы не собираемся открывать PageRank [собственная система ранжирования web- страниц в поисковом индексе Google] и все подобные программы, потому что открыть их означает их разрушить. Если рассказать, как происходит сортировка, кто попало будет дурить поисковую машину, нарушая порядок, и поиск через Google станет бессмысленным. Нам этого не надо.
LXF: Итак, это обречено на cекретность?
КД: Можно и так сказать, но это неправда. Нет. Дело вот в чем. Безопасность презирать легко, но вы, значит, не разбираетесь в рынке Web – надеюсь, это не очень грубо звучит. Суть в том, что есть люди, ежедневно пытающиеся разгадать индекс и заняться поисковым спамом, и если вы облегчили им работу, значит, вы проиграли войну. Это постоянная битва, нам приходится ее вести, чтобы обеспечивать качественный результат поиска. Мы считаем, что хорошо с этим справляемся, а если мы откроем данные функции, у нас возникнут сложности.
Мне также не хотелось бы открывать код, который не находится в активной разработке инженерами Google. Наши инженеры очень заняты, и если кто-то захочет открыть код, на который у них нет времени, получится, что мы просто кинули его за забор, от этого мало пользы. Хотелось бы все-таки открывать код таким образом, чтобы сторонние разработчики не вешались от тоски.
LXF: То есть иметь возможность обеспечения долгосрочной поддержки вашего продукта?
КД: Именно.
LXF: Вы упомянули, что Google широко использует открытый код в поисковой машине. Какой код?
КД: Мы задействуем многое из того, что вы называете Linux. Двоичные инструменты ядра Linux, набор для компиляции, Perl, SSH, SSL, всякое такое. Apache мы не особо используем, хотя это многих удивит – у нас есть собственные web-серверы. Зато используем многое другое. Много пользы мы извлекаем из ядра. Это фантастика – располагать ядром с открытым кодом, потому что если мы хотим внести изменения, мы их просто вносим, понимаете? Если хотим узнать причину какой либо странности, то просто выясняем эту причину, поскольку можем посмотреть код. Это фантастика. Еще мы пользуемся TomCat, ну и разными другими проектами.
LXF: Ваши инженеры передают свои наработки проектам, по мере надобности?
КД: По мере надобности, и отчасти как сами захотят. Мы стараемся, чтобы им этого хотелось почаще, потому что нас всех радует выход новых заплаток. Так делается. Просто на это нужно время.
LXF: А Вы не опасаетесь, что придется поддерживать длинный список заплаток для ядра?
КД: Для ядра – да, потому что имеется множество наших заплаток, которые основному ядру не нужны. Я не шучу. Больше того, и поддерживать их незачем. Среди них есть весьма капитальные изменения в ядре Linux специально для нашей среды, многое – для сетевых программ, и тому подобное. На самом деле, мы… когда нам нужно развивать эти вещи, Уолт Драммонд (Walt Drummond), глава этой группы и я работаем вместе, чтобы проверить, где могут быть полезны новые заплатки, включая не очень чистые и вообще ужасные, иногда даже просто выносим их на сайт Google, хотя команда разработчиков ядра их никогда не примет. Но мы все равно их открываем. Людям, которые захотят заниматься тем же, чем и мы, они могут пригодиться.
LXF: А может, делать все как следует – производить изменения в хорошей, ясной...
КД: Вы подразумеваете, что «как следует» для нас и для вас – одно и то же. Но в этом и прелесть открытого кода, верно? Мы сами можем определять судьбу своего программного продукта. То, что подходит нам, вполне может оказаться для вас неправильным. У вас ведь не обязательно такой же профиль, как у нас, и от ядра вам потребуется другое.
LXF: Мне кажется, что открытие заплаток, как минимум, позволяет, например, Red hat сказать: «Э, да у нас есть версия AS, которая подойдет некоторым потребителям» – или дает им возможность ее отвергнуть.
КД: Да, конечно, мне хочется создать побольше возможностей. А еще – хочется рассказать, чем мы занимаемся, чтобы те, кто интересуются ядром и собираются перейти на Linux, могли сказать: «О, даже Google этим пользуется», понимаете? В этом есть некая сила, и это отлично – пусть люди знают, что Google с удовольствием использует открытое ПО. Потому что так и есть. И, может быть, кто-то изменит свое мнение о программах с открытым кодом и тоже начнет их использовать.
LXF: Теперь не про открытый код: есть несколько серьезных попыток взлома Google Maps API. Например, берешь карту Чикаго и видишь районы проституции или типа того. Можно найти криминал в любом городе, где угодно – просто блеск!
КД: Да, крутая штука.
LXF: Как Вам кажется, по мере того, как Google тянет когти к...
КД: Google, по-вашему, чудовище?
LXF: Ох, простите, по мере того, как Google расширяется в новые сферы, больше станет программ вроде PageRank, чей код не будет открыт? Как насчет Google Maps?
КД: Штука вот в чем: многие не понимают, что Maps нам самим стоит денег. Мы не просто берем данные у правительства, а используем коммерческие базы данных, за них нужно платить. Поэтому пришлось выбрать компромисс – позволить использовать наши карты на других сайтах, это очень необычная практика. Обычно, когда делают API карт, людей отсылают на свои сайты. Но мы хотели попробовать дать на них людям право собственности, чтобы они использовали их именно так, как им надо.
Так что Maps – это сплошные контракты и сделки, юридические тонкости, тут действительно есть ограничения на пользование. Эту программу нельзя открыть, как другие.
И вот еще чего многие не понимают: создавая что-то в Google, вы имеете огромную прослойку инфраструктурного кода, обеспечивающего web-сервисы и прочее. Поэтому чтобы открыть все те вещи, которые, по-вашему, и есть Google, нам придется открыть и все остальное.
LXF: Вы хотите сказать, что все взаимосвязано.
КД: Именно так. Но поэтому-то и здорово работать в Google. Внутри фирмы вы можете создать сервис и моментально его запустить, если вам это надо, вот почему лаборатории Google такие классные.
Если кто-нибудь скажет: «Хочу запустить версию Moon Maps [Карты Луны, – прим. перев. ] » – пожалуйста, такое ПО у нас уже есть. Запустить новый сервис нетрудно, если у вас есть действительно хорошая идея.