
Ведущий разработчик Rust для Linux Мигель Охеда опубликовал патч для удаления из документации к ядру предупреждения об экспериментальном характере поддержки Rust, чтобы «завершить эксперимент с Rust».
«Эксперимент» с кодом языка программирования Rust в ядре Linux завершён, поскольку признан успешным, и «Rust останется с нами навсегда» в ядре, пояснил Охеда.
«Rust уже используется в производственной среде, некоторые известные дистрибутивы Linux поддерживают Rust, и он уже установлен на миллионах устройств через Android. Очевидно, это не означает, что все работает для любой конфигурации ядра, архитектуры, набора инструментов или что не будет новых проблем. Предстоит ещё огромная работа во всех областях, от ядра до upstream Rust, GCC и других проектов. И, по сути, некоторые комбинации (такие как смешанные сборки GCC+LLVM и предстоящая поддержка GCC) всё ещё довольно экспериментальны, но постепенно внедряются», — подытожил Охеда.
Таким образом, начатый в 2022 году в ядре Linux 6.1 эксперимент по добавлению кода на Rust в ядро Linux, в котором участвовало 173 разработчика, официально завершён. Соответствующая секция убрана из документации ядра. Это было сделано на конференции Maintainers Summit, где состоялось обсуждение результатов эксперимента по добавлению в ядро Linux возможности разработки компонентов на языке Rust. Разработчики проекта признали эксперимент успешным и решили перевести поддержку языка Rust в категорию основных частей ядра, сняв с неё метку экспериментальной функциональности.
По словам мейнтейнера Rust for Linux: Rust is here to stay. Теперь Rust становится официальным языком разработки ядра Linux наравне с языком С. Пока что не все выявленные проблемы решены во всех конфигурация, но поскольку Rust уже используется на миллионах устройств в составе ядра (Android), разработчики посчитали эксперимент успешным.
На данный момент сборка кода на Rust по умолчанию отключена. За три года в состав ядра Linux оказались включены абстракции для разработки на Rust драйверов для GPU, файловых систем, блочных устройств, сетевых адаптеров и USB-устройств. На языке Rust развивается драйвер Nova для GPU Nvidia, проект asahi для GPU Apple AGX, Tyr для GPU ARM Mali, rust_ext2 c файловой системой Ext2. В состав ядра принята написанная на Rust реализация IPC Binder. Проект RROS развивает real-time подсистему для ядра Linux, написанную на Rust. Поддержка Rust неактивна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру.
В августе 2024 года Торвальдс рассказал, что он разочарован тем, как медленно идет внедрение Rust в ядро Linux. По его мнению, многие разработчики не заинтересованы в изучении Rust. И он добавил, что тоже не использует Rust, но может его читать. «Я ожидал, что обновления будут быстрее, но часть проблемы в том, что старые разработчики ядра привыкли к C и не знают Rust. Они не в восторге от необходимости изучать новый язык, который в некоторых отношениях сильно отличается. Поэтому Rust встретил некоторое сопротивление», — пояснил Торвальдс.

Торвальдс уточнил: «Rust на самом деле не показал себя как следующая великая вещь. Но я думаю, что в течение следующего года мы действительно начнём интегрировать драйверы и даже некоторые основные подсистемы, которые начнут его активно использовать». Торвальдс добавил, что «это одна из тех вещей, на которые уйдут годы прежде, чем она станет важной частью ядра, но она определённо станет одной из них».
В начале сентября 2024 года команда разработчиков проекта по внедрению Rust для ядра Linux потерпела поражение в сражении с разработчиками на С. Лидер Rust для Linux (на тот момент это был Ведсон Алмейда Филхо (Wedson Almeida Filho), сотрудник Microsoft) объявил, что уходит из проекта из‑за «нетехнической ерунды» (nontechnical nonsense). Он пояснил, что возглавлял команду уже 4 года, но у него нет того энтузиазма, который был ранее, чтобы продолжать отстаивать место Rust в ядре, которое в основном написано на C.
Некоторые предпочитают Rust, потому что он безопасен для памяти. Безопасный для памяти код устраняет такие проблемы, как переполнение буфера и зависшие указатели, уменьшая количество ошибок в ПО, и имеет меньше уязвимостей в безопасности системы, которыми могут воспользоваться хакеры. Безопасность памяти — это главный аргумент Rust, и это одна из причин, по которой этот язык так активно продвигают его сторонники. Это также одна из причин, по которой некоторые разработчики и мейнтейнеры хотят, чтобы Linux был написан на Rust, однако эти усилия последнее время встречают всё больше сопротивления.
Профильные эксперты считают, что пока непонятно, как именно будет развиваться проект Rust для Linux. Текущие молодые разработчики из этой команды на Rust всё чаще начали сталкиваться с коллегами, которые используют C более 30 лет для сборки Linux, а изменить их понимание необходимости внедрения Rust и найти компромисс для работы в режиме чтения и восприятия нового и старого кода на разных языках оказалось очень сложно.
В феврале 2025 года Торвальдс в частном порядке заявил, что продолжит добавлять в свой проект код Rust. Эти действия будут происходить несмотря на возражения многих мейнтейнеров ядра Linux против кода Rust, фактически сделав принятие Rust неизбежным для всех участников сообщества.
Сопровождающий ядра Linux Кристоф Хеллвиг пояснил, что продолжает решительно выступать против Rust в ядре Linux, утверждая, что его внедрение создаёт фрагментацию, неясные языковые правила и дополнительную нагрузку на мейнтейнеров. По его мнению, разработчики некоторых подсистем должны сами решить, что им не нужен код Rust на данный момент, как правило, из‑за проблем с пропускной способностью. Это нормально и ожидаемо.
В то же время Торвальдс в частном порядке уточнил Хеллвигу и другим участникам проекта, что обязательно объединит ветки кода с Rust. «Так что на данный момент, как разработчик или сопровождающий Linux, вы должны иметь дело с Rust, хотите вы этого или нет. Сейчас правила таковы, что Линус может заставить вас сделать всё, что захочет. Это, очевидно, его проект, и я думаю, ему нужно очень четко это изложить, включая ожидания для участников», — рассказал Хеллвиг.
Обсуждение
Комментарии открыты для зарегистрированных читателей. Ответы остаются рядом с записью и не смешиваются с общей лентой.