Кайл Кин (Kyle Keen), один из сопровождающих (maintainer) дистрибутива Arch Linux, обратил внимание и выдвинул доводы против самодостаточных пакетов типа snap.
Самый лучший вариант прочесть статью целиком "Обратная сторона систем распространения приложений в обход дистрибутивов". Скажу сразу, что статья мне понравилась и было круто прочесть критичный взгляд с другой стороны.
Здесь попытаюсь донести общую мысль, которую выдал Кайл. В его видение ситуации, сопровождающие выполняют действительно важную работу, выступая в роли "фильтров" между авторами ПО и пользователями. Не всегда автор программы белый и пушистый товарищ, иногда может сделать гадость в лице показа рекламы, всунуть майнинг биткойнов, напихать в браузер левых плагинов и панелей и т.д.
Никто из нас не хотел бы в своём любимом linux увидеть мерзкий мир винды, где каждый софт сам по себе: кто-то что-то качает, непонятно что из непонятно откуда.
Скажу вам честно, положа руку на сердце, в таком идеальном видение мира сам двумя руками ЗА наличие сопровождающих и пусть всё осталось бы как прежде без всяких новомодных пакетов типа snap. НО! Кто такой сопровождающий? Это человек, который бесплатно занимается тем, что поддерживает в актуальном состоянии своего опекаемого. Задумайтесь на секунду, о том факте, что есть армия людей, которая каждодневно старается для нас, пользователей, тратя свои силы и время на поддержание работы софта при изменениях в системе.
И в реале ситуация очень печальная. В таком мощном проекте как Дебиан в статусе осиротевшие - 741 пакет. Количество программ, которых пользователи хотели бы видеть в официальном репозитории - 3859! Тут не нужно быть семи пядей во лбу, чтобы оценить масштаб трагедии - сопровождающих постоянно не хватает и с ростом всей кодовой базы ситуация только ухудшается.
В мире deb выход только один - нужно активнее вовлекать пользователей, чувствующих силы, к становлению в роли майнтейнера. Вы сами не хотели бы усыновить пару программ и принести пользу? Если нет, то почему?
Кайл в своих доводах описывает идеальный мир, где сопровождающий умнее и опытнее автора программы, иногда даже быстрее исправляя проблему и снимая нагрузку с upstream в вопросах поддержки пользователей.
А давайте вспомним неприятную ситуацию с пакетом XScreenSaver. Автор попросил проект Дебиан убрать его программу из официального репо, так как там лежит древняя версия от 2014 года. Пользователи жалуются напрямую в upstream и напрягают его тем, что давно уже исправлено. Начался конфликт, так как авторы добавили надпись, что версия устарела, а сопровождающий вырезал это в патче. И где тут идеальный мир?
И самая главная беда в ситуации, когда сопровождающий находится посередине между автором и пользователем, состоит в том, что многие линукс системы - это time-based дистрибутивы. То есть вышел релиз и всё как бы замораживается во времени в своих версиях. Разрешается только бэкпортирование в случае серьёзных проблем с ПО или проблем с безопасностью.
Новые версии программ с улучшением функциональности допускаются за очень редким исключением. Но проблема в том, что авторы программ в своём проекте могут не выделять патчи безопасности в отдельные транки и сопровождающие очень часто пропускают такой сложный момент. Обычные обновления могут устранять потенциальные уязвимости, которые могли бы всплыть при детальном рассмотрении ошибки.
Вспоминаются слова Линуса Торвальдса, который рекомендовал не зацикливаться на вопросах безопасности, забыв про всё остальное, и по этому поводу обозвал парней из OpenBSD группкой мастурбирующих обезьян.
Хочется подытожить сказанное:
А закончить свои мысли хочется, кинув камень в огород Кайла. Он сопровождающий из мира Arch, а там особой популярностью пользуется Arch User Repository (AUR). В AUR пользователи могут добавлять свои собственные сборки пакетов (PKGBUILD и другие необходимые файлы). Кайл критически отзывается об избавлении такой лишней, как по мне, сущности "сопровождающего", а у самого в его епархии пользователи сами управляются без них, чтобы ускорить появление свежего софта. Ну не ирония ли судьбы?
Дата последней правки: 2023-12-27 15:07:48