Mozilla and Samsung are working on a new Web browser engine based on Rust.
Mozilla CTO Brendan Eich said on Wednesday that the Firefox developer is collaborating with Samsung on a next-generation Web browser engine called Servo. Eich said it's an attempt to rebuild the Web browser from the ground up on modern hardware – an attempt that not only addresses the cause of security vulnerabilities plaguing current devices, but fully utilizes the performance of massively parallel hardware in devices of the future.
Eich said in a blog update that this new browser engine will be written in Rust, a new, safe systems language developed by Mozilla along with "a growing community of enthusiasts." Given that Samsung is involved, this browser will be focused on Android and ARM-based SoCs. Samsung has already contributed an ARM backend to Rust and the build infrastructure necessary to cross-compile to Android, along with many other improvements, Eich said.
"Rust, which today reached v0.6, has been in development for several years and is rapidly approaching stability," the Mozilla CTO said. "It is intended to fill many of the same niches that C++ has over the past decades, with efficient high-level, multi-paradigm abstractions, and offers precise control over hardware resources. But beyond that, it is *safe by default*, preventing entire classes of memory management errors that lead to crashes and security vulnerabilities."
Programmers will be able to leverage the power of the many CPU cores available on current and future Android platforms thanks to the lightweight concurrency primitives offered with Rust, Eich added. The company is currently pushing to complete the first major revision of Rust within the coming year by tweaking performance, building on the tools and getting the libraries in order. Mozilla will also continue to dump more resources into the Servo browser itself.
"We, along with our friends at Samsung will be increasingly looking at opportunities on mobile platforms," Mozilla said. "Both of these efforts are still early stage projects and there’s a lot to do yet, so now is a good time to get involved."
The latest version of Rust, v0.6, can be accessed here. Mozilla has also served up the source code for both Rust and Servo over on GitHub. To participate in the development process, head over to the mailing lists for Rust here, and Servo here.