Kristof Helwig (Christoph Hellwig), mbështetësi i nën-sistemit DMA, KVM, Slab Allocator dhe arkitekturës PowerPC në bërthamën Linux, ka refuzuar thelbësisht të pranojë lidhjet Rust në bërthama për nën-sistemin DMA dhe është lidhur me diskutimin mbi rregullat e mbështetjes së Rust në përbërjen e bërthames, të publikuara nga projekti Rust for Linux. Sipas Kristofit, rregulla të tilla janë të padobishme, derisa ato të miratohen nga komuniteti dhe të përfshihen në dokumentacionin e bërthames.
Kristof gjithashtu vuri në dukje se në rregullat është përfshirë informacion i pasaktë në lidhje me faktin se mbështetësit mund të marrin vendime në lidhje me përfshirjen e kodit të lidhur me Rust në nën-sistemet e tyre. Sipas Kristofit, në një bisedë personale, Linus Torvalds deklaroi se ai ka qëllim të fortë për të pranuar kodin Rust në bërthamë, pavarësisht kundërshtimeve nga mbështetësit. Prandaj, zhvilluesit dhe mbështetësit e bërthamës tani do të duhet të përballen me Rust, pavarësisht nëse e duan këtë apo jo.
Kristof gjithashtu krahasoi sërish shpërndarjen e lidhjeve Rust me një tumor që do të shtrihet në të gjitha nën-sistemet e bërthamës dhe do të çojë në fragmentim. Nga një njësi të vetëm, bërthama po shpërbëhet në një projekt të shkruar në disa gjuhë, pa një përcaktim të qartë se kur duhet të përdoret cila gjuhë. Sipas Kristofit, punimi me një bazë të tillë të kodit të përzier është bërë një makth më i keq, pasi në këto kushte ndodhin vazhdimisht ripërshkrime të kodit nga një gjuhë në tjetrën, dhe pastaj përsëri.
Megjithatë, Kristof kërkon të sqarohet qëllimi i përfshirjes së Rust në bërthamë. Nëse qëllimi është zgjidhja e problemeve të sigurisë që dalin nga punët e ulëta me kujtesën, atëherë përparësisht kërkohet modernizimi i kodit ekzistues. Duke pasur parasysh se mbështetësit reagojnë dhimbshëm edhe ndaj gjërave triviale, siç janë kontrollet për tejkalimin e numrave të plotë, nuk është e qartë se si mund të tejkalohet çarja mes një pjese të bërthames, e cila nuk pranon as rregullat e thjeshta për sigurimin e sigurisë, dhe një pjese tjetër që përmbush rregulla të rrepta. Nëse qëllimi është thjeshtimi i zhvillimit të drejtuesve, atëherë futja e mbështetjes për një gjuhë tjetër vetëm do të shtojë punë të reja dhe do të rrisë barrën mbi ata që janë tashmë të ngarkuar me mbajtjen e infrastrukturës së bërthamës në gjendje pune.
Sa i përket mbështetësve të integrimit të Rust në bërthamë, ata identifikojnë qëllimet e mëposhtme:
- Shkrimi i kodit të ri në gjuhën Rust do të reduktojë rrezikun e gabimeve gjatë punës me memorjen dhe kushtet e garës, si dhe do të përjashtojë disa gabime logjike.
- Maintainerët do të kenë më të lehtë të rishikojnë ndryshimet dhe të bëjnë refaktorimin e moduleve duke marrë parasysh garancitë që ofron gjuha Rust.
- Prania e abstarsioneve që shfrytëzojnë mundësitë e avancuara të gjuhës Rust do ta lehtësojë krijimin e drejtuesve dhe moduleve të reja.
- Përkrahja 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ë mjetit Rust do ta thjeshtojë përmbushjen e kërkesave për dokumentimin e kodit. Për shembull, në projektin Rust for Linux është vendosur kërkesa për dokumentim të detyrueshëm të API-ve publike, kërkesave për sigurinë, blloqeve unsafe dhe invariatëve të tipeve.
Burimi: opennet.ru
