Так в чем основная проблема интеграции Rust в Linux?

Несомненно главной проблемой любой сложной интеграции является налаживание совместной работы всех ее участников и преодоление консерватизма , отсутствия коммуникаций, различий подходов между Rust и С, а так же внятно написанной документации.

✒️ Как пишет Стивен Вон-Николс, старший редактор ZDNET, тоже самое и случилось с интеграцией Rust, он столкнулся с рядом проблем,  на котором остановился в прошлый раз  и которые обсуждались за круглым столом разработчиков ядра Linux на недавно проходившем европейском саммите по вопросам развития открытого кода в Вене.

Как заметил Miguel Ojeda, разраработчик Linux и Rust, выступавшей на встрече Linux Plumbers Rust, ”ответ мантейнерам кроется в  работе с Rust для разработчиков Linux. Мантейнеры внесут свое понимание подсистем, в то время как программисты Rust -- свое экспертное знание языка программирования. Работая вместе, обе группы смогут помочь продвижению кода на Rust в Linux.”

Alice Ryhl, программный инженер Google от команды Rust Android, согласился, что “По мне, успешность подхода выражается в объединении разработчика ядра и эксперта Rust. Я общалася с мантейнером и мы выпустили патч вместе. Мы смогли поучиться друг у друга“ .

Это был пример того, что может случиться, когда дело  идёт хорошо. Иногда, однако, это не так .

Wedson Almeida, инженер программного обеспечения Microsoft и один из Rust мантейнеров Linux, недавно покинула проект, в сообщении на почтовой рассылке ядра Linux ( Linux Kernel Mailing List (LKML), сообщила что “После почти четырех лет, нашла в себе потерю энергии и энтузиазма, так как однажды мне пришлось отвечать на некоторую несусветную чушь, поэтому лучше оставить тем у кого  они все ещё остались." . Несмотря на это ядро команды разработки ядра на Rust все ещё остаётся большим.

Однако, участники встречи, признали положительное влияние совместной работы , что привело к изменению существующих API на С и практики документирования. Заставляя думать людей о том как Rust может помочь Linux, им также пришлось глубоко покапаться в своем коде и объяснить его

Для примера, Al Viro, мантейнер виртуальной файловой системы, рассказал, что Josef Bacik, технический лидер команды разработки файловой системы Meta, переработал 65 страниц документации. Это в свою  очередь, позволило снабдить код на С простыми примерами, для того чтобы разработчики в будущем смогли его конвертировать . Теперь документация даёт четкие правила что делает код и почему .

Ещё участники встречи также указали на одну критическую проблему: несмотря на 1000 оплачиваемых разработчиков ядра, никто не финансирует ведение документации. Это всем также широко известно, но часто игнорируют проблему документирование по Linux и открытому коду.

Jonathan Corbet, разработчик ядра Linux и сооснователь Linux Weekly News (LWN), обнаружил , что некоторые из противоречий в документации идут из принципиальной разницы между C и Rust.

Пока ещё все не в восторге от Rust в Linux, но прогресс на лицо. На встрече с мантейнерами Тордвальс сказал, что нет необходимости понимать Rust, чтобы впустить его в свои подсистемы. Иронично добавив, что "никто не понимает подсистему управления памятью, но все могут работать с ней.“

Картинка взята с  ZDNET, на которой разработчик ядра Linux сооснователь LWN Jonathan Corbet.

Так в чем основная проблема интеграции Rust в Linux? | Сетка — социальная сеть от hh.ru