Линус Торвальдс о проблемах с поиском мэйнтейнеров, Rust и рабочих процессах

На прошедшей на прошлой неделе виртуальной конференции «Open Source Summit and Embedded Linux» Линус Торвальдс
обсудил настоящее и будущее ядра Linux во вступительной беседе с Дирком Хонделом (Dirk Hohndel) из компании VMware. В ходе обсуждения была затронута тема смены поколений в среде разработчиков. Линус указал, что несмотря на почти 30-летнюю историю проекта, в целом, сообщество не такое и старое — среди разработчиков много новых людей, которым ещё не исполнилось и 50 лет. Старожилы действительно стареют и становятся седыми, но те кто давно вовлечён в проект, как правило, ушли от написания нового кода и занимаются задачами, связанными с сопровождением или управлением.

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

На вопрос об экспериментах в ядре Линус высказался, что сообщество разработчиков ядра теперь не может позволить себе некоторые безумные изменения, которые делались раньше. Если раньше разработка ни к чему не обязывала, то теперь от ядра Linux зависит слишком много систем.

На вопрос о переработке ядра на таких языках как Go и Rust, так как есть риск, что в 2030 годах Си-разработчики превратятся в нынешнее подобие разработчиков на COBOL, Линус ответил, что язык Си остаётся в десятке популярных языков, но для неосновных подсистем, таких как драйверы устройств, рассматривается возможность предоставления привязок для разработки на таких языках как Rust. В будущем ожидается предоставление разных моделей написания подобных вторичных компонентов, не ограничивающихся применением языка Си.

Намерение компании Apple использовать в настольных компьютерах и ноутбуках процессоры архитектуры ARM Линус прокомментировал с надеждой, что данный шаг поможет сделать ARM более доступным для рабочих станций. Последние 10 лет Линус жаловался на невозможность найти ARM-систему, которая подходила бы для системы разработчика. По аналогии с тем, как использование ARM компанией Amazon позволило продвинуть данную архитектуру в серверных системах, не исключено, что благодаря действиям Apple через несколько лет станут доступными и мощные ПК на ARM, который можно будет использовать для разработки. По поводу своего нового ПК на базе процессора AMD Линус упомянул, что всё работает нормально, если не считать сильно шумящего кулера.

Про занятия ядром Линус высказался, что это одновременно и скучно и интересно. Скучно, так как приходится сталкиваться с рутиной исправления ошибок и приведения в порядок кода, а интересно, так как постоянно необходимо разбираться с новыми технологиями, взаимодействовать с оборудованием на низком уровне и контролировать всё происходящее.

Про COVID-19 Линус упомянул, что пандемия и режимы изоляции не повлияли на разработку, так как процессы взаимодействия основаны на общении по электронной почте и удалённой разработке. Из разработчиков ядра, с которыми взаимодействует Линус, от инфекции никто не пострадал. Беспокойство вызвало пропадание на месяц или два одного из соратников, но оно оказалось связано с возникновением туннельного синдрома.

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

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

Источник: opennet.ru

Добавить комментарий