Интервью на тему использования открытых проектов в компании Google
13 июля 2011 года
Издание 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" сообщества многих открытых проектов смогли привлечь к работе новых разработчиков, которые продолжают участвовать в разработке и после окончания мероприятия.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.