Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023)
- Докладчик
- Андрей Савченко
Рассматривается опыт и практики подготовки разработчиков дистрибутивов и процесс их вступления в сообщество на примере Alt Join и Gentoo Recruitment.
Процесс включает в себя обучение как особенностям дистрибутивов, так и правилам взаимодействия с сообществом.
По итогам подготовки проводится достаточно строгий контроль полученных навыков.
Содержание
Видео
Презентация
Thesis
Мотивация
Зачем становятся разработчиками дистрибутивов? Обычно это опытные пользователи, которым чего-то не хватает: пакетов, их оперативного обновления или исправления проблем.
Технические навыки
Порогом начала обучения являются:
- Работа с VCS (обычно git)
- Умение компилировать программы (желательно знать основные сборочные системы)
- Базовое умение собирать пакеты
- Навыки работы с кодом программ для выбранных языков
Командная работа
Дистрибутив — это командная работа, важно уметь взаимодействовать с другими людьми, находить общий язык, это не всегда просто. Следует уделять особое внимание изучению порядка взаимодействия в каждом сообществе, культуре разработки свободного кода.
Полнота охвата
Самой большой технической сложностью является освоение всего многообразия возможных способов работы с пакетами. В Альте это большое количество методов ведения репозитория пакета, в Gentoo это необходимость поддерживать большое число USE флагов и (почти) всех их возможных комбинаций.
Здесь всё постигается опытом и практикой. По сути дела, главная задача ментора — провести подопечного по основным направлениям. Но классического обучения в виде лекций или семинаров здесь нет: кандидат учится сам, ментор отвечает на вопросы и подсказывает что ещё изучить, какие лучшие практики есть для тех или иных аспектов. Это чем-то напоминает дипломную работу.
Проверка знаний
Наставники тоже люди и могут недоглядеть, поэтому когда ментор решает, что кандидат готов, происходит независимая проверка другим разработчиком, обычно из специальной группы заинтересованных лиц. В ходе такой проверки в том или ином виде проводится интервью с кандидатом, обсуждается проделанная им работа, рассматриваются её недоработки; при необходимости кандидат может получить дополнительные задания.
По решению рецензента о готовности кандидат становится полноценным разработчиком, первое время за его действиями наблюдают более опытные товарищи для коррекции возможных проблем.
Сроки
И ментор, и кандидат являются волонтёрами, поэтому срок подготовки может занимать сильно разное время, зависящее от мотивации и занятости. Обычно это полгода--год, но дисперсия высока: может быть несколько недель, а может и несколько лет.