Generated by GPT-5-mini| Servo (web engine) | |
|---|---|
| Name | Servo |
| Developer | Mozilla Research; Samsung; Linux Foundation |
| Released | 2013 |
| Programming language | Rust |
| Operating system | Linux; Windows; macOS; Android |
| License | MPL 2.0 |
Servo (web engine) Servo is an experimental web engine originally initiated by Mozilla Research and later joined by contributors from Samsung Electronics and the Linux Foundation. It was designed to explore parallelism, safety, and modern web standards using the Rust (programming language), with collaboration from projects like Firefox and initiatives such as WebKit improvements and Chromium research. Servo influenced work at organizations including Mozilla Foundation, Samsung Research America, Canonical (company), and academic groups at MIT and University of California, Berkeley.
Servo began as an experimental project in 2012 at Mozilla Research with key engineers influenced by earlier engines such as Gecko and WebKit. Early development involved contributions from corporate partners like Samsung Electronics and community members from Red Hat and Intel, and it was publicly announced at events like Mozilla Summit and FOSDEM. Over time Servo’s roadmap intersected with initiatives from Rust (programming language) stewardship by Graydon Hoare and later maintainers at Mozilla Corporation, and hardware partners such as ARM Holdings and Qualcomm participated in testing. In 2020 stewardship shifted toward the Linux Foundation and the project saw forks and reuses in environments associated with Servo Components, Deno (software), and research groups at University of Cambridge. Notable milestones were integration experiments with Firefox and prototype embedding in platforms like Android (operating system), as well as presentations at conferences such as RustConf and WWDC.
Servo’s architecture is organized around components inspired by engines like Gecko and WebKit, with modules for layout, rendering, CSS parsing, and JavaScript integration. The project emphasizes parallel layout using thread models comparable to work in Chromium and task scheduling techniques used in V8 (JavaScript engine), leveraging memory safety guarantees from Rust (programming language) created by Mozilla Research. Rendering uses GPU acceleration APIs seen in Vulkan, Metal (graphics API), and OpenGL, and integrates with compositor ideas from Skia and Blink. The design separates the style system, DOM tree, and render backend similar to approaches taken by Servo Components and experimental efforts at Microsoft Research, facilitating experiments in incremental painting, layout pipelining, and speculative parsing pioneered by teams at Google and Apple Inc..
Servo pursued parallelism to exploit multi-core CPUs from vendors such as Intel and AMD and collaborated on SIMD and vectorization strategies used in projects at NVIDIA and ARM Holdings. Benchmarks compared Servo’s layout and styling throughput against Gecko and Blink, incorporating scenes and tests popularized by communities around WebKit and performance suites like those from JetStream and Octane (benchmark). Results varied by workload; CPU-bound CSS and layout tasks showed improvements reminiscent of research from Stanford University and MIT CSAIL, while JavaScript-heavy pages remained tied to engines like V8 (JavaScript engine) and SpiderMonkey. Performance work interfaced with tooling from Perf and profiling guidance from Google Chrome Developers and testing frameworks used by Mozilla Foundation.
Servo adopted Rust’s safety features to reduce memory-safety vulnerabilities highlighted in historic incidents involving Heartbleed and vulnerabilities tracked by organizations like CERT (CERT Coordination Center). Sandboxing approaches were informed by isolation models used in Chrome and techniques from Linux namespaces and seccomp filters, as employed by contributors from Canonical (company) and Red Hat. Security audits referenced best practices championed by OWASP and threat modeling used by teams at Microsoft and Apple Inc., and integration testing benefitted from fuzzing infrastructure developed by Google OSS-Fuzz and academic groups at Carnegie Mellon University.
Servo implemented many specifications from WHATWG, W3C, ECMA International, and worked alongside standards implementers at Apple Inc., Google, and Microsoft. Support targeted features such as HTML5, CSS3, DOM Level 3, ECMAScript 2015 and subsequent editions, and web platform APIs coordinated with efforts from W3C Web Platform Working Group and IETF. Cross-engine interoperability testing used suites from Khronos Group for graphics APIs and conformance tests developed by W3C Test Suite contributors and community members at Mozilla Foundation and Samsung Research.
Development was initially led by engineers at Mozilla Research and later involved governance participation from the Linux Foundation and corporate partners like Samsung Electronics and independent contributors from organizations such as Canonical (company)],] Red Hat, and academic labs at University of Washington. The community collaborated via repositories and tooling common to projects such as GitHub and communication channels similar to Matrix (protocol) and IRC, with contributions tracked through mechanisms used by Mozilla Foundation and coordinated via events like RustConf and FOSDEM. Licensing under the Mozilla Public License enabled reuse by projects in ecosystems including Servo Components and research prototypes at institutions like ETH Zurich and University of Oxford.
Category:Web engines