Разработка универсального формата пакетов Limba приостановлена в пользу Flatpak

Маттиас Клумп (Matthias Klumpp) сообщил о приостановке разработки проекта Limba, в рамках которого развивалась система универсальных пакетов приложений, продолжающая развитие идей Listaller и Glick2. Система Limba развивалась в одиночку и после появление систем Flatpak и Snap автор столкнулся с необходимостью конкурировать с компаниями Red Hat и Canonial. Маттиас не видит смысла в такой конкуренции, так как все проекты движутся к одной цели — предоставлении возможности установки новой версии программы, без необходимости обновления всего дистрибутива, и у Flatpak со Snap значительно больше ресурсов для доведения этой возможности до пользователей.

Обсудив сложившуюся ситуацию с Александром Ларсоном (Alexander Larsson), разработчиком системы Flatpak/xdg-app, Маттиас пришёл к выводу, что их видение организации sandbox-изоляции и доставки приложений совпадает, за исключением вопроса модульности пакетов. В итоге было принято решение уступить место более перспективному проекту, близкому по своим идеям к Limba. Limba больше не будет разрабатываться с целью создания конечного продукта и будет позиционироваться как персональный исследовательский проект, которому уже не будет уделяться былое внимание. Планируется рассмотреть применение некоторых идей Limba для упрощения создания пакетов Flatpak. Основная работа Маттиаса будет сосредоточена на других проектах, таких как Linux-дистрибутив Tanglu, сервисы AppStream и поддержка PackageKit в Debian.

Проекты Limba и Flatpak достаточно похожи друг на друга. Маттиас Клумп, автор Limba, является создателем системы универсальных пакетов Listaller, которая развивалась с 2008 по 2014 год, а Александр Ларсон, автор Flatpak, развивал в своё время похожую систему Glick2, после чего в рамках новых проектов они попытались перевести свои разработки на новый уровень и адаптировать к современным реалиям (распространение контейнерной изоляции). Основное отличие Limba от Flatpak заключается в модульном характере, Limba более близок к традиционным пакетным менеджерам и системам, подобным PyPI, и активно применяет пакеты с зависимостями. Изолированное окружение строится при помощи OverlayFS, при этом все необходимые для работы программы компоненты не включены в один пакет, а разнесены по разным пакетам с зависимостями.

Flatpak оперирует более крупными runtime-наборами, предоставляя в качестве зависимости типовые системные окружения (например, все библиотеки, необходимые для работы программ GNOME или KDE). В Limba системное окружение является модульным и формируется из обособленных пакетов, которые обновляются отдельно друг от друга. В обоих системах поддерживаются атомарные обновления и одновременная установка разных версий одной программы. Код Limba написан на Си и поставляется под лицензией GPLv2 (Flatpak под LGPLv2.1).

©  OpenNet