Mozilla mengikatkan nasib Firefox ke bahasa Rust

Mozilla selalu menginginkan Rust digunakan dalam membangun bagian-bagian penting dari browser Firefox. Sekarang perusahaan berkomitmen pada visi itu secara signifikan.

Setelah versi 53, Firefox akan meminta Rust untuk berhasil dikompilasi, karena adanya komponen Firefox yang dibangun dengan bahasa tersebut. Namun keputusan ini mungkin membatasi jumlah platform yang dapat digunakan untuk porting Firefox — untuk saat ini.

Rust, bahasa Mozilla Research untuk pemrograman tingkat sistem yang cepat dan aman, sedang menjelang rilis baru. Fitur baru Rust 1.15 yang paling menonjol adalah sistem build yang dirubah yang ditulis dalam Rust dan menggunakan manajemen paket Cargo asli Rust. Sebelumnya, Rust dibuat dengan makefiles; dengan perubahan ini, Rust dapat dibangun menggunakan “peti” Cargo seperti proyek Rust lainnya. Ini adalah salah satu dari banyak langkah yang diambil Rust untuk menjadi ekosistemnya sendiri, tidak bergantung pada bagian yang dibangun oleh orang lain.

Karena Rust telah matang dan stabil, menjadi lebih mudah bagi pengembang Firefox untuk memindahkan lebih banyak infrastruktur penting browser ke bahasa itu. Tetapi ada sisi negatifnya: Platform apa pun tempat Anda ingin membuat dan menjalankan Firefox akan memerlukan kompiler Rust edisi yang berfungsi.

Karat dimaksudkan untuk lintas platform, jadi ini harus dimungkinkan. Namun, implikasi praktisnya lebih kompleks. Rust bergantung pada LLVM, yang memiliki dependensinya sendiri — dan semuanya perlu didukung pada platform target.

Sebuah diskusi tentang pelacak Bugzilla untuk Firefox mengangkat banyak poin ini. Kekhawatiran lain juga muncul: Bagaimana dengan dukungan yang tepat untuk distribusi Linux dengan dukungan jangka panjang, di mana alat yang tersedia di distro sering dibekukan, dan di mana fitur Rust yang lebih baru mungkin tidak tersedia? Bagaimana dengan dukungan untuk Firefox pada platform "non-tier-1", yang merupakan bagian lebih kecil dari pengguna Firefox?

Pendirian Mozilla adalah bahwa dalam jangka panjang, rasa sakit transisi akan sepadan. "Keuntungan menggunakan Rust terlalu besar," menurut pengelola Ted Mielczarek. "Kami biasanya tidak berusaha keras untuk mempersulit orang yang memelihara port Firefox, tetapi dalam kasus ini kami tidak boleh membiarkan platform membatasi kami untuk menggunakan Rust di Firefox, ”tulisnya.

Platform yang paling mungkin terpengaruh oleh keputusan ini, menurut diskusi di utas Bugzilla, adalah arsitektur nondesktop seperti IBM S390. Akibatnya, mungkin saja mereka yang mengirimkan distribusi Linux untuk arsitektur tersebut — seperti yang dilakukan Red Hat dengan Fedora — akan langsung melepaskan dukungan Firefox untuk build yang belum sepenuhnya mendukung Rust.

Sebagian besar pengguna Firefox tidak akan terpengaruh oleh ini. Harapan terbaik bagi mereka yang ingin melakukannya adalah melakukan upaya untuk membangun platform apa pun yang membutuhkan dukungan Rust — secara bersamaan mendorong pengembangan untuk Firefox dan Rust.

Pengguna Firefox konvensional, bagaimanapun, lebih peduli dengan hasil akhirnya — peremajaan yang dijanjikan akan membuat peramban tetap cepat dan kompetitif dengan fitur — dan lebih sedikit tentang teknologi yang digunakan untuk mencapainya. Tekanan tidak hanya untuk pindah ke Rust, tetapi untuk membuktikan bahwa langkah itu sepadan.