[devel] Отсутствие консенсуса в Тим
Leonid Krivoshein
klark.devel на gmail.com
Пт Июн 16 13:33:05 MSK 2023
Привет!
On 6/16/23 10:22, Vitaly Lipatov wrote:
> В дополнение к вопросу Алексея Шабалина о прохождении Join я хотел бы
> добавить следующие моменты.
>
> Они о том, кого на самом деле мы приглашаем и ждём в Тим, насколько
> хорошо работает Join и насколько Тим является сообществом эгоистов.
>
> 0. Люди приглашаются в Тим для того, чтобы они могли собирать какой-то
> свой пакет («Хотите этот пакет в Сизифе — добро пожаловать в Join»),
> то есть зовём всех желающих. А дальше (даже если хотел собирать
> маленький пакет с кодом на bash), кандидат должен освоить сборку
> shared libs, программ на C++, использование meson и cmake, autotools
> само собой.
> То есть на самом деле никто не может собирать один пакет в Сизиф, он
> предварительно должен стать полноценным мантейнером, хотя ему это
> может вовсе не нужно.
Полноценный маинтейнер (в твоей интерпретации) должен владеть всем
инструментарием сборки и знаниями, которые человеку могут быть совсем не
нужны. Такие маинтейнеры Тиму безусловно важны, но затачивать логику
джойна исключительно под них, очевидно неправильно. Иначе надо говорить,
что ALT Linux Team -- это сообщество исключительно профессиональных
сборщиков пакетов. Мне казалось, что этот вопрос ранее уже был решён.
Пруф: https://www.youtube.com/watch?v=FtkwU5H9Oqo
> 0. Представители компании приглашаются в Тим, когда компания хочет
> размещать свой продукт в репозитории (ну или наоборот их уговаривают,
> если это Яндекс). При этом задача у такого мантейнера только одна —
> отправлять новые версии на сборку и реагировать на проблемы. Пакет он
> может собирать давно и для разных rpm-систем. Но нет, он должен стать
> полноценным мантейнером.
Им предлагается, иногда мы сами собираем, если находим ресурсы. Никого
не уговариваем, здесь интерес на их стороне в первую очередь. И как раз
с такими проблем возникает меньше, поскольку компетенции в области
сборки своих пакетов у них, как правило, хватает, достаточно освоить
наши инструменты и policy.
Причём, в последнее время количество желающих заджойниться, в том числе,
и через нашу партнёрскую сеть совместимости, значительно возросло, так
что механизм их одобрения становится особо актуальным.
> 1. У нас нет конкретных требований к навыкам мантейнера. Есть какие-то
> соответствия ожиданиям и соответствие уровню пакетов в Сизифе.
> Понятно, что это сводится к субъективному мнению принимающих, которое
> представляется как объективное или консолидированное.
Если не ошибаюсь, Георгий Курячий брался делать что-то новое по джойну в
части дифференциации и конкретизации требований. Не знаю, чем
закончилось. А так, видимо действует старый дефолт: если в баге на джойн
написал, "хочу научиться собирать пакеты", то учись. Если бы написал
"хочу опакетить скрипт на bash", возможно было бы иначе.
> 2. Институт наставников (менторов) не работает, поскольку у
> наставников нет подмастерий, они кандидаты. Эти кандидаты каким-то
> образом, пособирав дома свои пакеты, должны стать внимательными,
> вобрать в себя весь недокументированный опыт (видимо, прочитав много
> пёстрых спеков) ведения пакетов в Сизифе, уметь рассуждать о
> преимуществах Shared Libs Policy и желательно собирать пакеты из
> апстримного git с submodules без поддержки этого в сборочнице
> (https://bugzilla.altlinux.org/17914).
Если у кого-то что-то с наставником не складывается, нужно искать
другого. Постоянная смена наставников говорит о невозможности работы
человека в команде. Но в основном опыт проблем с наставниками редкий, и,
как правило, проблема у них в дефиците времени.
> На мой взгляд, кандидат должен иметь возможность собирать пакеты в
> Сизиф как можно раньше (с аппрувом наставником, конечно), чтобы
> приобрести тот самый опыт, получить больше замечаний, и прийти на
> рецензирование уже с багажом собранных пакетов. Технически сейчас
> такая возможность есть, но она не реализуется.
Как раз с апрувом сейчас работает, насколько я слышал. Ситуация
получается некрасивая для Тима и неудобная для наставника. Потому что
пакеты проверяются и апрувятся только одним наставником -- в Сизиф это
попадает без двойной проверки, а кандидата получается динамят.
> 3. Нет согласия в Тим по поводу применения policy. Полиси как бы есть,
> но они никогда не утверждены и исполняются теми, кто хочет их
> исправлять. Есть даже механизм утверждения полиси
> https://www.altlinux.org/Policy_Policy, но он не работает.
В отношении оценки работы кандидата всегда стоит разделять ошибки и
рекомендации типа "а я предпочитаю такой вариант". Джойн не должен быть
точкой принятия policy и наоборот, отсутствие утверждённого policy не
должно быть препятствием для джойна.
> 4. Нет механизма выявления консенсуса в Тим по тому или иному вопросу.
> Или хотя бы фиксирования двух или трёх равноправных альтернатив. Есть
> замаскированный технический лидер (ему всегда можно написать по адресу
> placeholder на altlinux.org).
Вот эта рассылка в devel@ и есть единственный механизм.
> 5. Нет механизма критики мантейнеров. Вообще вся мощь «соответствия
> ожиданиям» направлена на кандидатов, чтобы они не прошли Join, такие
> же требования к участникам Тим не применяются.
Ну почему, критики достаточно и здесь, и в bugzilla.
> 6. Примерно ясно, откуда берутся наставники (соглашаются добровольно),
> не ясно, откуда берутся рецензенты (назначаются секретарём из списка,
> в котором никого нет, потому что механизма попадания в этот список
> нет), и не всем понятна формальная роль секретаря (что он исполняет
> процедуру, а не принимает решения).
Рецензентов остро не хватает, сейчас это главная проблема.
> 7. Не ясно, каким образом формируется процедура приёма (Join), в том
> числе обязанности менторов и рецензентов. Есть записанные обязанности
> секретаря, механизма внесения изменения в которых нет. Возможно, что
> секретарь действительно не должен иметь представления о том, как
> собираются пакеты, это для него лишнее.
>
https://www.altlinux.org/Team/Join -- тут и по ссылкам всё есть.
IMHO:
Нынешняя парадигма джойна не приведёт к экспоненциальному росту Тима
даже при весьма высоком спросе из-вне. У человека, быстро и легко
прошедшего джойн, напротив, будет стимул набираться опыта и получать
навыки в смежных областях, подтверждать их, и через ACL получать новые
полномочия.
Нужна ступенчатость, нужно разделить навыки опакечивания, работы с
апстримным кодом, сборки из исходников, бэкпортирования в стабильные
бранчи, закрытия багов, CVE, итд. Сначала нужно побороться за
количество, чтобы набрать силы бороться потом за качество.
Ну и не должны страдать десятки желающих из-за одного нерадивого ментора
(имею ввиду конечно себя), ради которого выстроена такая стена
недоверия. Кстати, менторство -- тоже хороший навык для тима, его можно
давать, и нужно отзывать. Для начала я бы предложил отказаться от
"рецензента для каждого джойна", для каждого он точно не нужен.
--
WBR, Leonid Krivoshein.
Подробная информация о списке рассылки Devel