Mozilla and Samsung to collaborate on Servo browser engine
Mozilla Research has been working on a next generation browser engine for some time now, developing both Rust, a safe-by-default, concurrent replacement for C++, and an experimental browser engine called Servo, written in Rust. Now, Brendan Eich, CTO at Mozilla, has announced that Mozilla will be working with Samsung to develop Servo on Android and ARM platforms.
Servo and Rust are a ground up rebuild of browser technology which focuses on the predicted future demands of using multiple cores with high security and stability. Rust offers lightweight concurrency primitives which make it easier for developers to make use of many cores. Rust's safe-by-default nature also prevents a number of categories of memory management errors from happening; these are one of the prime causes of crashes and an enabler of remote code execution attacks.
Samsung has already been collaborating with Mozilla and has delivered an ARM backend to Rust to allow Servo to be cross-compiled for mobile devices; the code and instructions are already available for interested developers. Samsung's interest is most likely centred around the ARM-based processors it develops, including the most recent 8-core Octa Exynos with two sets of four cores in power/power-efficient combinations.
ARM-based processors are most likely to be developed over time with many more cores to allow them to scale to demand, therefore a browser and language which efficiently exploits this property would be very useful. Where it would fit in Samsung's plans though is hard to work out; the company already makes mobile devices with Android, is developing Tizen with Intel and the Linux Foundation, still has Bada, its own phone OS, and makes some Windows 8 phones.
Rust made its public debut in January 2012 as an experiment in emphasising security over performance. Rust 0.6 has been released today, and Eich says that over the coming year they are "racing to complete the first major revision of Rust". This will involve cleaning up the language, expanding the reach of the system libraries, building complete user-ready toolchains, fully documenting the platform, and improving the language's performance. Development of Servo, which originally emerged in March 2012, will continue to explore how pervasive parallelism can be exploited in a browser.