Спецпроекты

Гуру Linux: Android – это яркий пример того, как не надо делать

Открытое ПО Бизнес ПО Кадры Свободное ПО
Крупный разработчик Linux и технический директор Parallels Джеймс Боттомли критикует платформу Android за отрыв от сообщества разработчиков Linux.

«Android – это прямо-таки канонический пример, как не надо делать проекты в рамках Open Source», - заявил CNews технический директор компании Parallels и один из самых известных разработчиков ядра Linux Джеймс Боттомли (James Bottomley). При том, что Android это, с коммерческой точки зрения «просто вопиюще успешный Linux-дистрибутив», с точки зрения сообщества разработчиков он больше похож на провал, говорит Боттомли.

Критика Android - это довольно редкое явление в среде разработчиков свободного ПО, однако Боттомли правдоподобно аргументировал свою мысль: «Цели бизнеса и разработчиков практически ортогональны: если для бизнеса важно найти свою нишу и заполнить ее, то сообщество разработчиков ценит, чтобы код было легко сопровождать, легко добавлять новую функциональность, и чтобы в коде непременно были реализованы наиболее удачные, красивые технические решения».

Google создавала Android как серьезное ответвление (форк) от основного ядра Linux, вспоминает Боттомли. Специально для него были написаны библиотека C и фреймворк JVM (Java Virtual Machine), и несколько важных программных модулей, (например, Wakelocks, модуль, управляющий «засыпанием» ядра, и мешающий ядру «уснуть», во время телефонного разговора или игры). Эти модификации изменили ОС настолько, что драйвера под обычное ядро Linux и под Android отличаются, говорит Боттомли.

Присоединение Wakelocks и прочих модификаций к главному направлению разработки ядра вызывает большие сложности, на преодоление которых потребуются годы, считает Боттомли.

Процессом вхождения нового кода в «апстрим» (upsream, основное направление разработки) нужно хорошо управлять,а код, запланированный к вхождению в апстрим, лучше показывать сообществу, начиная с самой ранней стадии, чтобы люди, от которых зависит, вливание кода в апстрим, не воспринимали его «как никому не нужную поделку, сделанную на коленке (даже если это не так)», - предупреждает разработчик.


Джеймс Боттомли: Android вопиюще успешен как коммерческой проект, но с точки зрения разработчика это провал

Однако Google привык писать код «за высоким забором, перебрасывая через него лишь готовые версии», продолжает Джеймс Боттомли. Отсутствие раннего доступа к коду создает для партнеров Google - HTC, LG, Samsung и других - проблемы с разработкой собственных приложений для новых версий ОС.

Критика платформы Android — это одно из любимых хобби Боттомли. Он уже поднимал вопросы возвращения кода Android в апстрим в апреле 2010 г. на Linux Collaboration Summit. Теперь, раскрывая свои «тезисы об Android», и говоря об опасностях отрыва Google от сообщества разработчиков, Боттомли не скрывает, что его критический разбор истории мобильной платформы затрагивает интересы Parallels, который стал его работодателем три месяца назад.

Возможна ли настоящая персонализация общения на рынке B2B?
Бизнес

«Первое и основное, чему можно научиться на опыте Google и его Android – это правилам правильного форка. Форк – это благо: он развивает сообщество. Для разработчика «апстрим» (upsream, основное направление разработки) — это единственный способ гарантировать долгую жизнь своему коду. Parallels сейчас усиленно работает над тем, чтобы «заапстримить» OpenVZ-контейнеры в код ядра Linux», - говорит Боттомли.

Будучи одним из известнейших деятелей движения Open Source и крупным разработчиком ядра Linux, с августа 2011 г. Джеймс Боттомли занимает должность технического директора Parallels (CTO). Одновременно с этим он входит в совет директоров Linux Foundation и несколько последних лет является одним из ведущих разработчиков подсистемы SCSI в ядре Linux.

Интересно, что, комментируя прием на работу Боттомли, в Parallels помимо его ценности как технического специалиста, высоко отмечали его способности лоббиста в сообществе разработчиков Linux-ядра. Старший вице-президент Parallels Станислав Протасов говорил, что «если Джеймс сможет включить исходные коды продуктов контейнерной виртуализации (OpenVZ, Parallels Virtuozzo Containers) в состав основного ядра Linux, можно считать, что жизнь прожита не зря».

Стоит заметить, что опыт включения своего кода в ядро у Боттомли есть: работая в компании Steel Eye Technology, Боттомли разработал и внес в ядро Linux коды технологии Network Block Device и сетевого хранилища (Net Storage).

Базирующаяся в России компания Parallels поддерживает один из двух главных современных трендов в технологиях виртуализации: контейнерную виртуализацию, - в отличие от технологии «гипервизора», поддерживаемой конкурентом Parallels компанией VMWare. «Гипервизор», в отличие «контейнерной технологии» Parallels, которая позволяет создавать виртуальный образ ядра системы, установленной на сервере, виртуализирует образ «железа».

По заявлению самой Parallels, с помощью ее технологии обеспечивается в «2-3 раза большая плотность виртуальных сред на сервер» по сравнению с «гипервизорным» подходом. Главный коммерческий продукт Parallels для виртуализации серверов - это Parallels Virtuozzo Containers, основанный на коде открытого проекта OpenVZ.