Разделы

ПО Свободное ПО Бизнес Кадры Открытое ПО

Гуру 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, который стал его работодателем три месяца назад.

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

8 задач, чтобы перезапустить инженерную школу в России
импортонезависимость

Будучи одним из известнейших деятелей движения 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).

Сергей Голицын, T1: 70% компаний, применяющих ИИ, подтверждают положительный эффект
Цифровизация

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

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

Владислав Мещеряков