Christoph Hellwig, maintainer i nënprogrameve DMA, KVM, Slab Allocator dhe arkitekturës PowerPC në bërthamën Linux, ndërrmori një qëndrim të fortë për të mos pranuar mbështetje Rust për nënprograme të DMA, dhe u bashkua në diskutimin mbi rregullat e mbështetjes së Rust në bërthamën, të publikuara nga projekti Rust for Linux. Sipas Christoph, rregulla të tilla janë të panevojshme derisa ato të miratohen nga komuniteti dhe të përfshihen në dokumentacionin e bërthamës.
Christoph gjithashtu theksoi se në rregulla është përfshirë informacion i gabuar në lidhje me faktin se maintainers mund të marrin vendime përfshirëse për kodin që ka të bëjë me Rust në nënprograme të tyre. Sipas Christoph, në një bisedë të veçantë, Linus Torvalds shprehu vendosmërinë për të pranuar kod Rust në bërthamë, pavarësisht kundërshtimeve nga maintainers. Kështu, zhvilluesit dhe maintainers e bërthamës tani do të duhet të përballen me Rust, pavarësisht nëse e duan këtë apo jo.
Christoph gjithashtu e përsëriti krahasimin e përhapjes së mbështetjeve Rust me një tumor kancerogjen, që do të përhapet në të gjitha nënprograme të bërthamës dhe do të çojë në fraktalizim. Nga një njësi të vetme, bërthama po shndërrohet në një projekt të shkruar në disa gjuhë, pa një përcaktim të qartë se kur duhet përdorur çfarë gjuhë. Sipas Christoph, puna me një bazë të tillë të kodit të ndarë është bërë një makth për të, pasi në këto kushte ndodhi vazhdimisht rinovimi i kodit nga një gjuhë në tjetrën, dhe pastaj përsëri.
Megjithatë, Christoph kërkoi një sqarim për qëllimin e përfshirjes së Rust në bërthamë. Nëse qëllimi është zgjidhja e problemeve të sigurisë që dalin nga puna me memorie e ulët, atëherë përparësisht duhet të modernizohet kodi ekzistues. Të marrë parasysh që mbikëqyrësit reagojnë ndjeshëm ndaj gjërave edhe më triviale si ajo për mbrojtjen e mbartjes së numrave, nuk është e qartë se si mund të kapërcehet diferenca midis një pjese të bërthamës që nuk pranon as fillestaret e thjeshta të sigurisë dhe një pjese tjetër që respekton rregullat strikte. Nëse qëllimi është në thjeshtësimin e zhvillimit të drejtuesve, atëherë krijimi i mbështetjes për një gjuhë tjetër do të shtojë më shumë punë dhe do të rrisë ngarkesën për ata që tashmë janë të ngarkuar duke mbajtur infrastruktura e bërthamës në gjendje funksionimi.
Sa i përket mbështetësve të përfshirjes së Rust në bërthamë, ato shënjohen me qëllimet e mëposhtme:
- Shkrimi i kodit të ri në gjuhën Rust do të ulet rrezikun e gabimeve gjatë punës me memorie dhe stanjacioneve, si dhe do të përjashtojë disa gabime logjike.
- Maintainers do ta kenë më të lehtë të mbikqyrin ndryshimet dhe të kryejnë ristrukturimin e moduleve duke marrë parasyshgarantitë që ofrohen nga gjuhën Rust.
- Prania e abstraksioneve që përdorin mundësitë e avancuara të gjuhës Rust do të thjeshtësojë krijimin e drejtuesve dhe moduleve të rinj.
- Mbështetje e një gjuhe moderne do të tërheqë pjesëmarrës të rinj në zhvillimin e bërthamës.
- Përdorimi i mundësive të mjeteve të Rust do të thjeshtësojë përmbushjen e kërkesave për dokumentimin e kodit. Për shembuj, projekti Rust for Linux ka vendosur një kërkesë për dokumentimin e detyrueshëm të API-ve publike, kërkesave të sigurisë, blloqeve të pasigurta dhe invarianteve të tipit.
Burimi: opennet.ru
