Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023)

Материал из 0x1.tv

Докладчик
Андрей Савченко.jpg
Андрей Савченко

Рассматривается опыт и практики подготовки разработчиков дистрибутивов и процесс их вступления в сообщество на примере Alt Join и Gentoo Recruitment.

Процесс включает в себя обучение как особенностям дистрибутивов, так и правилам взаимодействия с сообществом.

По итогам подготовки проводится достаточно строгий контроль полученных навыков.

Видео

on youtube

Презентация

Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023).pdf

Thesis

Мотивация

Зачем становятся разработчиками дистрибутивов? Обычно это опытные пользователи, которым чего-то не хватает: пакетов, их оперативного обновления или исправления проблем.

Технические навыки

Порогом начала обучения являются:

  • Работа с VCS (обычно git)
  • Умение компилировать программы (желательно знать основные сборочные системы)
  • Базовое умение собирать пакеты
  • Навыки работы с кодом программ для выбранных языков


Командная работа

Дистрибутив — это командная работа, важно уметь взаимодействовать с другими людьми, находить общий язык, это не всегда просто. Следует уделять особое внимание изучению порядка взаимодействия в каждом сообществе, культуре разработки свободного кода.

Полнота охвата

Самой большой технической сложностью является освоение всего многообразия возможных способов работы с пакетами. В Альте это большое количество методов ведения репозитория пакета, в Gentoo это необходимость поддерживать большое число USE флагов и (почти) всех их возможных комбинаций.

Здесь всё постигается опытом и практикой. По сути дела, главная задача ментора — провести подопечного по основным направлениям. Но классического обучения в виде лекций или семинаров здесь нет: кандидат учится сам, ментор отвечает на вопросы и подсказывает что ещё изучить, какие лучшие практики есть для тех или иных аспектов. Это чем-то напоминает дипломную работу.

Проверка знаний

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

По решению рецензента о готовности кандидат становится полноценным разработчиком, первое время за его действиями наблюдают более опытные товарищи для коррекции возможных проблем.

Сроки

И ментор, и кандидат являются волонтёрами, поэтому срок подготовки может занимать сильно разное время, зависящее от мотивации и занятости. Обычно это полгода--год, но дисперсия высока: может быть несколько недель, а может и несколько лет.


Подготовка дистрибутивостроителей (Андрей Савченко, OSEDUCONF-2023)!.jpg

Примечания и ссылки