Фрагментация Linux – это и хорошо, и плохо

8 июля 2010 Джим Землин

Nokia N900 на базе MeeGo

Недавно мне довелось услышать критику в адрес встроенного Linux: дескать, обилие проектов на базе Linux типа MeeGo, Android и webOS – это фрагментация, а фрагментация для Linux опасна и вредна. Критики исходят из предположения, что фрагментация снизит конкурентоспособность Linux на фоне таких компаний, как Microsoft и Apple. Я с этим предсказуемо не соглашусь. Однако рыночные стратеги и сам рынок с этим тоже не согласятся. Те, кто критикует Linux за фрагментацию, слишком узко рассматривают экономику Linux.

Платформа Linux является одновременно и фрагментированной, и единой.

У Linux уже сейчас есть единая база под названием компоненты апстрима. Встроенный Linux, равно как и коммерческие дистрибутивы Linux, состоит из корневых компонентов, таких как ядро ОС. На уровне ядра – а именно там осуществляется аппаратная поддержка, включая все драйверы, – экосистема Linux в высшей степени едина. Если производитель какого-то устройства или разработчик процессора хочет поддерживать Linux, он просто отправляет свой код в основную ветку разработки ядра на сайте kernel.org. Используйте основное ядро, и у вас всегда будет правильная база. Недавно Google тесно сотрудничала с сообществом разработчиков ядра, чтобы включить в основную ветку свои драйвера для Android. В итоге Android теперь объединен с основной веткой ядра Linux.

Далее, дистрибутивы Linux едины на уровне корневых библиотек. Кроме собственно ядра, существуют проекты X.org, glibc, gstreamer, Gnome, QT, webkit, CUPS, clutter и другие. Все это – примеры корневых библиотек, которые входят почти во все варианты мобильного Linux: Chrome, Android, MeeGo, webOS, LiMo и т. д. Все они используют одни и те же базовые компоненты. Философия проекта MeeGo и многих других полностью основана на идее апстрима. Когда такой проект отправляет код в апстрим, от этого выигрывают все дистрибутивы в даунстриме. То же касается рынка серверов и десктопов. Вот почему так важно разрабатывать дистрибутивы в апстриме.

Конечно, фрагментация существует, но она существует только внутри экосистемы приложений и в API. API приложений описываются на более высоком уровне, где роль той или иной версии Linux определяется рынком. Во многих случаях на рынке одинаково успешны несколько версий Linux. В Linux-системе Android от Google поддерживается совместимость с приложениями на Java. Потребители получают приложения через интернет-магазин Android Market. В webOS используется аналогичный подход, только с другой средой выполнения и SDK. У MeeGo среда выполнения основана на Qt, с помощью которой можно создавать приложения и для Symbian, Mac, Windows и собственно MeeGo. Свой SDK есть даже у Amazon Kindle.

Все это не какие-то произвольные и никому не нужные версии Linux; каждый проект поддерживают крупные рыночные игроки, развивающие собственную экосистему. Это Google, HP, Intel, Nokia, Amazon и т. д. Насколько все это плохо для Linux? Главное преимущество Linux – это возможность выбора, когда разные компании, проекты и отдельные разработчики конкурируют друг с другом и в итоге преуспевают. Различия в API стимулируют конкуренцию и мотивируют компании на постоянное улучшение платформы. Разработчики могут самостоятельно принимать решение об участии в разработке того или иного API с учетом выгод для себя, сложности участия и других факторов.

Все это очень хорошо для Linux в целом и участников различных экосистем в частности, поскольку все они могут совместно развивать технологии через апстрим. Ситуация, когда разные бренды сообща развивают большой и постоянно растущий рынок, вовсе не уникальна для встроенного Linux. Посмотрите на потребительские бренды типа Procter & Gamble, который специально выпускает много разных видов подгузников, чтобы занять все ниши рынка. Сегментация – это разумная рыночная стратегия, особенно в мире ИТ, где Intel, Nokia, Google, Motorola и многие другие выпускают продукты на основе одного и того же прототипа.

Хотя Android, MeeGo, Chrome и webOS основаны на Linux, все четко понимают, какие цели они решают и на какие рынки направлены. Факт в том, что кроме Apple, RIM и Microsoft практически никто не создает клиентские компьютерные устройства на чем-то помимо Linux. Может быть много разных экосистем приложений на базе разных Linux-систем, но все они будут объединены на нижних уровнях вычислительного стека. В результате мы имеем сочетание распределенной разработки и
рыночной конкуренции с оптимальным балансом между ними. На данный момент важно, чтобы участники рынка выбрали какой-то из Linux-проектов, поддерживаемый надежным отраслевым игроком, и убедились, что этот проект будет принимать их разработки в апстрим. Появятся ли еще какие-то новые проекты? Вполне возможно. Хочется верить, что такие проекты не будут создаваться с целью «унификации», когда пытаются искусственно ограничить, навязать или заново изобрести технологии или процессы, и так прекрасно работающие.

Сейчас ничто не говорит о том, что рынок воспринимает фрагментацию Linux на уровне приложений как некую проблему, требующую решения. Буквально недавно крупнейший в мире производитель процессоров и крупнейший в мире производитель телефонов объединили свои Linux-проекты в один – MeeGo. К этому проекту подключается все больше OEM-производителей и операторов. Недавно Android обошел iPhone по числу проданных устройств. HP заплатила свыше миллиарда долларов за webOS, чтобы устанавливать ее на свои устройства, при этом отказавшись от идеи выпуска планшета с Microsoft. Linux доминирует на рынке встроенных систем. Сейчас происходит завязка очень длинной истории на рынке мобильных вычислений, и лично я очень рад, что Linux так хорошо укоренился.

Print Friendly

Об авторе

Джим Землин (Jim Zemlin) – исполнительный директор Linux Foundation.
  1. Пока что нет комментариев.

Spam protection by WP Captcha-Free