Latest version of Firefox will require Rust to compile successfully, restricting the number of platforms that the browser can be ported to Credit: cortixxx Mozilla always intended for Rust to be used in building key parts of the Firefox browser. Now the company is committing to that vision in a significant manner. After version 53, Firefox will require Rust to compile successfully, due to the presence of Firefox components built with the language. But this decision may restrict the number of platforms that Firefox can be ported to—for now. Rust, Mozilla Research’s language for fast and safe system-level programming, is on the eve of a new release. Rust 1.15’s most notable new feature is a revamped build system written in Rust and using Rust’s native Cargo package management. Previously, Rust was built with makefiles; with this change, Rust can be built using Cargo “crates” like any other Rust project. It’s one of many steps that Rust has taken toward becoming its own ecosystem, not dependent on pieces built by others. As Rust has matured and stabilized, it’s become easier for Firefox developers to move more of the browser’s critical infrastructure to that language. But there’s a downside: Any platform where you intend to build and run Firefox will need a working edition of the Rust compiler. Rust is meant to be cross-platform, so this should be possible. However, the practical implications are more complex. Rust depends on LLVM, which has dependencies of its own—and all of them would need to be supported on the target platform. A discussion on the Bugzilla tracker for Firefox raises many of these points. Other concerns also bubbled up: What about proper support for Linux distributions with long-term support, where the tools available on the distro are often frozen, and where newer Rust features might not be available? What about support for Firefox on “non-tier-1” platforms, which make up a smaller share of Firefox users? Mozilla’s stance is that in the long run, the pain of transition will be worth it. “The advantage of using Rust is too great,” according to maintainer Ted Mielczarek. “We normally don’t go out of our way to make life harder for people maintaining Firefox ports, but in this case we can’t let lesser-used platforms restrict us from using Rust in Firefox,” he wrote. The platforms most likely to be affected by this decision, according to a discussion in the Bugzilla thread, are nondesktop architectures like IBM’s S390. As a result, it’s possible that those who ship Linux distributions for those architectures—as Red Hat does with Fedora—will simply drop Firefox support for the builds that do not yet fully support Rust. Most Firefox users won’t be affected by this. The best hope for those who are, will be to marshal efforts to build out whatever platforms need Rust support—simultaneously driving development for both Firefox and Rust. Conventional Firefox users, though, care more about the end result—a promised rejuvenation that will keep the browser speedy and feature-competitive—and less about the technology used to accomplish it. The pressure’s on not only to move to Rust, but to prove the move was worth it. Related content feature 14 great preprocessors for developers who love to code Sometimes it seems like the rules of programming are designed to make coding a chore. Here are 14 ways preprocessors can help make software development fun again. By Peter Wayner Nov 18, 2024 10 mins Development Tools Software Development news JetBrains IDEs ease debugging for Kubernetes apps Version 2024.3 updates to IntelliJ, PyCharm, WebStorm, and other JetBrains IDEs streamline remote debugging of Kubernetes microservices and much more. By Paul Krill Nov 14, 2024 3 mins Integrated Development Environments Java Python analysis Understanding Hyperlight, Microsoft’s minimal VM manager Microsoft is making its Rust-based, functions-focused VM tool available on Azure at last, ready to help event-driven applications at scale. By Simon Bisson Nov 14, 2024 8 mins Microsoft Azure Rust Serverless Computing analysis GitHub Copilot learns new tricks GitHub and Microsoft have taken their AI-powered programming assistant into new territories, tackling code reviews, simple web apps, Java upgrades, and Azure help and troubleshooting. By Simon Bisson Nov 07, 2024 8 mins GitHub Java Microsoft Azure Resources Videos