Разделы

«Проблема в тебе». Линус Торвальдс прошелся катком по желающим перевести Linux на Rust

Создатель Linux выбрал сторону в спорах между желающими перевести Linux на Rust и стремящимися сохранить код на С. Он заявил, что не язык С является проблемой, а сами ценители Rust, вероятно, и есть проблема.

На себя посмотри

Создатель Linux Линус Торвальдс (Linus Torvalds) подключился к спору между фанатами Rust и С, пишет The Register. Он сделал вполне конкретный выбор между теми, кто хочет сделать ядро Linux более безопасным, переписав его на Rust, и теми, кто не желает тратить на это время и намерен добиться выдворения всех строчек Rust-кода из ядра, оставив только код на С.

Как сообщал CNews, новые споры разработчиков на тему Rust и С в ядре Linux разгорелись в начале февраля 2025 г. Один из участников диалога руководитель проекта Ashai Linux Гектор Мартин (Hector Martin), написал, что Торвальдсу необходимо вмешаться и выбрать одну из сторон.

Торвальдс так и поступил. Из его слов потенциально следует, что он поддержал тех, кто ратует за код на С.

Торвальдс не поддержал сторонников Rust

«Как насчет того, чтобы принять тот факт, что, возможно, проблема в вас. Вы думаете, что знаете лучше. Но текущий процесс работает», – ответил Торвальдс Мартину (How about you accept the fact that maybe the problem is you. You think you know better. But the current process works).

Попытка объясниться

Торвальдс попытался раскрыть свою мысль, и заявил: У него (вероятнее, у ядра Linux на С – прим. CNews) есть проблемы, но проблемы – это факт жизни. Идеала не существует», – написал он. (It has problems, but problems are a fact of life. There is no perfect)

Комментируя конфликт, возникший между разработчиками с разным взглядом на дальнейшее развитие ядра, возникший в соцсетях, Торвальдс добавил: «Я скажу, что вся эта шумиха в социальных сетях просто отбивает у меня желание иметь что-либо общее с вашим подходом» (I will say that the social media brigading just makes me not want to have anything at all to do with your approach).

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

«Если у нас есть проблемы в модели разработки ядра, то социальные сети, черт возьми, не являются решением. Точно так же, как они, черт возьми, не были решением в политике. Технические исправления и обсуждения имеют значение. Бригады в социальных сетях – нет, спасибо», – написал Торвальдс (If we have issues in the kernel development model, then social media sure as hell isn't the solution. The same way it sure as hell wasn't the solution to politics. Technical patches and discussions matter. Social media brigading - no thank you).

У всего есть последствия

Ответ Торвальдса, данный в свойственной ему неуважительной манере, возымел целый ряд последствий. Сразу после его получения Гектор Мартин попросил отстранить его от роли сопровождающего исходного кода Linux.

Между тем, роль Мартина в современной эпохе развития Linux очень важна. Код, который он курирует, обеспечивает поддержку современного с ARM-железа Apple.

В последние годы Торвальдс прямо высказывает свое мнение, даже если оно оскорбительное и грубое

По сути, Торвальдс обвинил Мартина в «бригадировании», то есть в поиске поддержки в социальных сетях, Пишет 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.

Геннадий Ефремов



37-я международная выставка информационных и коммуникационных технологий Связь-2025 37-я международная выставка информационных и коммуникационных технологий Связь-2025

erid: 2W5zFHRYEHv

Рекламодатель: АКЦИОНЕРНОЕ ОБЩЕСТВО «ЭКСПОЦЕНТР»

ИНН/ОГРН: 7718033809/1027700167153