18 poin oleh carnoxen 2025-02-13 | 28 komentar | Bagikan ke WhatsApp
  1. Kode Rust yang mengimplementasikan API Direct Memory Access diajukan ke repositori kernel Linux melalui pull request.
  2. Christoph Hellwig, pengelola menengah kernel Linux, menolak kode tersebut dan mengatakan agar kode Rust tidak dimasukkan ke kernel Linux, sehingga sengketa pun dimulai.
  3. Seiring konflik makin membesar, Christoph Hellwig menyamakan Rust dengan sel kanker.
  4. Hector Martin, pemimpin utama Asahi Linux, menentang pernyataan "sel kanker" itu dan melontarkan kritik keras di media sosial sambil menyeret Linus Torvalds ke dalamnya.
  5. Linus Torvalds memperingatkan Hector Martin dengan mengatakan, "Masalahnya ada pada diri Anda sendiri," serta "jangan melakukan brigading di media sosial."
  6. Saat ini Hector Martin meminta mundur dari posisi pengelola kode Linux upstream yang mendukung perangkat keras kompatibel Apple Arm.

28 komentar

 
sftblw 2025-02-14

Ringkasannya hanya menyebutkan peristiwa yang terjadi, tetapi di bagian akhir tulisan asli (berbahasa Korea) ada dua tambahan informasi latar belakang untuk membantu memahami peristiwa ini dengan lebih baik.

 
mango 2025-02-14

Saya pikir mengelola proyek dengan satu bahasa saja itu lebih baik, tetapi terlepas dari itu, cara untuk meyakinkan rekan kerja tentang hal tersebut benar-benar buruk.

 
carnoxen 2025-02-14

Memaksa orang bertekuk lutut dengan kekuasaan itu tidak masuk akal.

 
foriequal0 2025-02-14

Ini thread email PR yang dimaksud:
https://lwn.net/ml/all/…

Sepertinya ini bukan PR yang memperbaiki implementasi DMA ataupun menyentuh langsung DMA API, melainkan PR yang menulis binding FFI agar DMA API bisa diakses dari Rust.
PR seperti itu ditolak hanya dengan jawaban singkat, "No rust code in kernel/dma, please." https://lwn.net/ml/all/20250108135951.GA18074@lst.de/
Lalu ketika ditanya bagaimana sebaiknya dilakukan, jawabannya adalah "Keep the wrappers in your code instead of making life painful for others." https://lwn.net/ml/all/20250108151858.GB24499@lst.de/
(Ini memang sudah dilakukan seperti yang diminta. PR tersebut mengubah subtree di bawah rust/kernel, bukan kernel/dma.)

Tentu saja, kalau binding FFI ditambahkan maka saat DMA API berubah, binding FFI Rust juga harus ikut diperbarui, jadi memang ada beban di sana.
Tetapi meskipun pihak yang mengerjakan sisi Rust sudah bilang mereka akan menanganinya sendiri dengan baik, saya kurang yakin apakah tepat jika orang yang bukan penanggung jawab tree tersebut bereaksi dengan sikap seperti ini.
(Christoph Hellwig adalah maintainer kernel/dma: https://docs.kernel.org/process/maintainers.html#dma-mapping-helpers)

Jadi sepertinya Hector Martin kemudian menarik Linus ke dalam thread itu:
https://lwn.net/ml/all/2b9b75d1-eb8e-494a-b05f-59f75c92e6ae@marcan.st/

Tapi pembicaraan di thread tepat sebelumnya juga cukup menarik,
yaitu bahwa "kalau ada breaking change pada API dan tim Rust tidak cepat menanganinya, build akan rusak dan Linus tidak akan menerima PR tersebut."
Kalau saya memikirkannya sebagai masalah antara modul yang membuat breaking change dan modul lain yang terdampak, rasanya saya justru lebih memilih sisi yang ada Rust-nya.
Misalnya modul x membuat breaking change, dan modul y tidak sempat cepat beradaptasi,

  • modul y ditulis dengan Rust: kompilasi gagal sehingga Linus tidak akan merge
  • modul y ditulis dengan C: tetap bisa dikompilasi(??) sehingga Linus akan merge (????)
 
gurugio 2025-02-14

Bagian yang menggunakan unsafe di kernel Linux kebanyakan adalah bagian yang melakukan wrapping dengan C.
Selain itu ada juga bagian kontrol hardware yang harus menangani memori secara langsung, tetapi porsinya sangat kecil.
Bagian yang diterapkan Rust adalah pengembangan driver. Tidak perlu menyentuh kernel itu sendiri seperti manajemen memori atau block layer, dan memang juga tidak bisa.
Jumlah kode driver jauh lebih banyak daripada kode kernel itu sendiri. Dan titik-titik tempat masalah muncul pun sebagian besar ada di kode driver.
Saya pikir bagian pengembangan driver memang seharusnya dibuat dengan bahasa yang memiliki keamanan memori dan keamanan yang lebih baik daripada C.
Entah itu Rust, Zig, atau apa pun saya tidak tahu.
Saya juga setuju bahwa Rust terlalu kompleks untuk mengembangkan aplikasi biasa, dan juga sulit dipelajari dengan cepat oleh developer bahasa C.
Tetap saja, bahasa apa pun itu, saya berharap setidaknya pengembangan driver bisa beralih ke bahasa yang lebih modern.
Di perusahaan saya sebelumnya, untuk mengembangkan dan menstabilkan driver yang panjangnya tidak sampai beberapa ribu baris, dibutuhkan waktu sekitar 7 tahun. Tidak bisa disederhanakan sepenuhnya, tetapi kira-kira 3 tahun di antaranya rasanya hanya untuk debugging.
Sebagian besar adalah bug terkait memori. Kesalahan logis seperti deadlock hanya sebagian kecil.

 
kh0324 2025-02-14

Menurut saya, menggunakan proyek besar sebagai ajang uji coba bahasa sendiri itu tidak terlihat bagus.
Kalau memang tidak cocok, mungkin perlu kembali ke masa dulu ketika langsung melakukan fork.
Untuk kernel yang menangani keseluruhan perangkat, saya rasa sekalipun memakai Rust, begitu mulai memakai unsafe, hasilnya tetap hanya akan menjadi kode yang sulit dibaca karena masalah itu.
Ini juga bukan proyek tanpa rilis utama yang versinya seperti 0.91, 0.92, 0.99, 0.991 dan seterusnya, jadi saya tidak paham kenapa bagian-bagian yang tadinya berjalan baik justru sedang di-porting.
Bukan juga situasi di mana muncul bug besar lalu sekalian diubah agar lebih aman.

 
foriequal0 2025-02-14

PR tersebut bukan porting. Ini adalah PR yang menambahkan binding FFI di sisi Rust agar bisa digunakan juga pada modul berbasis Rust yang menulis ulang DMA API yang sudah ada. Dan itulah yang dihalangi oleh pihak yang menangani DMA.

 
kuber 2025-02-14

Sayang sekali artikel ini tidak menyertakan kutipan sumber aslinya. Karena penasaran, saya mencari dan membaca sumber aslinya, dan meskipun saya juga belum memahaminya sepenuhnya, rasanya ada cukup banyak konteks lanjutan sehingga tidak bisa dibicarakan sesederhana seperti di teks aslinya.

 
moderator 2025-02-14

Judul artikel telah diubah ke nama aslinya.

 
carnoxen 2025-02-14

Terima kasih atas penanganannya

 
bus710 2025-02-14

Ternyata menyematkan Rust ke codebase C yang besar tidak seseru yang dibayangkan. Kalau alasannya untuk meningkatkan keamanan memori, pada akhirnya area unsafe juga membesar, jadi efektivitas nyatanya tidak terlalu besar.... pada dasarnya maknanya tidak lebih dari sekadar memperluas area penggunaan Rust.... sehingga tampaknya wajar jika hal itu memicu penolakan dari para pengembang C yang sudah ada. Mungkin akan lebih baik jika fokus pada proyek kernel yang sejak awal benar-benar dimulai dengan Rust.

 
roxie 2025-02-14

Wah, kualitas isi artikelnya ternyata cukup bagus ya, saya membacanya dengan sangat menyenangkan.

 
sonnet 2025-02-14

Yang dimaksud Torvalds dengan mengatakan bahwa masalahnya adalah Anda, terlepas dari adopsi Rust, adalah argumen bahwa SNS tidak bisa menjadi jawaban atas persoalan teknis, tetapi jika hanya melihat ringkasan ini tampaknya ada kemungkinan menimbulkan salah paham.

 
carnoxen 2025-02-14

Bagi Hector Martin, itu adalah pilihan yang tak terhindarkan.

Manajer menengah Linux semuanya dipenuhi para ahli C, jadi mana mungkin mereka mau menerima pendapat segelintir pengembang Rust.

 
ahwjdekf 2025-02-13

https://youtu.be/opTJH76wJxs?si=WHR0_1uPpSlpDTHr menunjukkan bagaimana hal ini berkembang menjadi sebuah perdebatan.

 
fnwinter 2025-02-13

Bukankah Torvalds juga mengizinkan Rust?

 
qwqwhs 2025-02-14

Torvalds tidak mengatakan sepatah kata pun tentang Rust dalam perdebatan tersebut.

Saat terjadi perselisihan pendapat teknis, diskusi harus dijalankan berdasarkan alasan teknis,
bukan dengan mencoba mengakhiri perselisihan dengan membentuk opini publik di SNS.

 
ahwjdekf 2025-02-13

Kalau kalian merasa sehebat itu, fork saja kernel-nya lalu tulis semuanya dengan Rust. Jangan menyusup pelan-pelan seperti kanker. Sepertinya pendapat seperti ini cukup banyak.

 
aegis92 2025-07-28

Kalau kode itu adalah kode yang mengutak-atik sisi kernel/dma supaya lebih mudah dipakai dari Rust, mungkin masih lain ceritanya,
namun yang ditambahkan adalah kode lapisan FFI yang membungkus kernel/dma ke rust/kernel/dma.
Bukan kode aslinya yang diutak-atik.

Inti sebenarnya adalah
"Saya tidak suka kalau ada orang yang salah memakai DMA FFI resmi yang dibuat dengan Rust lalu datang bertanya ke saya." Kira-kira seperti itu...
Lalu dia juga mengatakan hal yang tidak nyambung, yaitu menyuruh agar tiap driver saja bikin FFI masing-masing.

 
carnoxen 2025-02-14

Itu Redox. Mungkin ke Linux karena masih ada bagian yang belum didukung...

https://vt.social/@lina/113064510447670892

 
sonnet 2025-02-14

Sepertinya apa yang Anda tuliskan sepenuhnya sama persis dengan pernyataan Hellwig, tetapi saya tidak yakin apakah pandangan seperti itu bisa dianggap sebagai mayoritas.

 
ffdd270 2025-02-13

Halo. Terima kasih sudah mengunggah tulisan yang bagus. Saya membacanya dengan senang hati.

Namun, setelah memeriksa artikel aslinya dan melihat judul aslinya, ada sedikit hal yang saya khawatirkan sehingga saya menuliskan komentar ini.

https://news.hada.io/guidelines

Pada dasarnya, mohon gunakan judul asli artikel, atau terjemahkan judulnya ke dalam bahasa Korea saat mengunggahnya.

Seperti yang disarankan di sana. Dan ketika saya membaca isi artikel tersebut, saya merasa bahwa alih-alih "Perdebatan Rust di kernel Linux kembali memanas.", judul "Linus Torvalds 'Masalahnya adalah Anda'" justru berpotensi menimbulkan salah paham terhadap isi tulisan, bahkan lebih daripada judul aslinya.

Sekali lagi, terima kasih sudah merangkum dan memperkenalkan tulisan ini. Semoga harimu menyenangkan.

 
kaydash 2025-02-13

Mantap banget

 
carnoxen 2025-02-13

Saya akan menjadikannya sebagai referensi.

 
ffdd270 2025-02-13

'm 'b Semoga harimu menyenangkan! Terima kasih, berkat Anda saya bisa membaca tulisan yang bagus. \(__ )

 
carnoxen 2025-02-13

Saya punya kebiasaan menambahkan subjudul versi saya sendiri pada judul agar penjelasannya lebih akurat, tetapi ternyata judul itu tidak cocok bagi orang lain dan saya juga tidak tahu ada aturan seperti ini. Mulai berikutnya saya akan menampilkan persis seperti judul aslinya.

 
jamiecha 2025-02-13

Judul aslinya langsung memperjelas topik pembahasannya, sedangkan judul yang Anda ubah tampaknya berpotensi menimbulkan kesan clickbait. Ini pendapat pribadi saya.

 
carnoxen 2025-02-13

Terima kasih atas masukannya.

Saya menganggap pernyataan Linus yang paling penting, jadi saya menjadikannya judul, tetapi tampaknya itu telah terdistorsi cukup besar.

Saya pasti akan lebih berhati-hati.