Kernel Linux bukanlah tempat untuk bekerja jika Anda tidak siap untuk beberapa argumen yang bersemangat. Namun, salah satu pengembang utama dalam proyek untuk memperluas tempat Rust di dalam kernel yang sebagian besar berbasis C merasa “omong kosong nonteknis” itu terlalu berlebihan, jadi dia pensiun.
Wedson Almeida Filho, seorang pemimpin dalam proyek Rust for Linux, menulis surat kepada milis kernel Linux minggu lalu untuk mencopot dirinya sebagai pengelola proyek. “Setelah hampir 4 tahun, saya merasa tidak memiliki energi dan antusiasme yang dulu saya miliki untuk menanggapi beberapa omong kosong nonteknis, jadi sebaiknya serahkan saja kepada mereka yang masih memilikinya,” tulis Filho. Sambil berterima kasih kepada rekan satu timnya, ia mencatat bahwa ia yakin masa depan kernel “adalah dengan bahasa yang aman bagi memori,” seperti Rust. “Saya bukan seorang visioner, tetapi jika Linux tidak menginternalisasi ini, saya khawatir kernel lain akan melakukan apa yang telah dilakukannya terhadap Unix,” tulis Filho.
Filho juga meninggalkan “contoh untuk konteks,” tautan ke momen selama pembicaraan konferensi Linux di mana suara di luar kamera, yang diidentifikasi oleh Filho dalam wawancara Register sebagai pengelola kernel Ted Ts’o, dengan tegas menyela: “Begini masalahnya: Anda tidak akan memaksa kami semua untuk mempelajari Rust.” Dalam konteks permintaan Filho agar sistem berkas Linux menerapkan pengikatan Rust, Ts’o mengatakan bahwa meskipun ia tahu ia harus memperbaiki semua kode C untuk setiap perubahan yang ia buat, ia tidak dapat atau tidak akan memperbaiki pengikatan Rust yang mungkin terpengaruh.
“Mereka hanya ingin mempertahankan kode C mereka”
Asahi Lina, pengembang pada proyek Asahi Linux, memposting di Mastodon akhir minggu lalu: “Saya sangat menyesal dan memahami sepenuhnya rasa frustrasi Wedson.” Memperhatikan bahwa “sekelompok pengembang kernel C tampaknya bertekad untuk membuat hidup para pengelola Rust sesulit mungkin,” Lina merinci masalah keamanan memori yang mereka hadapi saat menulis abstraksi penjadwal Direct Rendering Manager (DRM). Lina mencoba untuk mendorong perbaikan kecil yang akan membuat kode C “lebih tangguh dan persyaratan masa pakai lebih masuk akal,” tetapi diblokir oleh pengelola. Bug dalam kode C penjadwal DRM itu adalah satu-satunya penyebab kepanikan kernel pada driver GPU Apple Lina, tulisnya—”Karena saya menulisnya dalam Rust.”
“Tetapi saya merasa bahwa beberapa pengelola kernel Linux tidak lagi peduli dengan kualitas kode di masa mendatang, atau tentang stabilitas atau keamanan,” tulis Lina. “Mereka hanya ingin mempertahankan kode C mereka dan berharap kami, para pengguna Rust, akan pergi. Dan itu sungguh menyedihkan… dan tidak membantu membuat Linux menjadi lebih baik.”
Drew DeVault, pendiri SourceHut, menulis blog untuk kedua kalinya tentang upaya Rust untuk menemukan tempat di dalam Kernel. Secara teori, kernel harus menyambut masukan yang antusias dari pendatang baru yang termotivasi. “Dalam praktiknya, komunitas Linux adalah dunia yang liar dan liar, dan perubahan besar-besaran sangat sulit untuk mencapai konsensus, dan ini adalah perubahan besar-besaran terluas yang pernah diusulkan untuk proyek tersebut,” tulis DeVault. “Setiap subsistem adalah wilayah kekuasaan pribadi, tunduk pada keinginan masing-masing dari 1.700+ pengelola Linux, yang hampir semuanya memiliki kepentingan dalam hal ini. Ini seperti menggembalakan kucing: memperkenalkan Rust secara efektif adalah satu bagian pekerjaan pengodean dan sembilan puluh sembilan bagian pekerjaan politik – dan ini adalah banyak pekerjaan pengodean.”
Daripada menguji kesabaran mereka dengan politik kernel, DeVault menyarankan pengembang Rust membangun kernel yang kompatibel dengan Linux dari awal. “Membebaskan diri dari [Linux Kernel Mailing List] “pertempuran politik mungkin akan menjadi kemenangan besar bagi ambisi membawa Rust ke ruang kernel,” tulis DeVault.
Torvalds memahami mengapa penyerapan Rust lambat
Anda mungkin bertanya-tanya apa pendapat kepala pengelola Linus Torvalds tentang semua ini. Ia mengambil pendekatan “tunggu dan lihat” pada tahun 2021, berharap Rust pertama kali akan dikenal pada driver perangkat yang relatif terisolasi. Pada penampilannya akhir bulan lalu, Torvalds… pada dasarnya setuju dengan keluhan pengembang yang berpikiran Rust, meskipun dari jarak yang jauh lebih jauh.
“Saya sedang mengharapkan [Rust] pembaruan menjadi lebih cepat, tetapi sebagian masalahnya adalah pengembang kernel lama terbiasa dengan C dan tidak mengenal Rust,” kata Torvalds. “Mereka tidak begitu bersemangat untuk mempelajari bahasa baru yang, dalam beberapa hal, sangat berbeda. Jadi ada beberapa penolakan terhadap Rust.” Torvalds menambahkan, bagaimanapun, bahwa “alasan lainnya adalah infrastruktur Rust sendiri belum super stabil.”
Kernel Linux adalah proyek berisiko tinggi yang melibatkan ratusan atau ribuan pengembang; konflik mungkin tak terelakkan. Waktu akan membuktikan berapa lama C akan tetap menjadi cara utama membuat kode untuk, dan memikirkan, basis kode yang begitu besar namun terus bergerak.
Ars telah menghubungi Filho dan Ts’o untuk meminta komentar dan akan memperbarui postingan ini jika ada tanggapan.