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 Firefox’s Gecko engine.
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.
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 sport a rather handsome Shiba Inu “Doge” icon, so it at least has that going for it.
“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.” ®