Кристоф Хеллвиг ушёл с поста разработчика подсистемы отображения DMA, и его место занял Марек Шипровски. Это изменение произошло на фоне продолжающихся дебатов и разногласий по поводу интеграции языка программирования Rust в ядро Linux.
Отставка Хеллвига с должности ответственного за дерево сопоставления DMA отражена в обновлении файла MAINTAINERS, где ответственным за него теперь указан Марек Шипроуски.
Если вы следили за дискуссиями вокруг интеграции Rust в ядро Linux, то, скорее всего, понимаете причины отставки Хеллвига. Для тех, кто не в курсе, вот подробное описание ситуации.
Дебаты об интеграции Rust
Кристоф Хеллвиг, давний и уважаемый разработчик ядра Linux, был ответственным за подсистему отображения DMA (прямого доступа к памяти) и несколько других областей ядра.
Он выразил обеспокоенность по поводу внедрения Rust, особенно в отношении сложности взаимодействия между языками и его влияния на подсистему DMA. Хеллвиг опасался, что в будущем код на C, вызываемый из Rust, станет значительно сложнее модифицировать.
Линус Торвальдс ответил на возражения Хеллвига, заявив, что разработчики не имеют права контролировать, кто использует их код, и что Хеллвиг был неправ, блокируя код Rust. Торвальдс подчеркнул, что рассматриваемый запрос на добавление функций вообще не затрагивал уровень DMA.
В ответ на сообщение в списке рассылки ядра Торвальдс заявил: «Если вы как разработчик считаете, что контролируете, кто или что может использовать ваш код, ВЫ ОШИБАЕТЕСЬ». Решительная позиция Торвальдса свидетельствовала о его готовности объединить код Rust, несмотря на возражения Хеллвига.
Грег Кроа-Хартман и другие поддерживают интеграцию Rust, особенно для нового кода и драйверов, ссылаясь на ее преимущества в области безопасности памяти. Грег Х.Х., автор книги «Ядро Linux в двух словах», также подчеркнул усилия по очистке кода C для обеспечения совместимости как с C, так и с ++.
Возможно, это привело к тому, что Кристоф ушёл с должности разработчика DMA в проекте ядра Linux.
Реакция сообщества
Некоторые разработчики сочли действия Хеллвига препятствием, особенно с учётом того, что код Rust напрямую не влиял на код, который он поддерживал. Другие, напротив, посчитали, что Торвальдс мог бы более дипломатично урегулировать ситуацию раньше, чтобы предотвратить эскалацию.
Споры вызвали более широкие дискуссии об обязанностях разработчиков, роли социальных сетей в разработке ядра и балансе между техническими проблемами и динамикой сообщества. Последствия также привели к выгоранию и уходу некоторых участников проекта Rust для Linux.
Проект Rust для Linux установил правила интеграции и поддержки кода Rust в ядре, в том числе политику, запрещающую изменения, которые могут нарушить сборку.
Ядро движется вперед
Несмотря на все трудности, ядро Linux продолжает развиваться. Марек Шипроуски взял на себя управление деревом отображения DMA, и план по внедрению Rust остаётся в силе, с упором на постепенный подход к конкретным подсистемам.
Грег Кроа-Хартман также поддерживает это направление и поощряет сотрудничество между разработчиками C и Rust.
Будет интересно посмотреть, как всё это сложится в долгосрочной перспективе. Станет ли Rust основным языком в ядре? Сможет ли сообщество найти способ преодолеть разногласия? Только время покажет.