Pomiritev kokošnjaka: Linus Torvalds poudarja svoje stališče do Rusta

linus torvalds

Ves mesec februar smo bili deliti različne novice o njem primeru težav in nesoglasij ki so bili ustvarjeni v skupnosti razvijalcev Linux Kernel za razvoj v Rustu.

celo Nekateri težki v skupnosti so razkrili svoje stališče in še huje, nekateri so odstopili s svojih položajev kot vzdrževalci v nekaterih podsistemih jedra Linuxa.

Glede na ta val razprav, ki se zdi, da uhaja izpod nadzora, Linus Torvalds je vzel stvari v svoje roke. y se je pridružil razpravi na odpor nekaterih vzdrževalcev do uvedbe Rusta v jedro Linuxa.

Po Linusu noben vzdrževalec ni prisiljen učiti se, uporabljati ali celo razmislite o kodi, ki je zapisana v Rja, če nočeš, ker lahko nadaljujejo delo izključno s C.

V sredo, 19. februarja 2025 ob 22, Christoph Hellwig je napisal/a:
>
Dokument navaja, da za uporabo Rust ni potreben podsistem. To je dokazano.
> biti napačen za Linusa. In čeprav morda niste vedeli, kdaj
> Ko ste napisali dokument, ste to zagotovo storili tako, da ste ga objavili na seznamu.

Bil sem upal in poskusil, da vidim, ali bo ta dolga nit prinesla rezultate.
v nekaj konstruktivnega, vendar se zdi, da gre to nazaj (ali vsaj
vsaj ne naprej).

Dejstvo je, da se zahteva za vleko, ki ste ji ugovarjali, NI DOTAKNILA DMA
PLAST SPLOH.

Bil je dobesedno samo še en uporabnik, v povsem ločeni situaciji.
podimenik, ki ni na noben način spremenil kode, ki jo vzdržujete,
oblika ali oblika.

Vendar, če se vzdrževalec odloči, da ne bo sodeloval, tudi ne bo imel možnosti vplivanja na način, kako je razvit, niti ne vpliva na to, kako so njegove zunanje povezave integrirane v kodo lastnega podsistema.

Torvalds je to pojasnil tistih vzdrževalcev, ki jih zanima napredovanje z Rustom bodo lahko sodelovali pri njegovem razvoju, vplivali na gradnjo povezav in pomoč pri vzdrževanju ustreznih vmesnikov. Nasprotno pa bodo tisti, ki se odločijo, da ne bodo delali z Rustom, zaščiteni pred težavami, ki se lahko pojavijo pri njegovi uporabi, vendar bodo tudi izključeni iz vplivanja na njegov razvoj. Ta pristop ustvarja nekakšno oviro, ki ščiti tiste, ki so posvečeni izključno C-ju, hkrati pa jim preprečuje, da bi prispevali k izboljšanju integracije Rust.

To e-poštno sporočilo se torej ne nanaša na »pravilnik o rjavenju«. To e-poštno sporočilo se nanaša na a
Veliko večji problem: kot vzdrževalec ste odgovorni za svojo kodo,
Seveda, vendar niste odgovorni za to, kdo in kako bo uporabil končni rezultat.

Ni vam treba všeč Rust. Ni ti treba skrbeti zanj. To je ...
Že od začetka je bilo povsem jasno, da nihče ni
prisiljeni nenadoma naučiti novega jezika, in da ljudje, ki
Če želite delati izključno na strani C, lahko to počnete še naprej.

Ta situacija ustvarja na nek način zaščitno oviro.za tiste, ki delajo samo s C, izolacijo od zapletenosti in možnih pomanjkljivosti, povezanih s tem na kodo Rust. Toda hkrati jim ta ista izolacija preprečuje, da bi vplivali na napredek Rusta, kar pomeni, da moto "nihče nima opravka z Rustom" ne dovoljuje vsakemu vzdrževalcu, da zaklene katero koli kodo, napisano v tem jeziku.

La organizirana je razdelitev odgovornosti tako da lahko tisti, ki jih zanima Rust, delajo na njegovih vidikih, medtem ko tisti, ki se odločijo, da ne bodo sodelovali, ne bodo prisiljeni spremeniti svojega poteka dela, čeprav ne bodo mogli spremeniti razvoja komponent, napisanih v Rustu.

Polemika se je okrepila, ko se je pojavilo vprašanje odobritve povezave Rust prek podsistema DMA. V tem primeru je bilo nasprotovanje vzdrževalca, ki je poskušal blokirati sprejemanje takšnih povezav, prezrto in Linus je odkrito kritiziral dejanja Christopha Hellwiga.

Po Torvaldsovih besedah ​​je Hellwig prekoračil svoja pooblastila. s poskusom vplivanja na kodo, ki, ker je bila implementirana v ločenem podimeniku, ni vplivala na podsistem DMA, za katerega je bil odgovoren. Po Torvaldsovih besedah ​​je Hellwigov odnos podoben poskusu onemogočanja DMA v krmilniku preprosto zato, ker mu ni bil všeč, kar je nesprejemljivo.

Navsezadnje, čeprav je vsak vzdrževalec odgovoren za svojo lastno kodo, od njih ni mogoče zahtevati, da nadzorujejo, kako se ta koda uporablja, ali odločajo o njeni integraciji v večje projekte.