В сообществе разработчиков ядра Linux идёт довольно интересная дискуссия. Кристоф Хеллвиг, один из разработчиков ядра, сообщил, что Линус Торвальдс в частном порядке выразил своё намерение добавить код Rust в ядро Linux, даже если некоторые разработчики будут против.
В заявлении, опубликованном в списке рассылки Rust for Linux, Кристоф Хеллвиг сообщил, что Линус Торвальдс в частном порядке выразил свою готовность включить код Rust в ядро, несмотря на возможные возражения со стороны некоторых разработчиков.
Это говорит о том, что Линус считает преимущества Rust достаточно значительными, чтобы оправдать потенциальный конфликт.
План состоит не в том, чтобы переписать всё ядро на Rust, а в том, чтобы внедрять его постепенно, начиная с новых драйверов устройств. Такой поэтапный подход призван свести к минимуму сбои в работе и дать разработчикам время на адаптацию к новому языку.
В конечном счёте последнее слово остаётся за Лайнусом, и он может привести в исполнение свои решения, несмотря на возражения.
Основной причиной для рассмотрения Rust являются его функции безопасности памяти. Ядро Linux написано на C, языке, который, несмотря на свою мощь, требует тщательного управления памятью во избежание ошибок.
Rust упрощает написание безопасного кода, потенциально снижая количество уязвимостей и повышая стабильность.
Считается, что возможность писать более безопасные драйверы устройств является ключевой мотивацией для перехода на Rust.
Итак, если Rust настолько хорош, то почему вокруг него столько споров? Вот основные разногласия:
Хеллвиг довольно открыто высказывал свои опасения. Он беспокоится о том, что привязки Rust (код, соединяющий Rust и C) могут «распространяться повсюду, как рак», что приведёт к фрагментации проекта с неясными правилами. Он также опасается сложностей, связанных с управлением многоязычным проектом.
Интеграция Rust в ядро Linux — сложный вопрос, по которому есть веские аргументы с обеих сторон. Будет интересно посмотреть, как это произойдёт и какое влияние это окажет на будущее Linux.
Эта ситуация также указывает на необходимость поиска баланса в разработке ядра Linux: как внедрять новые технологии и повышать безопасность, не нарушая существующую кодовую базу и устоявшиеся процессы разработки.
Пока неясно, действительно ли Линус пересмотрит возражения разработчиков. Но тот факт, что он рассматривает такую возможность, показывает, насколько серьёзно сообщество разработчиков ядра относится к потенциалу Rust.
Что вы думаете о Rust в ядре? Поделитесь своими мыслями в комментариях ниже!