Rust'i edendamisel tuumades on kriis seoses hoolduse keerukuse muredega

Christoph Hellwig, KVM, Slab Allocator ja PowerPC alamsĂŒsteemide hooldaja Linuxi tuumas, kes oli kunagi Linux Foundation'i tehnilise komitee liige ja esitas hagi seoses GPL-i kohustuse rikkumisega VMware'iga, keeldus kinnitamast Rusti keeles draiverite arendamise toetamiseks seotud patĆĄe. Pakutud patĆĄid lisasid DMA alamsĂŒsteemi mitme funktsiooni kohal toetused, vĂ”imaldades kasutada DMA-rataste Rusti keeles draiverites.

Keeldumise pÔhjuseks toodi esile koodi hooldamise keerukuse suurenemine, kui on olemas teiste keelte toetused, ja soov sÀilitada DMA programmiliideseid loetava C-keeles, ilma et need oleksid hÀgustatud arusaamatute toega. Christoph soovitas pöörduda otse DMA algse C API poole igas Rusti keeles draiveris, et mitte luua tÀiendavaid abstraktsioone, millest hooldajad sÔltuma peavad.

PatĆĄide arendajad mĂ€rkisid, et nad vĂ”tavad kogu rusti koodi hooldamise enda peale, on valmis neid patĆĄe iseseisvalt hooldama ja viisid toetused eraldi alamkausta (rust/kernel/dma.rs). Vastuseks keelas Christoph rusti seotud patĆĄide vastuvĂ”tmise ('Nacked-by') ja mĂ€rkis, et tal ei ole vaja veel ĂŒht hooldajat. Christoph ĂŒtles, et kui toetuste arendajad soovivad saavutada Linuxi hooldamise vĂ”imatust mitme keele segamise tĂ”ttu ĂŒhes koodibaasis, peaksid nad seda tegema oma draiveris, mitte levitama seda vĂ€hki tuumade peamistes alamsĂŒsteemides.

Lisaks tĂ€psustas Christoph, et tal ei ole midagi Rusti keele vastu ja peab seda ĂŒheks parimaks uutest keeltest, kuid ta on vastu erinevate keelte koodi segamisele. Christoph ĂŒtles, et ta toetab Rustis uute projektide loomist, kuid on vastu Rusti segamisele suurte C keele koodibaasidega, kuna selline segamine vĂ€hendab oluliselt tuuma hooldamise mugavust kui integreeritud projekti.

Probleemid toega on seotud sellega, et Rusti mĂ€hised sĂ”ltuvad Rusti keeles olevast koodist. Esmapilgul nĂ€ib, et mĂ€hised on lihtsalt kihi ĂŒlesehitus C-struktuuride ja funktsioonide kohal, mis ei mĂ”juta C keeles oleva koodi arendamist ja hooldamist. Kuid see pole nii. Selliste mĂ€histe olemasolul peavad C keeles kirjutatud alamsĂŒsteemide arendajad arvesse vĂ”tma nende muutuste mĂ”ju mĂ€histe töökindlusele. Iga muutus C keeles olevates andmestruktuurides vĂ”i sisemistes funktsioonides vĂ”ib pĂ”hjustada vajaduse muuta mĂ€histe koodi, seetĂ”ttu tuleb C koodis mĂ€histele mĂ”juvaid muutusi jĂ€lgida ja sĂŒnkroonida Rusti koodiga. Paljud hooldajad ei ole valmis vĂ”tma endale tĂ€iendavat vastutust, et lahendada Rusti koodis tekkivaid probleeme, ning ei kavatse kulutada aega Rusti mĂ€histe seisundi jĂ€lgimiseks.

Hoolduse keerukuse olukord ei ole teoreetiline. Arutelu on liitunud Jason Gunthorpe, NVIDIA-d TPM, VFIO ja Infiniband hoidja, kes tĂ”i vĂ€lja nĂ€ite Linus Torvaldsi pull-requesti tagasilĂŒkkamisest, mis sisaldas muudatusi mĂ€lu juhtimise alamsĂŒsteemis, kuna see muutus pĂ”hjustas tĂ”rke pĂŒĂŒdes koostada tuuma Rusti toe lubamisega. TĂ”rge tekkis seetĂ”ttu, et Rusti koodi hoidjad ei lisanud vajalikku muudatust sidurite generaatorisse (bindgen). Seega, mĂ€lu juhtimise alamsĂŒsteemi hoidjad, edastades tĂ€iustuse, mis on koodis C ja tuuma tervikuna tĂ€iesti korrektne, sĂ”ltusid lĂ”pptulemusena valikulistest kolmandate osapoolte koodidest tuumas, mille eest vastutavad teised inimesed.

DMA-kĂ”nede mĂ€histe koodi vastuvĂ”tmise keeld pani Rust for Linux projekti arendajad ummikseisu, kuna ilma selliste mĂ€histeta on Rusti keeles tĂ€ielike draiverite arendamine keeruline. Hector Martin, Apple'i ARM-kiipide toe hoidja ja Ashai Linuxi projekti juht, pakkus konflikti lahendamiseks vĂ€lja, et saavutada mĂ€histe vastuvĂ”tmine otse Linus Torvaldsilt, kĂ”rvale kaldudes DMA alamsĂŒsteemi hoidjast. Kui Linus nĂ”ustub sellise korralduse ja praktikaga rikkumisega, vĂ”ib see viia tuuma arenduse juhtimise kriisini, ja kui ta keeldub — peatab Rusti edendamise tuumas.

NĂ€iteks mainis Hector, et Christophe'i vastutusele hoidmine kĂ€itumiskoodeksi rikkumise eest seoses kommentaariga, kus ta vĂ”rdis Rusti kasvaja sarnaseks, on vĂ”imalik. Lisaks kirjutas Hector, et on vĂ€sinud kĂ”igist bĂŒrokraatlikest takistustest, pole valmis lihtsalt usaldama kehtivaid protsesse ja vihjas sotsiaalmeedia kaasamisele. Dave Airlie, DRM alamkompleksi hooldaja, soovitas konflikti mitte mullitada ja mĂ”ista, etSelline toksiline kĂ€itumine ei ole mĂ”lemalt poolelt vastuvĂ”etav, sĂ”ltumata sellest, kas arutelu osaleja on Ă”ige vĂ”i vale.

Arutelusse tuli Linus Torvalds, kes mĂ€rkis, et probleem on vĂ”ib-olla iseeneses Hectoris ja tema enesekehtestamises, et ta teab midagi paremini kui teised, mitte praeguses Linuxi tuuma arendusprotsessis, mis toimib. Tuuma arendusprotsessil on probleeme, kuid see on elutĂ”de — elus ei ole midagi ideaalset. Sotsiaalmeedia kaudu kiusamine on see, mis tĂ”ukab Linuse eemale Hectori lĂ€henemisest. Linusele on olulised tehnilised arutelud ja patĆĄid, mitte surve avaldamine sotsiaalmeedia kaudu.

Vastuseks saatis Hector taotluse eemaldada end ARM/APPLE platvormi toetajate seast, kuna ta on kaotanud usu tuuma arendusprotsessi ja kogukonna juhtimise lĂ€henemisse. Ta teatas, et ARM/Apple platvormi arendamine jĂ€tkub vĂ€ljaspool Linuxi pĂ”hi tuuma. ARM/Apple platvormil on tuumas veel ĂŒks hooldaja — Sven Peter, kes kavatseb platvormi tuumas toetada.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster