Кристоф Хелвиг, мэйнтейнер ряда подсистем ядра Linux, включая DMA, KVM, Slab Allocator и PowerPC, высказался против правил сопровождения Rust в ядре, предложенных проектом Rust for Linux. По его мнению данные правила бесполезны, пока они не согласованы с сообществом, и не включены в официальную документацию к ядру Linux.
По его словам, правила содержат некорректную информацию о том что мэйнтейнеры подсистем связанных с их кодом могут самостоятельно принимать решения о включении кода связанного с Rust.
При этом по словам Кристофа в личной беседе Линус заявил о твердом намерении включать патчи на языке Rust в ядро Linux, что ставит разработчиков и мэйнтейнеров кода в зависимость от данного языка программирования, не зависимо от того хотят ли они этого или нет
Кристоф вновь сравнил распространение Rust-обвязок с раковой опухолью, которая приведёт к фрагментации ядра, размыв границы между языками и усложнив сопровождение
Кристоф также поставил под сомнение цели внедрения Rust. Если главная задача – повышение безопасности при работе с памятью, то логичнее модернизировать существующий код.
Однако, по его мнению, в сообществе нет единого подхода даже к базовым мерам безопасности, таким как проверки на переполнение. Если же цель – упрощение разработки драйверов, то введение нового языка лишь увеличит нагрузку на мэйнтейнеров.
Сторонники Rust в ядре выделяют несколько основных преимуществ:
-
Снижение количества ошибок, связанных с памятью и состояниями гонки.
-
Облегчение рецензирования и рефакторинга кода за счёт строгих гарантий языка.
-
Упрощение написания драйверов благодаря продвинутым абстракциям Rust.
-
Привлечение новых разработчиков за счёт поддержки современного языка.
-
Улучшение документации кода благодаря встроенным инструментам и строгим требованиям проекта Rust for Linux.
Перемещено hobbit из kernel