Количество пакетов в Fedora от релиза к релизу

Наш коллега, Jiří Eischmann, собрал интересную статистику по количеству пакетов в релизах Fedora:



Кто-то полагает, что рост числа пакетов замедляется, и может быть даже выходит на плато (хотя, как считают некоторые коллеги-аналитики, оснований для вывода о стабилизации на некоем уровне пока нет). Сам Jiří тоже полагает, что количество пакетов стабилизировалось, и причиной этому считает рост популярности Copr, о котором мы рассказывали, аналога неоднозначно зарекомендовавшего себя PPA из Ubuntu. Действительно, вроде бы количество пакетов в Copr растет.

Тут хотелось бы кое-что добавить. Во-1 не стоит пока говорить о выходе на плато. Подождем еще годик-полтора, чтобы вывод базировался не на одной точке. Во-2 замедление добавления пакетов в Fedora обуславливается еще и объективно существующей тенденцией - мы, в отличие от многих других дистрибутивов, порой выбрасываем устаревшие, давно не собиравшиеся пакеты. Гордиться, как другие, поросшим лопухами, но формально большим репозиторием, мы не желаем. Ну и в-3, Copr оценивают не только положительно.

Напомним, Copr появился в рамках работы по реализации идеи о рзделении Fedora на кольца, но моментально стал использоваться для сборки и выкладывания пакетов, в обход все больше устаревающего и устаревающего процесса сборки пакетов в Fedora. Jiří надеется, что в будущем соответствие к предъявляемым Fedora требованиям таких пакетов вырастет, и они начнут конвертироваться в пакеты Fedora.

К сожалению, нужно сказать, что инфраструктура Fedora, хотя и заметно улучшилась, продолжает выглядеть очень архаичной. Дело в общем подходе, не изменившемся с 1990х годов (ориентация на тарбол с исходниками, выложенный на университетском FTP, как тогда было принято). Современный рабочий процесс ориентирован на CI, на тестирование, на Git с его тэгами и бранчами, и автор этих строк не устает удивляться тому, как сильно различаются эти два подхода. Немного чисел - манипуляции с новой сборкой пакета (из тарболла и кучки патчей) в Fedora обычно занимают около часа. Иногда гораздо больше, но порядок величины такой. А вот тот же результат, но достигаемый с помощью Buildbot и Git, требует уже около 5 минут (опять же, когда больше, когда меньше, но порядок величины примерно такой). С таким настроением ты слона не продашь, как говорится. Если раньше мы еще могли зазывать новых мэйнтейнеров, то сейчас он(а) приходит, брезгливо смотрит на существующие инструменты и уходит обратно, отряхивая налипший линукс со своего макбука. Нужна радикальная переработка всего процесса.

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

Не все, конечно, совсем плохо - улучшения в разные этапы процесса сборки пакета постоянно вносятся. Например, еще весной выкатили в продкашен новый способ добавления пакета в разные версии Fedora, более не требующий аккаунта в Bugzilla. А недавно наши мэйнтейнеры ядра доросли до понимания, что надо бы как-то вырасти из детских штанишек "тарболл" + "туча патчей". Подождем, пока они вновь вспомнят, что наипростейший способ управления патчами для Git-репозитария, это форк основного Git-репозитария.

Дел много, но будем смотреть позитивно - это еще и море возможностей. И как раз, недавно у нас появилась вакансия в Fedora Engineering Team. Присоединяйтесь!