Оптимизация Linux задерживается: ушел главный разработчик проекта Rust for Linux. Но почему?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет, Хабр! Это Даша Волкова из МТС Диджитал. Несколько дней назад стало известно, что Ведсон Алмейда Фильо (Wedson Almeida Filho), ключевой участник проекта Rust for Linux, решил уйти из команды. О своем решении он объявил неожиданно для многих представителей как самого проекта, так и Linux-сообщества. Теперь переход ОС на Rust замедлится. Что случилось?

Почему ушел главный герой

Судя по всему, Фильо утомили второстепенные обсуждения в команде. По его мнению, участники распыляют усилия и ведут дискуссии, которые не имеют значения для самого проекта. Конечно, это мнение одного человека, но Фильо в проекте уже больше четырех лет. Он считает, что сообщество Linux «свернуло не туда», а в проекте стало слишком много «нетехнической чуши».

«Я ухожу из проекта. После почти четырех лет я обнаружил, что мне не хватает энергии и энтузиазма отвечать на нетехнические вопросы. Поэтому лучше оставить эту работу тем, у кого они еще есть», — заявил Фильо. И прокомментировал, что над Rust for Linux работают талантливые специалисты, несмотря ни на что.

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

Что это за проект

Впервые о Rust for Linux стало известно в 2020 году, и Фильо находился у истоков. Его участие в проекте — добровольное: это не основная работа, он софтверный инженер в корпорации Microsoft. Еще пару лет Фильо работал в Facebook и Google, причем в последней трудился с 2013 по 2022 год.

Главная цель Rust for Linux — переписать ядро Linux на языке Rust. Сейчас большая часть кода написана на С и на ассемблере. По мнению ряда членов сообщества, ядро Linux слишком «дырявое» в плане безопасности. Убрать большинство угроз можно при помощи такого надежного языка с приоритетом на безопасность, как Rust. Помимо безопасности, Rust еще и предлагает отличную поддержку параллелизма.

Это мнение большинства участников проекта Rust for Linux, включая и Киса Кука из команды Google Security Team. Он, как и Фильо, один из ключевых участников. Соответствующая работа по избавлению ядра Linux от наследия прошлого в виде кода на С ведется уже давно. Еще в 2023 году, начиная с версии 6.1, была добавлена начальная инфраструктура Rust как альтернативного языка для создания новых модулей ядра. А в версии 6.5 появились новые абстракции и дополнительные подсистемы.

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

Какие сложности есть сейчас

Далеко не все участники сообщества разработчиков Linux знают Rust, и это главная проблема. Недавно Линус Торвальдс прокомментировал, что разочарован скоростью внедрения Rust в Linux, а еще отметил, что большинство разработчиков работает с С и не планирует учить новый язык.

К тому же сам по себе Rust тоже не панацея. Недостатки у проекта тоже есть:

  • нельзя целиком и полностью переписать ядро на Rust. В некоторых случаях приходится идти на компромиссы между производительностью и безопасностью;

  • дополнительные рантайм-проверки приводят к проблемам с производительностью;

  • при переходе на новый язык неизбежно возникают проблемы организационного характера. Кто-то не согласен с переходом, кто-то не планирует учить ничего нового и так далее. Появляются проблемы с согласованием основных и третьестепенных технических моментов. А это и порождает те самые «нетехнические дискуссии», о которых заявил Фильо.

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

Тем не менее Фильо продолжает верить в будущее языков, которые безопасны для памяти, и считать, что именно эта особенность делает Rust полезным для ОС Linux. Но сам он возвращаться пока не собирается.

Источник: https://habr.com/ru/companies/ru_mts/articles/842386/


Интересные статьи

Интересные статьи

Leptos – интересное пополнение в ряду веб-фреймворков для Rust. Помимо того, что Leptos может обеспечить быстрые обновления на стороне браузера через клиентскую часть WebAssembly, а также детализи...
Редкое, но потенциально меняющее жизнь умение, о котором вы, возможно, никогда не задумывались. Оглядываясь назад, на почти 40 лет моей жизни, я осознаю, что где-то в далеком прошлом случилось собы...
В моей голове несколько недель вертелась мысль, крошечная теория о том, как люди воспринимают разработку ПО. Согласно моей теории, есть два типа разработчиков ПО: Когда тип 1 узнаёт о задаче, ...
Как вы думаете, какие характеристики сильнее влияют на скорость сборки вашего проекта: частота CPU или частота оперативной памяти? Количество ядер CPU или количество оперативной памяти? Влияет ли скор...
Мир меняется и появляется все больше новых, перспективных, интересных профессий. Растущая автоматизация и роботизация влияет на востребованность специалистов из различн...