March 31, 2023

О проблеме отечественного линуксостроения

На дворе 2023 год, мы уже год живём под разного рода санкциями, которые имеют тенденцию к усилению, и вопрос собственной базовой ОС для десктопов, серверов и рабочих станций становится принципиальным.

Обзор рынка отечественных ОС полгода назад я делал на ливитру (тыц), за последние полгода в этом плане поменялось не так уж и много: на данный момент единственный дистрибутив, обладающий технологической независимостью от зарубежного апстрима — Альт.

Что не так с Альтом

Казалось бы, ставь Альт, настраивай и радуйся жизни?

Увы и ах, концептуально Альт застрял в 2004 году, когда ещё не было Ubuntu, а установка линукса являлась испытанием для избранных. Основные проблемы главного русского дистрибутива:

  • Огромное множество различных редакций разной степени готовности. Конечному пользователю непонятно, где скачать дистрибутив и какой именно ISO ему нужен.
  • Древность софта в стабильных ветках такова, что Debian позавидует.
  • В стартеркитах окружения захламлены тонной левого ПО, которое может и не потребоваться конечному пользователю. Отдельная беда с этим ПО в том, что оно написано на устаревших фреймворках, не подхватывает системную тёмную тему и не умеет в HiDPI (в 2023 году!)
  • Из live-режима стартеркита невозможна установка. Для перехода в инсталлятор требуется перезагрузка и выбор установщика в меню загрузки LiveCD. Ubuntu избавилась от такого атавизма 17 лет назад, в релизе 6.06!
  • Инсталлятор по UX напоминает таковой у Debian Lenny — но в некоторых аспектах (например, разметка диска) работает даже хуже инсталлятора стабильного дебиана тринадцатилетней давности. Автору так и не удалось установить Альт на программный зашифрованный raid с файловой системой btrfs.
  • Не наблюдается движений к современным тенденциям Linux (контейнеризация, изоляция, воспроизводимость/иммутабельность). Про ostree разработчики Альта узнают, видимо, лет через 20.

Все эти пункты приводят к тому, что современный пользователь линукса не будет даже рассматривать Альт, как систему для собственного пользования, если ему это не навязано извне государственной регуляцией.

А нам точно нужен российский линукс? Апстрим-то все равно мировой

Проблема мирового апстрима в том, что он живёт в условиях санкционного давления и патентных ограничений. С некоторыми разработчиками, которым «повезло» работать в подсанкционных компаниях, апстрим не хочет взаимодействовать уже сегодня. Кроме того, сетевые и юридические ограничения могут подставить конечных пользователей, которым однажды может приехать обновление, отключающее работу их сервера/десктопа в определённой геолокации — слава богу, прямо сейчас такие практики в опенсорсе порицаются, но кто знает, как к этому будут относиться, если геополитическая обстановка в других частях света (см. Китай/Тайвань) начнёт накаляться, и сепарация IT-сообществ по своим «многополярным» кучкам ускорится?

Таким образом, уже сейчас надо думать о том, чтобы взять какую-то из уже существующих мировых платформ создания дистрибутивов, клонировать её инфраструктуру (благо, в большинстве случаев она открыта), и на её основе начинать развивать современный линукс с независимой, устойчивой к санкционному давлению инфраструктурой.

Какой фундамент выбрать?

В первую очередь надо понимать, что отечественный линукс не должен изобретать велосипед — это неэффективно с точки зрения быстрого старта проекта и с точки зрения траты человеческих ресурсов. Тот же Альт в своё время начинался именно как развитие Мандрейка — и сегодня тот, кто должен заменить Альт в качестве главного русского дистрибутива должен выбрать себе надёжный фундамент, от которого сможет отпочковаться и развиваться дальше.

В качестве вариантов я предлагаю рассмотреть Debian, Fedora и Arch Linux.

Debian/Ubuntu

Debian не преследует цели «двигать линукс-десктоп» вперёд, и может являться отличной базой для серверных/специализированных дистрибутивов (привет, Астра!), но обладает достаточно переусложнённым форматом пакетов (deb тащит за собой 20 лет легаси). Постройка современного десктоп-окружения на основе Debian требует массы усилий, особенно, если речь идёт не о KDE.

В плане стандартов построения иммутабельных дистрибутивов — для Debian есть инструмент работы с OSTree, которым пользуется Endless OS, но он отстаёт в развитии от rpm-ostree и не поддерживает загрузку в OCI-контейнер на данный момент.

Если же смотреть на Ubuntu, то её главная проблема зарегистрирована на острове Мэн и называется Canonical. Фанатичное движение против всех линукс-мейнстрима со snap-пакетами, которые навязываются пользователям втихую, обновляются без спроса и без возможности обновления отключить и поставляются из единственного проприетарного стора, однажды закопает данный дистрибутив для всех юзкейсов, кроме IoT.

Arch Linux

У Arch простой формат пакетов и сборочной системы, свежее ПО в репозиториях (вечный роллинг), с его помощью легко построить современный линукс-десктоп. В плане серверной же системы все преимущества Arch превращаются в его недостатки — если не брать юзкейс тонкой, постоянно обновляемой системы, в которой любой серверный софт крутится исключительно под Docker в контейнерах.

Единственным значимым недостатком Arch как базы для построения нового дистрибутива является отсутствие в данный момент стабильного/кем-либо используемого инструментария для иммутабельного/воспроизводимого дистрибутива. Существуют попытки использовать ostree с пакетным менеджером Arch, но неизвестно об успешности их применения.

Fedora

Дистрибутив, который развивается главной линукс-конторой мира (Red Hat), естественно, является флагманов всех изменений в линукс-экосистеме. У данного дистрибутива уже налажено производство иммутабельных систем (в том числе — с помощью стандартизированных OCI-контейнеров), самые свежие наработки линуксового десктопа и так далее.

Однако, Fedora так же обладает своим набором недостатков. В первую очередь это rpm, так же, как и deb, тащащий в себе двадцать лет легаси, которые переусложняют формат пакета. Кроме того, Fedora соблюдает все санкции и законы США, что приводит к усложнению взаимодействия русских разработчиков с дистрибутивом, сложностями с установкой проприетарных драйверов и удалением из поставки кодеков и аппаратного декодирования из-за боязни патентных споров. Немаловажно, что само сообщество разработчиков Fedora является весьма токсичным, особенно его русскоязычная часть, представленная разработчиками из Прибалтики и Украины. FESCo знаменит попытками натянуть сову на глобус и попытаться перестроить мир вокруг себя (например, они пытались поставлять программы, написанные на Go, динамически слинкованными с зависимостями, что прямо противоречит тулкиту языка).

Что делать дальше?

Данный документ представлен как request for comments: читателю предлагается ответить на два вопроса:

  • Нужен ли новый русский дистрибутив Linux, с независимой от апстрима инфраструктурой?
  • Если на первый вопрос ответ «да» — от какой основы он должен отпочковаться, чтобы получить в итоге современный дистрибутив, готовый к употреблению конечным пользователям, не желающим ковыряться в системе, чтобы начать с ней работать?

Возможно, итогом этого обсуждения станет новый проект, который будет призван создать в России дистрибутив-базу, которая перетащит отечественный линукс в двадцать первый век.