Содержание статьи
15 мая 2015 года Министерство связи РФ опубликовало пресс-релиз, в котором объявило о начале формирования международного консорциума для развития новой мобильной ОС для стран БРИКС. В переводе на русский это означает, что реализация плана импортозамещения все-таки началась и вместо забугорных андроидов и iOS’ов таки хотят свою ОС. И все бы ничего, посмеялись и разошлись, да вот только, похоже, ребята настроены серьезно, ибо в качестве базы для своей ОС они выбрали на редкость вменяемую систему — Sailfish OS.
Вместо введения
Sailfish OS должна быть хорошо знакома всем, кто до сих пор юзает старые добрые Nokia N900 и Nokia N9. Да, это система для вас, чуваки, и вы уже, наверное, успели сказать спасибо господину Никифорову. Всем остальным же придется сделать небольшой экскурс в историю, так как без него понять, что такое Sailfish OS и почему на нее молятся олдфаги и юниксоиды по всему миру, невозможно.
Фактическая история Sailfish OS началась в далеком 2005 году, когда Android и iOS еще не существовали, а миром правила Nokia. Все началось с экспериментов. Symbian помирала, Windows Mobile всех бесила, и Nokia начала эксперименты с мобильным Linux, которые в результате вылились в карманный компьютер Nokia 770 на базе новой ОС Maemo.
Сама по себе Maemo, конечно, не была чем-то совершенно новым и представляла собой минималистичный Linux-дистрибутив со специально адаптированным для малых тач-экранов интерфейсом пользователя. Однако MeeGo стала одной из первых по-настоящему известных и популярных Linux-систем для наладонников, и, кроме Nokia 770, она перекочевала на следующие модели карманных ПК Nokia — N800 и легендарный N900.
Примерно в то же время свои собственные версии «карманного Linux» начали пилить и многие другие компании, включая Motorola, Google и Intel. И если наработки первых двух имели всем известный исход (в первом случае забвение, во втором — процветание), то у продукта Intel гораздо более интересная история жизни. Операционка под названием Moblin развивалась совместно с Linux Foundation как открытая стандартизованная Linux-платформа для мобильных устройств. Разработка шла без особого энтузиазма, и, чтобы не растрачивать усилия впустую, в определенный момент Intel и Nokia договорились о слиянии Moblin и Maemo в единую платформу, получившую имя MeeGo.
Новая система стала идейным продолжением Maemo и, в частности, была выпущена для N900 как обновление вместо намечавшегося ранее релиза Maemo 6. Также система поддерживала множество недорогих нетбуков класса Asus EeePC и была предустановлена на коммуникатор Nokia N950, который так и не был пущен в массовое производство. Вскоре после этого Nokia благополучно «продалась» Microsoft и закрыла подразделение, занимавшееся разработкой MeeGo, выпустив на прощание смартфон Nokia N9, до сих пор используемый многими энтузиастами.
Потеряв ключевого партнера, Intel быстро переметнулась к конкурентам и объявила о сотрудничестве с Samsung для продолжения разработки MeeGo как системы с HTML5-интерфейсом под названием Tizen. Туда же ушли и энтузиасты из Linux Foundation, а MeeGo перешла в руки сообщества и начала новую жизнь под именем MER (MEego Reconstructed).
И здесь начинается самое интересное. Бывшие сотрудники компании Nokia, ответственные за разработку Maemo и MeeGo, объединились и создали компанию Jolla, а в качестве цели поставили создание системы, идейно близкой к MeeGo. Так на свет появилась Sailfish OS, представляющая собой тот самый MER, снабженный интерфейсом и API на базе Qt 5 (никаких HTML и JS, только C++), набором стандартных приложений, магазином софта и разного рода интересными плюшками вроде прозрачной интеграции с Google, Facebook, Twitter и так далее.
INFO
Основной из причин, побудившей Intel присоединиться к разработке MeeGo, было отсутствие полноценной поддержки процессоров Atom в Windows 7.
Кроме Sailfish OS, платформа MER используется также в системах Tizen, Plasma Active и Mer-дистрибутиве Nemo Mobile.
Еще одна мобильная ОС?
Sailfish OS не просто еще одна основанная на ядре Linux система (привет Android, webOS, Tizen, Firefox OS и всем остальным) - это самый настоящий дистрибутив GNU/Linux, способный без всяких проблем запустить весь тот софт, который мы привыкли видеть на Linux-десктопе. Это система с собственной графической оболочкой, собственным SDK для разработки приложений, магазином софта, но это «настоящий Linux», построенный на тех же компонентах, что и любой настольный Linux-дистрибутив.
При желании в Sailfish можно запустить десктопный Firefox, OpenOffice, клиент игры Xonotic или любой другой Linux-софт с поддержкой Wayland (в системе нет «иксов»). А если верить разработчикам, перенос десктопного софта, основанного на Qt 5, в Sailfish OS отнимет не больше часа. Для тех, кому и этого мало, в Sailfish OS предусмотрен режим совместимости с Android-софтом, однако работает он только в сборках для официального смартфона Jolla, так как требует лицензионных отчислений в пользу компании Myriad Group за слой совместимости Alien Dalvik (альтернативная реализация виртуальной машины Dalvik).
Xakep #198. Случайностей не бывает
Linux-природа Sailfish не просто открывает путь к действительно сложным и уникальным приложениям с долгой историей развития — она позволяет опереться на огромное сообщество, отвечающее за развитие всех тех компонентов, которые составляют типичный Linux-дистрибутив. Jolla совсем не обязательно быть таким мастодонтом, как Google или Apple, чтобы поддерживать свою ОС в актуальном состоянии. За инициализацию здесь отвечает уже привычный линуксоидам systemd, за вывод звука — PulseAudio, мультимедиакодеки — GStreamer, да что там говорить, даже драйверы, и те можно взять из Android благодаря слою совместимости Hybris. Огромные команды разработчиков работают на тебя, бери, пользуйся, главное — запили хороший графический интерфейс.
И да, интерфейс здесь интересный и на редкость вменяемый. Это и не убунтовский UI с философией «мы сами знаем, что нужно юзеру, и делаем как хотим», и не полностью копирующий Android интерфейс Firefox OS. Это нечто стандартное и привычное, но при этом подслащенное весьма изобретательно сконструированными пилюлями. Экран блокировки здесь плавно перетекает в рабочий стол, а рабочий стол — в меню приложений. Вместо иконок и виджетов на рабочем столе — нечто вроде миниатюр свернутых приложений, которые одновременно играют роль и миниатюры, и виджета. Выбирать пункты меню нужно, вытягивая экран вверх или вниз, а сам UI выполнен в минималистическом, почти Metro’шном стиле с пронизывающим все и вся эффектом блюра.
Система легко и непринужденно интегрируется с десятком различных облачных сервисов, начиная от Google и заканчивая Flickr. Контакты, сообщения, письма, календарь — все это начинает синхронизироваться через стандартные приложения, стоит только связать устройство с нужными сервисами. Почта Gmail сыплется в стоковое приложение «Почта», а сообщения Facebook отправляются через приложение «Сообщение». Календарь собирает события сразу из нескольких мест, а галерея отображает фотографии из облачных хостингов.
Sailfish OS красива, функциональна и очень удобна. Это почти идеальный вариант мобильной операционки, но есть в ней одна проблема: это ОС с закрытым исходным кодом.
WTF?
Когда министр Никифоров объявил о планах использовать Sailfish OS для импортозамещения, кроме восторгов, можно было услышать и множество недоуменных вопросов, касающихся выбора ОС с закрытым исходным кодом в качестве национальной мобильной операционной системы. Действительно, хотя платформа MER и является открытой в лучшем смысле этого слова — все, что находится в Sailfish OS уровнем выше (а это графическая оболочка, стоковые приложения, магазин софта и все те плюшки в виде бесшовной интеграции с веб-сервисами) — проприетарные и закрытые компоненты.
Поначалу можно было предположить, что мы будем использовать Sailfish только в качестве платформы для графической оболочки собственной разработки (и, как следствие, несовместимой с приложениями Sailfish OS). Однако, похоже, Минкомсвязи удалось договориться об открытии других частей системы: 27 мая Никифоров заявил, что уже летом графическая оболочка и набор библиотек для ее формирования будут полностью открыты (релиз 2.0). А вот будет ли открыт код стоковых приложений и код, отвечающий за интеграцию с веб-сервисов, пока неясно.
В любом случае даже этого вполне достаточно, чтобы в сжатые сроки построить собственную ОС на базе по-настоящему открытых и не привязанных к отдельно взятой компании (как у Android) исходников. Вообще, Mer и Sailfish — это пример того, как должна развиваться открытая система. В разработке и формировании плана развития здесь участвует сообщество, а управление проектом организовано по принципу меритократии (так же, как, например, в Debian GNU/Linux).
Выводы
Если честно, я был приятно удивлен выбором Минкомсвязи и желанием опереться на уже имеющиеся открытые разработки вместо криков в стиле «сделаем свою ОС с гербом и флагами». Если оставить за скобками сам смысл идеи «национальной мобильной платформы», то Sailfish OS определенно правильный выбор. Смущает лишь то, что господин Никифоров почему-то постоянно упоминает некую мифическую компанию Sailfish Holding с инвесторами по всему миру и утверждает, будто именно она ответственна за разработку Sailfish OS. Найти информации об этой компании мне не удалось, и я могу только предположить, что пока есть только некоторая договоренность о создании холдинга, в который в будущем войдет и Jolla.