По сути, Торвальдс обвинил Мартина в «бригадировании», то есть в поиске поддержки в социальных сетях, Пишет The Register. Как сообщал CNews, у Мартина возник спор с мейнтейнером ядра Кристофом Хеллвигом (Christoph Hellwig). Причиной тому стало несогласие Хеллвига с патчем, предложенным в январе 2025 г., который позволил бы драйверам устройств, написанным на Rust, вызывать API ядра DMA, в основном основанного на C, который выделяет и отображает области памяти для прямого доступа к ним.
Важно подчеркнуть, что Торвальдс давно убедил весь мир в своей способности вести крайне недипломатичные диалоги. Он много раз завуалированно или прямо хамил разработчикам и участникам Linux-сообщества, а мейнтейнеров из России и вовсе открыто назвал «кучкой русских троллей».
Проблема или есть, или ее нет
Торвальдс создал Linux в начале 1990-х годов и написал его ядро на языке С. По современным меркам это очень старый язык программирования – его релиз состоялся в 1972 г., более полувека назад.
У С, как и у более молодого языка С++ (1983 г.), есть ряд недочетов, из-за которых современные программисты считают его небезопасным. Это проявляется, в частности, в том, как оба эти языка работают с памятью, и на эту проблему указывают многие разработчики, в качестве противоположного примера приводя Rust, в котором таких фундаментальных недочетов нет.
Именно неумение С и С++ безопасно работать с памятью и движет желающими перевести код ядра Linux на Rust. В 2020 г. даже был создан проект Rust for Linux, основатель которого, правда, покинул свой пост в сентябре 2024 г. из-за «разброда и шатаний в сообществе».
Разработчики начали постепенно интегрировать код Rust в ядро Linux в 2022 г., однако оно по-прежнему в значительной степени ориентировано на код C. Как сообщал CNews, многие программисты на C, которые вносят вклад и поддерживают код, ясно дали понять, что не собираются менять свои методы, даже несмотря на растущую популярность Rust.
Напряжение между разработчиками C и Rust в ядре Linux возникает из-за того, что функции безопасности памяти Rust внедряются в кодовую базу, традиционно основанную на C, а некоторые специалисты по поддержке сопротивляются дополнительной сложности и потенциальной нагрузке на обслуживание. На это прямым текстом указал Хеллвиг в споре с Мартином и другими сторонниками перевода ядра Linux на Rust.
Источник
Комментарии 1