В начале сентября 2024 года команда разработчиков проекта по внедрению Rust для ядра Linux потерпела поражение в сражении с разработчиками на С. Лидер Rust для Linux объявил, что уходит из проекта из-за «нетехнической ерунды» (nontechnical nonsense).
Ведсон Алмейда Филхо (Wedson Almeida Filho), сотрудник Microsoft, объявил о своей отставке с поста сопровождающего (мейнтейнера) проекта Rust для Linux из-за разногласий с некоторыми членами сообщества разработчиков ядра Linux, включая Теда Цо (Ted Ts’o), сопровождающего широко используемую файловую систему ext4.
Филхо объяснил свою отставку «нетехнической ерундой», которая истощала его энергию. Он пояснил, что возглавлял команду уже 4 года, но у него нет того энтузиазма, который был ранее, чтобы продолжать отстаивать место Rust в ядре, которое в основном написано на C.
Некоторые предпочитают Rust, потому что он безопасен для памяти. Безопасный для памяти код устраняет такие проблемы, как переполнение буфера и зависшие указатели, уменьшая количество ошибок в ПО, и имеет меньше уязвимостей в безопасности системы, которыми могут воспользоваться хакеры. Безопасность памяти — это главный аргумент Rust, и это одна из причин, по которой этот язык так активно продвигают его сторонники. Это также одна из причин, по которой некоторые разработчики и мейнтейнеры хотят, чтобы Linux был написан на Rust, однако эти усилия последнее время встречают всё больше сопротивления.
«Я искренне верю, что будущее ядер — за языками, безопасными для памяти. Я не провидец, но если Linux не усвоит это, боюсь, какое-нибудь другое ядро сделает с ним то же, что и с Unix», — написал Филхо в своем письме об увольнении из проекта.
Филхо также поделился видео на YouTube, в котором разработчики систем Linux ведут открытый спор о необходимости использования Rust в ядре.
Изданию The Register Филхо пояснил, что его критиком был Тед Цо, который поддерживает популярную файловую систему ext4, широко используемую в дистрибутивах Linux, включая Linux Mint. Цо, который использует C, считает, что, когда он рефакторит код, который приводит к ошибкам и сбоям, он может просто пойти и исправить код на C, который ему нужен, потому что он понимает C. По словам Цо, если он рефакторит код и сломает программы на Rust, он не хочет идти и исправлять их, потому что он не знает языка, добавив: «Вот в чем дело, вы не заставите всех нас изучать Rust».
Филхо пояснил, что это всего лишь один пример сопротивления, с которым он и его команда столкнулись со стороны некоторых участников проекта по разработки ядра Linux.
Самым известным разработчиком Linux, который не согласен с Филхо по поводу Rust в ядре, является Линус Торвальдс, создатель Linux, который написал в 2022 году по поводу этой ситуации подробное пояснение со своей стороны.
«Если вы не можете смириться с тем, что у ядра могут быть другие требования, которые перевешивают любые языковые стандарты, мы действительно не можем работать вместе. Эти правила Rust могут иметь смысл в других средах. Но у ядра действительно есть жёсткие требования, которые вы продолжаете с трудом протаскивать, даже если нарушено какое-то фундаментальное правило. Именно потому, что часто нет отдельной среды вне ядра, которая могла бы с этим справиться. Конечный результат: компилятор — или языковая инфраструктура, — которая говорит: «Мои правила настолько укоренились, что я не могу этого сделать», — не подходит для работы с ядром», — уточнил Торвальдс.
В недавнем интервью Торвальдс рассказал, что он разочарован тем, как медленно идет внедрение Rust в ядро Linux. По его мнению, многие разработчики не заинтересованы в изучении Rust. И он добавил, что тоже не использует Rust, но может его читать. «Я ожидал, что обновления будут быстрее, но часть проблемы в том, что старые разработчики ядра привыкли к C и не знают Rust. Они не в восторге от необходимости изучать новый язык, который в некоторых отношениях сильно отличается. Поэтому Rust встретил некоторое сопротивление», — подытожил Торвальдс.
Профильные эксперты считают, что теперь непонятно, как именно будет развиваться проект Rust для Linux. Текущие молодые разработчики из этой команды на Rust всё чаще начали сталкиваться с коллегами, которые используют C более 30 лет для сборки Linux, а изменить их понимание необходимости внедрения Rust и найти компромисс для работы в режиме чтения и восприятия нового и старого кода на разных языках оказалось очень сложно.
25 августа 2024 года операционной системе Linux исполнилось 33 года. Автору проекта Линусу Бенедикту Торвальдсу на момент создания Linux в 1991 году было 21 год, он учился в Хельсинском университете в Финляндии. Треть века спустя операционная система, которую продолжает активно дорабатывать и обновлять Торвальдс и тысячи других разработчиков и мейнтейнеров этого открытого проекта по всему миру, управляет работой миллиардов компьютерных устройств по всему миру: от крошечных микроконтроллеров, одноплатных компьютеров и смартфонов до огромных суперкомпьютеров на тысячи, сотни тысяч, миллионы ядер. ПК на Linux есть на МКС и даже на Марсе.
Источник: habr.com