Управление через почтовые рассылки, как барьер, мешающий приходу молодых разработчиков
28 августа 2020 года
Сара Новотны (Sarah Novotny), входящая в управляющий совет Linux Foundation от компании Microsoft, подняла вопрос об архаичности ведения процесса разработки ядра Linux. По мнению Сары, использование списка рассылки (LKML, Linux Kernel Mailing List) для координации разработки ядра и отправки патчей отпугивает молодых разработчиков и является барьером, мешающим приходу новых сопровождающих. С увеличением размера ядра и темпа разработки нарастает проблема с нехваткой сопровождающих, способных курировать подсистемы ядра.
Создание более современного механизма взаимодействия мэйнтейнеров с разработчиками, похожего на систему "issues" и pull-запросы на GitHub с принятием патчей напрямую в Git, позволило бы привлечь в проект более молодых сопровождающих. Текущий процесс управления разработкой, основанный на почтовой рассылке, воспринимается многими молодыми разработчиками как архаичный и излишне трудоёмкий. В настоящее время основным рабочим инструментом разработчиков ядра является почтовый клиент и новичкам, пришедшим в индустрию 5-10 лет назад и привыкшим к современным системам совместной разработки, очень трудно приспособиться к подобной организации работы.
Дискомфорт усиливают жёсткие требования к оформлению писем, некоторые из которых были приняты 25 лет назад. Например, в рассылке действует запрет на использования HTML-разметки, при том, что большинство почтовых клиентов используют такую разметку по умолчанию. В качестве примера возникающих из-за этого сложностей упоминается коллега, которому для отправки патча в список рассылки OpenBSD, также не допускающий письма в HTML, потребовалось установить отдельный почтовый клиент, так как его основной почтовый клиент (Outlook) отправляет письма в HTML.
Чтобы не ломать сложившиеся устои и не нарушать привычки имеющихся разработчиков предлагается создать режим для новых разработчиков, позволяющий передавать патчи сопровождающим напрямую через pull-запросы или системы похожие на "issues", и автоматически транслировать их в список рассылки LKML.
Другой идеей является разгрузка LKML от патчей в пользу обсуждений и анонсов. В текущем виде через LKML проходит тысячи писем, большинство из которых непосредственно предлагаемый для включения в ядро код и лишь небольшая часть анонсы с пояснением сути патчей и обсуждения. Публикуемые патчи при этом всё равно отражаются в Git и обычно принимаются, используя pull-запросы в Git, а LKML лишь документирует процесс.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.