[devel] Отсутствие консенсуса в Тим

Grigory Ustinov grenka на altlinux.org
Сб Июн 17 10:45:50 MSK 2023


16.06.2023 10:22, Vitaly Lipatov пишет:
>
> В дополнение к вопросу Алексея Шабалина о прохождении Join  я хотел бы 
> добавить следующие моменты.
>
> Они о том, кого на самом деле мы приглашаем и ждём в Тим, насколько 
> хорошо работает Join и насколько Тим является сообществом эгоистов.
>
> 0. Люди приглашаются в Тим для того, чтобы они могли собирать какой-то 
> свой пакет («Хотите этот пакет в Сизифе — добро пожаловать в Join»), 
> то есть зовём всех желающих. А дальше (даже если хотел собирать 
> маленький пакет с кодом на bash), кандидат должен освоить сборку 
> shared libs, программ на C++, использование meson и cmake, autotools 
> само собой.
> То есть на самом деле никто не может собирать один пакет в Сизиф, он 
> предварительно должен стать полноценным мантейнером, хотя ему это 
> может вовсе не нужно.
>
> 0. Представители компании приглашаются в Тим, когда компания хочет 
> размещать свой продукт в репозитории (ну или наоборот их уговаривают, 
> если это Яндекс). При этом задача у такого мантейнера только одна — 
> отправлять новые версии на сборку и реагировать на проблемы. Пакет он 
> может собирать давно и для разных rpm-систем. Но нет, он должен стать 
> полноценным мантейнером.

Если речь идёт об одном никому не нужном пакете - это одно, но если от 
этого пакета хоть что-то ещё зависит, мейнтейнер должен это понимать, 
кроме всего прочего для этого самого одного пакета иногда нужен второй, 
третий.. и загадить или разломать репозиторий очень недолго. Как ни 
крути для сборки даже одного пакета человек должен быть интегрирован в 
сообщество, уметь пользоваться инфраструктурой, понимать основы альтовой 
специфики сборки пакетов и так далее по списку вплоть до shared libs 
само собой.

> 1. У нас нет конкретных требований к навыкам мантейнера. Есть какие-то 
> соответствия ожиданиям и соответствие уровню пакетов в Сизифе. 
> Понятно, что это сводится к субъективному мнению принимающих, которое 
> представляется как объективное или консолидированное.

В школах и университетах приём экзаменов производится по той же схеме. 
Кого-то это тоже не устраивало и ввели ЕГЭ. К чему это привело, я 
комментировать не буду.

> 2. Институт наставников (менторов) не работает, поскольку у 
> наставников нет подмастерий, они кандидаты. Эти кандидаты каким-то 
> образом, пособирав дома свои пакеты, должны стать внимательными, 
> вобрать в себя весь недокументированный опыт (видимо, прочитав много 
> пёстрых спеков) ведения пакетов в Сизифе, уметь рассуждать о 
> преимуществах Shared Libs Policy и желательно собирать пакеты из 
> апстримного git с submodules без поддержки этого в сборочнице 
> (https://bugzilla.altlinux.org/17914).
Не знаю как у других, но мне приходится тратить немало времени, 
комментируя ошибки и неточности. Практика показывает, что спустя десяток 
собранных пакетов, количество ошибок и неточностей падает в разы. По 
крайней мере у способных кандидатов. И таки да, среди десятка пакетов 
один может быть с shared libs, другой с submodules и едва ли лишние 
знания помешают новому мейнтейнеру.

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

Именно так это и работает. Кандидат собирает пакеты, ментор аппрувит, а 
потом приходит рецензент и "диву даётся" от того, что попало в репозиторий:)

>
> 3. Нет согласия в Тим по поводу применения policy. Полиси как бы есть, 
> но они никогда не утверждены и исполняются теми, кто хочет их 
> исправлять. Есть даже механизм утверждения полиси 
> https://www.altlinux.org/Policy_Policy, но он не работает.
>
> 4. Нет механизма выявления консенсуса в Тим по тому или иному вопросу. 
> Или хотя бы фиксирования двух или трёх равноправных альтернатив. Есть 
> замаскированный технический лидер (ему всегда можно написать по адресу 
> placeholder на altlinux.org).
ldv@ ?

> 5. Нет механизма критики мантейнеров. Вообще вся мощь «соответствия 
> ожиданиям» направлена на кандидатов, чтобы они не прошли Join, такие 
> же требования к участникам Тим не применяются.
Переаттестация.

>
> 6. Примерно ясно, откуда берутся наставники (соглашаются добровольно), 
> не ясно, откуда берутся рецензенты (назначаются секретарём из списка, 
> в котором никого нет, потому что механизма попадания в этот список 
> нет), и не всем понятна формальная роль секретаря (что он исполняет 
> процедуру, а не принимает решения).
К ментору должны быть требования по стажу. Количество собранных пакетов 
например. Иначе получится, что человек слабо представляющий как вообще 
выглядят пакеты будет принимать работу того, кто вообще не знает и 
незнание будет эскалироваться. Разумно было бы, чтобы список менторов 
полностью совпадал бы со списком рецензентов.

> 7. Не ясно, каким образом формируется процедура приёма (Join), в том 
> числе обязанности менторов и рецензентов. Есть записанные обязанности 
> секретаря, механизма внесения изменения в которых нет. Возможно, что 
> секретарь действительно не должен иметь представления о том, как 
> собираются пакеты, это для него лишнее.

Наш секретарь пока что - это последняя надежда на то, что процедура 
джойна будет проводиться качественно, а не тяп-ляп.

P.S. От себя добавлю, что Сизиф - это и так очень нестабильная штука. 
Снижение порога входа в тим не сделает его лучше. Моя практика 
показывает, что не каждый кто подаёт заявку на джойн вообще способен 
быть мейнтейнером. Есть люди, которые ошибаются, думают, что поддержка 
пакетов - это раз-два и обновил, а там оказывается надо и искать 
информацию и разбираться в коде и понимать autotools само собой.

P.P.S. Решения у меня для вас нет, но две идеи накинуть могу:
1. Полный пересмотр системы acl. Сейчас больше 2/3 пакетов имеют 
свободный доступ @everybody. Если мы планируем снижать планку для 
кандидатов, то надо отказываться от @everybody. Начать можно с деления 
на группы типа @perl @python @go.

2.  Можно попробовать подойти к вопросу с другой стороны и попытаться 
выяснить, кто нам в тим точно не нужен.



Подробная информация о списке рассылки Devel