Mozilla emits nightly builds of heir-to-Firefox browser engine Servo

Rust project still needs a lot of polish

Mozilla has started publishing nightly in-development builds of its experimental Servo browser engine so anyone can track the project's progress.

Executables for macOS and GNU/Linux are available right here to download and test drive even if you're not a developer. If you are, the open-source engine's code is here if you want to build it from scratch, fix bugs, or contribute to the effort.

Right now, the software is very much in a work-in-progress state, with a very simple user interface built out of HTML. It's more of a technology demonstration than a viable web browser, although Mozilla has pitched Servo as a potential successor to various components within Firefox's Gecko engine.

“We are exploring various avenues for incorporating the Servo engine and technology into existing Mozilla products," Jack Moffitt, Servo Project Lead at Mozilla told The Register.

"In particular, we’re working with the Mozilla platform team to incorporate components of Servo into the Gecko engine that powers Firefox. In the long run we hope Servo will provide key improvements to both Firefox and future Mozilla products."

A spokesperson for Moz added that "the intention has always been to use [Servo] alongside rather than as a replacement" of Gecko.

Crucially, Servo is written using Rust – Mozilla's more-secure C-like systems programming language. If Google has the language of Go, Moz has the language of No: Rust. It works hard to stop coders making common mistakes that lead to exploitable security bugs, and we literally mean stop: the compiler won't build the application if it thinks dangerous code is present.

Rust focuses on safety and speed: its security measures do not impact it at run-time as the safety mechanisms are in the language by design. For example, variables in Rust have an owner and a lifetime; they can be borrowed by another owner. When a variable is being used by one owner, it cannot be used by another. This is supposed to help enforce memory safety and stop data races between threads.

It also forces the programmer to stop and think about their software's design – Rust is not something for novices to pick up and quickly bash out code on.

This, hopefully, means fewer security bugs in Rust code, which for Servo means fewer exploitable holes in an application that has to deal with potentially hostile data every moment of the day. Servo hopes to avoid the usual use-after-free() and buffer overflows bugs present in other software, particularly browsers and their plugins, and thus give users a more secure window to the internet.

One little problem is that Servo relies on Mozilla's SpiderMonkey JavaScript engine, which is written in C/C++. So while the HTML-rendering engine will run secured Rust code, fingers crossed nothing terrible happens within the JS engine.

The daily Servo builds are available for macOS and Linux, with versions for Windows and Android due to be arriving soon.

A preliminary Reg review has found the OS X version functional, though important features such as the buttons on the browser, key commands, and mildly popular sites YouTube and Facebook don't quite ... er ... work just yet. Mozilla will probably want to fix that before launch.

The El Reg front page renders pretty much OK

Our sister site The Next Platform looks fine, too

The Rust Reddit page also renders as expected

Amazon.com is completely screwed

The New York Times homepage shows up looking normal although the browser couldn't seem to pull in every graphic needed for the page

Ebay.com works surprisingly well

Servo sports a rather handsome Shiba Inu "Doge" icon, so it at least has that going for it.

Servo browser icon

Such pander. Very bandwagon

"Nightly builds of the Servo web rendering engine are now available," the project blogged at the end of last week.

"To make the Servo engine easy to interact with, we are bundling an HTML-based browser UI. While our engine is not yet fully web compatible, we want to give a larger audience the chance to start experimenting with and contributing to Servo." ®




Biting the hand that feeds IT © 1998–2019