Mozilla has made several new announcements in recent times, from announcing a new logo to disbanding its Connected Devices initiative and giving up on the Firefox OS. One announcement that flew somewhat under the radar was that compiling the Firefox browser will now require the Rust language.
More specifically, the latest version of Mozilla’s browser, Firefox 53, will have a number of components built with the Rust language. The company seems to committed to its vision of building the key aspects of the browser within Rust, a language meant for fast and safe system programming.
However, this focus on the Rust language will have the likely unintended consequence of restricting the number of platforms the Firefox browser can be ported to, as the language is required for the browser to be compiled, and not many platforms support it.
This situation is due to the new release of Rust 1.15 which includes a revamped build system written in the language and which also comes with Rust’s own Cargo package management. Previous versions of Rust were made with makefiles, not Cargo crates. This allows Rust to create its own ecosystem and stop being dependent on parts made by other developers.
As Rust has gradually developed and stabilized, Mozilla moved more of Firefox’s infrastructure to the language. Thus, a platform will need to be able to run the Rust language compiler before installing Firefox. Although the Rust language was meant to be cross-platform, it still depends on LLVM, which comes with its own dependencies and need to be supported by the platform as well.
This decision creates a lot of short-term problems for users and for Mozilla. However, the company emphasized the long-term benefits of using the Rust language. Furthermore, Mozilla stated that while the company would like to avoid making life harder for users who maintain various Firefox ports, it cannot also allow less popular platforms to restrict its use of the Rust language and the benefits which come with it.
Most Firefox users on major platforms like Apple OS and Windows won’t be affected by the new changes. The platforms affected are most notably nondesktop architectures as well as several Linux distributions for Linux like Red Hat. These platforms will stop supporting Firefox.
Image credit: Mozilla