Karat untuk Linux dalam masalah, ketegangan dan perselisihan faham telah pun terbongkar 

Karat Untuk Masalah Linux

Nampaknya tahun ini bukan tahun Linux, kerana walaupun pada suku terakhir tahun lepas semuanya kelihatan seperti Linux dan desktop akan beroperasi pada 2025, perkara tidak selalu seperti yang kelihatan.

Dan hanya beberapa hari yang lalu, Christoph Hellwig, seorang tokoh terkemuka dalam penyelenggaraan subsistem kritikal seperti DMA, KVM, Slab Allocator dan PowerPC dalam kernel Linux , telah menjelaskan penolakannya terhadap tampalan sokongan yang memudahkan pembangunan pemacu dalam Rust.

Christoph Hellwig menyebut bahawa tampalan yang dimaksudkan mencadangkan memasukkan pembalut di sekitar fungsi subsistem DMA untuk membolehkan pemacu yang ditulis dalam Rust menggunakannya. Walau bagaimanapun, beliau berhujah bahawa strategi ini merumitkan penyelenggaraan kod dan kejelasan antara muka C harus dipelihara , mengelakkan peluasan abstraksi yang boleh menghalang integrasi dengan kernel yang lain.

Masalah percampuran bahasa dalam projek

Menurut Hellwig, masalah utama terletak pada hakikat bahawa integrasi kod Rust mewujudkan kebergantungan yang memaksa pembangun subsistem C untuk mempertimbangkan kesan pengubahsuaian mereka pada kod pautan Rust. Ini bermakna sebarang pelarasan pada struktur atau fungsi C dalaman mungkin memerlukan perubahan selari pada kod Rust, mewujudkan senario yang sukar dikekalkan dalam jangka masa panjang.

Untuk mengelakkan situasi ini, Hellwig mengesyorkan agar pemacu dalam Rust mengakses API DMA asli dalam C secara langsung, dan bukannya menggunakan pembalut tambahan yang, pada pendapatnya, akan menjejaskan kebolehkerjaan kernel.

Pembangun yang mencadangkan tampalan tersebut berhujah bahawa mereka akan mengekalkan kod Rust dan, untuk tujuan itu, telah mengatur pautan dalam subdirektori tertentu (rust/kernel/dma.rs). Walau bagaimanapun, Hellwig menolak cadangan ini, memberi amaran bahawa beliau tidak perlu memikul tanggungjawab mengintegrasikan kod daripada bahasa lain ke dalam subsistem teras.

Selain itu, beliau mengulas dengan tegas bahawa jika anda ingin mengubah kernel menjadi mozek berbilang bahasa, anda harus bermula dengan pemacu Rust dan bukannya mengenakan kerumitan ini dalam bidang asas.

Kontroversi itu memuncak apabila tokoh-tokoh seperti Jason Gunthorpe, penyelenggara TPM, VFIO dan Infiniband di NVIDIA, berkongsi contoh bagaimana perubahan pada subsistem memori, walaupun betul dari perspektif kod C, menyebabkan masalah apabila cuba mengkompilasi kernel dengan sokongan Rust. Insiden ini menunjukkan bahawa hubungan antara C dan Rust boleh memperkenalkan kebergantungan tambahan yang menghalang pembangunan yang diselaraskan.

Perlu dinyatakan bahawa perbincangan itu tidak terhad kepada aspek teknikal. Héctor Martín mencadangkan bahawa penyelesaiannya adalah dengan menggunakan pautan secara langsung melalui Linus Torvalds, memintas penyenggara subsistem DMA. Walau bagaimanapun, pendekatan ini boleh mengganggu struktur hierarki tradisional pembangunan kernel.

Hector juga merujuk kepada tingkah laku yang dianggapnya toksik, malah menyebut bahawa kritikan Hellwig, di mana beliau membandingkan Rust dengan "tumor kanser," telah menyumbang kepada kekecewaannya dan, akhirnya, kepada keputusannya untuk meletak jawatan sebagai pengelola platform ARM/Apple dalam kernel utama. Walaupun peletakan jawatannya, platform itu akan terus disokong oleh Sven Peter, yang telah komited untuk meneruskan penyelenggaraannya.

Linus Torvalds menyertai perbualan itu , menekankan bahawa proses pembangunan kernel , walaupun tidak sempurna, masih berfungsi dan perbincangan teknikal harus tertumpu pada tampalan , tanpa dipengaruhi oleh tekanan luaran atau gangguan di media sosial. Bagi Torvalds , tumpuan haruslah teknikal semata-mata, mengetepikan pertikaian peribadi.

Keengganan Christoph Hellwig untuk memasukkan pembungkus Rust ke dalam subsistem DMA menyerlahkan ketegangan antara pembangun kernel Linux. Walaupun sesetengah orang melihat Rust sebagai alat yang berkuasa untuk mencipta projek baharu, yang lain bimbang bahawa penyepaduan berbilang bahasa boleh menghalang kebolehselenggaraan dan konsistensi asas kod.

Situasi ini masih menjadi subjek perdebatan dan boleh memberi implikasi yang ketara kepada masa depan sokongan Rust dalam kernel. Walau apa pun, apa yang jelas ialah komuniti pembangunan Linux terus menghadapi cabaran yang kompleks, di mana keputusan teknikal mesti dipertimbangkan dengan teliti untuk memastikan kemampanan jangka panjang projek tersebut.


Tambahkan sebagai sumber pilihan dalam Google