Компания Hewlett-Packard сделала очередной шаг к переводу платформы webOS в разряд полностью открытых проектов. Объявлено об открытии под лицензией Apache очередной порции исходных текстов webOS: опубликован код расширений к Qt WebKit, модулей интеграции с JavaScript-движком JavaScriptCore, мобильного web-браузера Isis и набора виджетов UI Enyo.
Наиболее интересным из открытых компонентов является web-браузер Isis, интерфейс которого построен на языке JavaScript с использованием фреймворка Enyo и библоитеки Qt 4.8. В качестве брузерного движка задействован QtWebKit, для выполнения JavaScript используется JavaScriptCore. Браузер построен с использованием клиент-серверной модели, при которой рендеринг и обеспечение работы пользовательского интерфейса вынесены в разные процессы. Отмечается, что вынос интерфейса в отдельный процесс позволил достичь отличной отзывчивости браузера и обеспечить поддержку плавного скроллинга. Использование WebKit позволяет добиться поддержки всех современных web-стандартов. Поддерживается подключение NPAPI-плагинов, таких как Adobe Flash. Так как браузер базируется на кросс-платформенном фреймворке Qt, в будущем планируется осуществить портирование проекта для различных программных платформ.
Вторым важным достижением является открытие библиотеки виджетов UI Enyo, которая существенно расширяет область использования фреймворка Enyo 2. Если до этого, был доступен лишь базовый каркас фреймворка, то с открытием UI Enyo появилась возможность создания готовый кросс-платформенных мобильных приложений с полноценным графическим интерфейсом пользователя. Ядро фреймворка Enyo 2 не зависит от типа браузера, но некоторые элементы Enyo UI используют специфичные возможности WebKit, что ограничивает их использование браузрами и мобильными платформами, базирующимися на WebKit.
Кроме открытия кода, важным событием также является публикация модели организации управления разработкой webOS и формирование управляющих комитетов. Управление развитием webOS будет организовано в соответствии с принципами, используемыми в сообществеApache. Курировать проект будет независимая некоммерческая организация, процесс принятия решений в которой будет предельно прозрачным и независимым.
Определять пути дальнейшего развития, выбирать стратегию выхода релизов и утверждать решения по принятию тех или иных возможностей будет специально сформированные управляющие комитеты. Отдельные комитеты будут созданы для таких подпроектов, как фреймворк Enyo, браузер Isis, вариант ядра Linux для webOS и webOS System Manager. Состав комитетов будет выбираться из сообщества разработчиков каждого подпроекта. При наличии разногласий решения будут приниматься путем достижения консенсуса. На начальной стадии основной костяк коммитеров будет сформирован из работников HP. Но проект будет целиком следовать принципам меритократии, поэтому в будущем постепенно права коммитеров обретут наиболее активные представители сообщества и компаний, выделяющих ресурсы на развитие webOS.
Среди ключевых принципов названы:
- Код открытой платформы Open webOS будет доступен под лицензией Apache 2.0;
- В Open webOS будет использована модель передачи изменений через коммитеров, которая используется в большинстве открытых проектов.
- Платформа Open webOS будет разделена на несколько подпроектов, каждый из которых будет разрабатываться относительно независимо;
- На сайте Open webOS будет поддерживаться wiki, репозиторий с кодом, списки рассылки и система отслеживания ошибок;
- Для размещения репозиториев будет использован Github или аналогичный проект;
- Для отслеживания ошибок будет задействован JIRAили похожая система;
- Планируется предоставить коммитерам возможность создания и слияния веток, допуская таким образом одновременное наличие нескольких экспериментальных веток.