Издание Der Standard опубликовало интервью с Кристофером ДиБона (Chris Dibona), управляющим Open Source проектами в компании Googlе. По мнению Кристофера платформа Android воплотила мечты о становлении десктоп-систем на базе Linux. Классический Linux-десктоп имеет мало шансов конкурировать с Windows и Mac OS X, но принципиально новый подход к построению десктоп-систем, используемый в платформах ChromeOS и Android, может существенно повлиять на популярность Linux-решений для обычных пользователей. Возможно ChromeOS немного обгоняет время и пользователи ещё не готовы к подобным системам, но в корпоративной среде уже начинают понимать преимущества использования ChromeOS (высокая безопасность, централизованное управление, независимость от рабочего места, упрощение обслуживания, надёжное хранение данных на внешнем хранилище).

В интервью раскрываются некоторые подробности о предпочтениях внутри компании, например, в Google на 70% ноутбуков используется Mac OS X, а на почти всех остальных - Linux. Доля Windows оценивается как незначительная. Рабочие станции персонала, не связанного с разработкой, пытаются перевести на ChromeOS. На рабочих станциях технического персонала как правило установлен Linux, при этом в компании используется собственная сборка Ubuntu, в обиходе называемая Goobuntu.

Основное отличие Goobuntu сводится к добавлению в базовую поставку инструментов, используемых разработчиками в Google, а также к интеграции с внутренним сетевым окружением, например, все домашние директории пользователей монтируются с централизованного файлового сервера. Google стремиться возвращать добавляемые в Goobuntu улучшения в Ubuntu, но пока наблюдается проблема с отставанием от основного проекта - дистрибутив Google прежде всего ориентируется на стабильность, поэтому не успевает угнаться за темпом разработки Ubuntu. Например, в Google пока не используют интерфейс Unity и не планируют переходить на него пока для Unity не будет достигнут высокий уровень совместимости c используемыми в Google инструментами, среди которых Eclipse, VIM, Emacs.

Некоторые факты, озвученные в интервью:

  • За последние пять лет компания Google выпустила около 1300 открытых проектов, из которых самыми известными являются Android и Chrome. Объём открытого Google кода оценивается в 24-25 млн строк, при этом созданный в недрах Google код можно встретить практически повсеместно, например, наиболее распространены открытые наработки, связанные с компиляторами и программными фреймворками.
  • В компании принята упрощённая процедура открытия кода, разработчик имеет возможность легко добиться открытия результатов своего труда. Но никто не навязывает, открывать код или нет. Например, для того чтобы открыть код патча к GCC или другому открытому проекту нужно всего лишь рецензировать его в специальном отделе. После того как патч посмотрят и дадут добро, его можно публиковать. Если после рецензирования нескольких патчей будет ясно, что разработчик понимает, что от него требуется, то ему предоставляется свобода и он уже может отправлять патчи без предварительного рецензирования. При работе над новым открытым проектом необходимо пройти проверку на соблюдение патентов и торговых марок, при этом на выдачу заключения отводится не более трех дней. Если за три дня ответ не получен - проект автоматически считается одобренным. Обычно бюрократические проверки удаётся совершить ещё до завершения разработки и они никак не сказываются на процессе формирования релиза.
  • В качестве рекомендуемой открытой лицензией в Google используется лицензия Apache. Если разработчик желает использовать другую лицензию и готов аргументировать, что лицензия Apache в его случае не является оптимальной, то можно использовать и другую лицензию. Лицензия Apache выбрана потому, что она современна и отражает аспекты передачи прав на использование связанной с разработкой интеллектуальной собственности, не ограничивая сторонние компании и сообщества в использовании и модификации продукта. Ключевой причиной выбора лицензии Apache является возможность делегировать право безвозмездного использования патентов, затрагивающих используемые в программном продукте технологии. При этом, в случае судебного иска против разработчика, истец утрачивает право использования данных патентов.
  • В прошлом интервью Кристофер упомянул, что MySQL является одним из наиболее важных открытых проектов, используемых в Google. В нынешнем интервью, он заявил, что сейчас это уже не так. MySQL пока ещё используется для обеспечения работы некоторых подсистем, связанных с показом контекстной рекламы, но для объемов Google MySQL плохо масштабируется, поэтому компания перевела большинство использующих MySQL служб на собственные БД BigTable и Megastore.
  • В качестве наиболее важных для Google открытых проектов в нынешнем интервью назван набор компиляторов GCC и Linux-ядро, а также инструментарии и языки для разработчиков, такие как Java, C++ и Python. Кроме того, среди очень важных проектов отмечены OpenSSL и FFmpeg;
  • В Chrome и Android используются принципиально разные модели разработки. Процесс развития Chrome полностью открыт и каждый патч сразу появляется в публичном репозитории. Android развивается немного иначе, код вначале развивается за закрытыми дверями и публикуется только после готовности релиза. Подобные различия объясняются ориентацией проектов на разные рынки. В случае Android, имеются обязательства перед большим числом партнёров, среди которых производители чипсетов, сотовые операторы и производители мобильной техники, многие из партнёров конкурируют между собой. Все заинтересованные платформой Android партнёры желают получить для себя какую-то уникальную особенность и конкурентное преимущество.

    Если централизовано не контролировать выпуск релизов Android и полностью открыть процесс разработки, на рынок будет выплеснута волна некачественных, собранных на базе не готовых к релизу исходных текстов, и несовместимых между собой продуктов, которые дискредитируют идею единой платформы Android. Именно по причине возможной фрагментации в настоящее время задерживается выпуск кода Android "Honeycomb", который будет открыт только после синхронизации веток для планшетов и смартфонов. Все LGPL и GPL компоненты Android "Honeycomb" изначально открыты, в соответствии с требованиями данных лицензий, задержка с открытием кода наблюдается только для частей под лицензией Apache, но это временная мера и в конечном итоге код будет полностью открыт.

  • Компания заинтересована в увеличении числа разработчиков открытых проектов. По мнению Google открытые разработки позволяют поддерживать свободный и конкурентоспособный характер сети Интернет. Для способствования росту открытых проектов, Google ежегодно проводит мероприятие "Summer of Code", в рамках которого студентам и наставникам из открытых проектов уже выплачено около 28 млн долларов. Более того, благодаря "Summer of Code" сообщества многих открытых проектов смогли привлечь к работе новых разработчиков, которые продолжают участвовать в разработке и после окончания мероприятия.


Источник: http://www.opennet.ru/opennews/art.shtml?num=31176