Świat open source od miesięcy żyje gorącą dyskusją na temat wprowadzenia języka Rust do jądra Linux. Choć wsparcie dla kodu Rust pojawiło się w oficjalnych wersjach systemu już w 2022 roku, część opiekunów Linuxa nadal stawia zdecydowany opór wobec tej zmiany.
Opiekunowie Linuxa od początku nie byli jednomyślni w kwestii Rusta. Zwolennicy podkreślają, że nowoczesne mechanizmy bezpieczeństwa, które oferuje ten język, mogłyby znacząco zredukować ryzyko błędów pamięciowych w jądrze, co od lat jest jedną z jego największych bolączek. Jednak dla wielu doświadczonych programistów, takich jak Hellwig, wielojęzykowa baza kodu to zagrożenie dla integralności i łatwości utrzymania systemu.
Hellwig nie przebiera w słowach. W jednej z ostatnich wypowiedzi porównał wprowadzenie Rusta do jądra do „nowotworu”, który może zagrozić stabilności projektu. Według niego, jeżeli ktoś chce pisać kod w innym języku niż C, powinien samodzielnie tworzyć odpowiednie interfejsy i nie rozprzestrzeniać tej „choroby” na główne podsystemy.
Odejście kluczowego inżyniera osłabia projekt
Przeciwnicy Rusta wzmocnili się, gdy we wrześniu 2024 roku projekt opuścił jego główny twórca dla Linuxa – Wedson Almeida Filho, inżynier Microsoftu. Powodem miało być zmęczenie „bezużytecznymi, nietechnicznymi bzdurami” oraz niekończącymi się kłótniami, które – jak twierdził – dominują w społeczności.
To znacząco spowolniło rozwój Rusta w Linuxie i wprowadziło niepewność co do przyszłości całego projektu. W efekcie wielu programistów zaczęło się zastanawiać, czy dalsze próby implementacji tego języka mają jeszcze sens.
Mini-sterownik, wielkie kontrowersje
Iskrą, która ponownie wznieciła konflikt, była stosunkowo niewielka poprawka umożliwiająca sterownikom Rust korzystanie z funkcji DMA w API C (dma_alloc_coherent()). Hellwig natychmiast się temu sprzeciwił, żądając, by kod Rust nie trafiał do katalogu kernel/dma. Jak się jednak okazało, poprawka została dodana do rust/kernel, co obnażyło błąd w jego osądzie.
Pomimo tego Hellwig nie zmienił zdania. Uważa, że interfejsy DMA powinny pozostać w czytelnym kodzie C, a nie w „dziwnych powiązaniach”, które utrudniają konserwację. Programista Red Hat, Danilo Krummrich, próbował przedstawić kontrargumenty, wyjaśniając, że celem projektu Rust for Linux jest stworzenie warstwy abstrakcji nad API C dla sterowników Rust. Hellwig jednak pozostał nieprzejednany.
Zwolennicy Rust nie składają broni
Choć opór wobec Rusta wciąż jest silny, nie brakuje też jego zwolenników. Jednym z nich jest Kees Cook z Google, który od lat podkreśla, że język C odpowiada za zbyt wiele luk w zabezpieczeniach jądra. Według niego Rust mógłby znacząco poprawić bezpieczeństwo systemu.
Podobnego zdania jest Miguel Ojeda, który od 2020 roku rozwija projekt Rust for Linux. Mimo licznych przeszkód i rosnącego sceptycyzmu, zwolennicy Rust liczą na to, że ostateczną decyzję podejmie Linus Torvalds.
Torvalds ma ostatnie słowo
Cała sytuacja może ostatecznie zależeć od opinii twórcy Linuxa, Linusa Torvaldsa. Hector Martin, lider projektu Asahi Linux, uważa, że twórcy Rust powinni przesłać poprawki bezpośrednio do Torvaldsa i czekać na jego werdykt. „Jeśli Linus zaakceptuje, to co powie Christoph nie będzie miało znaczenia. Jeśli Linus się nie zgodzi, projekt Rust dla Linuxa będzie praktycznie martwy” – twierdzi Martin.
![Linus Torvalds](https://ithardware.pl/artykuly/max/38672_1.jpg)
Na razie Torvalds nie wyraził jednoznacznej opinii na temat Rusta, choć w przeszłości był otwarty na jego stopniowe wprowadzanie. Czy zdecyduje się go poprzeć, czy przychyli się do argumentów Hellwiga? To pytanie, na które odpowiedź może zaważyć na przyszłości całego systemu Linux.
![Obserwuj nas w Google News](https://ithardware.pl/img/gn_1280x150.jpg)
Pokaż / Dodaj komentarze do: Rust to trucizna, nie lekarstwo. Programiści Linuxa nie chcą porzucać języka C