Servo (software)

Last updated

Servo
Original author(s) Mozilla Corporation
Developer(s) Linux Foundation and volunteers [1] [2]
Repository
Written in Rust
Operating system Cross-platform
Type Browser engine
License MPL 2.0 [3]
Website servo.org   OOjs UI icon edit-ltr-progressive.svg

Servo is an experimental browser engine designed to take advantage of the memory safety properties and concurrency features of the Rust programming language. It seeks to create a highly parallel environment, in which rendering, layout, HTML parsing, image decoding, and other engine components are handled by fine-grained, isolated tasks. [4] [5] It also makes use of GPU acceleration to render web pages quickly and smoothly. [6] [7]

Contents

Servo has always been a research project. It began at the Mozilla Corporation in 2012, and its employees did the bulk of the work until 2020. [8] This included the Quantum project, when portions of Servo were incorporated into the Gecko engine of Firefox. [9] [10]

After Mozilla laid off all Servo developers in 2020, [8] governance of the project was transferred to the Linux Foundation. [1] Development work officially continues at the same GitHub repository with the project itself entirely volunteer driven. [2]

History

Development of Servo began at the Mozilla Corporation in 2012. [11] [12] The project was named after Tom Servo, a robot from the television show Mystery Science Theater 3000 . [13]

In 2013, Mozilla announced that Samsung was collaborating on the project. [14] Samsung's main contribution was porting Servo to Android and ARM processors. [15] A Samsung developer also attempted to re-implement the Chromium Embedded Framework API in Servo, [16] but it never reached fruition and the code was eventually removed. [17]

The Acid2 test was passed in 2014, [4] and Servo could render some websites faster than the Gecko engine of Firefox. [18] By 2016, the engine had been further optimized. [19] The same year, Mozilla began the Quantum project, which incorporated stable portions of Servo into Gecko. [9] [10]

Servo was the engine of two augmented reality browsers. The first was for a Magic Leap headset in 2018. [20] Then the Firefox Reality browser was released in 2020. [21]

In August 2020, Mozilla laid off many employees, including the Servo team, to "adapt its finances to a post-COVID-19 world and re-focus the organization on new commercial services". [8] Governance of the Servo project was thus transferred to the Linux Foundation. [1]

In October 2021, Eclipse Foundation launched Oniro OS vendor neutral open-source distributed operating system in Europe for Internet of things and embedded devices with various partners such as Huawei and Linaro among others, based on OpenAtom Foundation's OpenHarmony for software development with Servo web engine as part of the open source project built on Rust language. [22]

In January 2023, the Servo project announced that new external funding had enabled a team of developers to reactivate the project. [23] The initial roadmap focused on selecting one of the two existing layout engines for further development, followed by working towards basic CSS2 conformance. [24] In February 2024, at FOSDEM 2024, the Servo Project team outlined their plans for a 'reboot' of Servo. [25]

Related Research Articles

<span class="mw-page-title-main">K-Meleon</span> Lightweight web browser for Microsoft Windows

K-Meleon is a free and open-source, lightweight web browser for Microsoft Windows. It uses the native Windows API to create its user interface. Early versions of K-Meleon rendered web pages with Gecko, Mozilla's browser layout engine, which Mozilla's browser Firefox and its email client Thunderbird also use. K-Meleon became a popular Windows browser and was available as an optional default browser in Europe via BrowserChoice.eu. K-Meleon continued to use Gecko for several years after Mozilla deprecated embedding it. Current versions of K-Meleon use the Goanna layout engine, a fork of Gecko created for the browser Pale Moon.

Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.

<span class="mw-page-title-main">SpiderMonkey</span> JavaScript and WebAssembly engine maintained by the Mozilla Foundation

SpiderMonkey is an open-source JavaScript and WebAssembly engine by the Mozilla Foundation. The engine powers the Firefox web browser and has used multiple generations of JavaScript just-in-time (JIT) compilers, including TraceMonkey, JägerMonkey, IonMonkey, and the current WarpMonkey.

<span class="mw-page-title-main">Camino (web browser)</span> Discontinued open-source web browser

Camino is a discontinued free, open source, GUI-based Web browser based on Mozilla's Gecko layout engine and specifically designed for the OS X operating system. In place of an XUL-based user interface used by most Mozilla-based applications, Camino used Mac-native Cocoa APIs. On May 30, 2013, the Camino Project announced that the browser is no longer being developed.

<span class="mw-page-title-main">Firefox</span> Free and open-source web browser by Mozilla

Mozilla Firefox is a free and open source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. Firefox is available for Windows 10 and later versions of Windows, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, and other operating systems, such as reactOS. Firefox is also available for Android and iOS. However, as with all other iOS web browsers, the iOS version uses the WebKit layout engine instead of Gecko due to platform requirements. An optimized version is also available on the Amazon Fire TV as one of the two main browsers available with Amazon's Silk Browser.

MDN Web Docs, previously Mozilla Developer Network and formerly Mozilla Developer Center, is a documentation repository and learning resource for web developers. It was started by Mozilla in 2005 as a unified place for documentation about open web standards, Mozilla's own projects, and developer guides.

Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independent of the user operating system, allowing web apps to run at near-native speeds, which aligns with Google's plans for ChromeOS. It may also be used for securing browser plugins, and parts of other applications or full applications such as ZeroVM.

<span class="mw-page-title-main">Rust (programming language)</span> General-purpose programming language

Rust is a general-purpose programming language emphasizing performance, type safety, and concurrency. It enforces memory safety, meaning that all references point to valid memory. It does so without a traditional garbage collector; instead, memory safety errors and data races are prevented by the "borrow checker", which tracks the object lifetime of references at compile time.

<span class="mw-page-title-main">Igalia</span> Spanish software consulting company

Igalia is a private, worker-owned, employee-run cooperative model consultancy focused on open source software. Based in A Coruña, Galicia (Spain), Igalia is known for its contributions and commitments to both open-source and open standards. Igalia's primary focus is on open source solutions for a large set of hardware and software platforms centering on browsers, graphics, multimedia, compilers, virtualization, embedded Linux, and device drivers.

<span class="mw-page-title-main">Pale Moon</span> Free and open-source web browser

Pale Moon is a free and open-source web browser licensed under the MPL-2.0 with an emphasis on customization. Its motto is "Your browser, Your way." There are official releases for Microsoft Windows, FreeBSD, macOS, and Linux.

<span class="mw-page-title-main">Firefox OS</span> Mobile operating system by Mozilla (2014–2017)

Firefox OS is a discontinued open-source operating system made for smartphones, tablet computers, smart TVs, and dongles designed by Mozilla and external contributors. It is based on the rendering engine of the Firefox web browser, Gecko, and on the Linux kernel. It was first commercially released in 2014.

<span class="mw-page-title-main">Waterfox</span> Open-source web browser based on Firefox

Waterfox is a free and open-source web browser and fork of Firefox. It claims to be ethical and user-centric, emphasizing performance and privacy. There are official Waterfox releases for Windows, macOS, Linux and Android. It was initially created to provide official 64-bit support, back when Firefox was only available for 32-bit systems.

Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.

<span class="mw-page-title-main">PDF.js</span> PDF viewer in JavaScript included in Mozilla Firefox

PDF.js is a JavaScript library that renders Portable Document Format (PDF) files using the web standards-compliant HTML5 Canvas. The project is led by the Mozilla Corporation after Andreas Gal launched it in 2011.

<span class="mw-page-title-main">Goanna (software)</span> Software

Goanna is an open-source browser engine and part of Unified XUL Platform that was forked from Mozilla's Gecko. It is used in the Pale Moon and Basilisk browsers. It underlies the Interlink mail client, Hyperbola's fork of Basilisk known as Iceweasel-UXP, and other UXP-based applications. It was also unofficially ported to Windows XP for the K-Meleon browser and Mypal.

<span class="mw-page-title-main">Firefox Focus</span> Free and open-source privacy-focused web browser by Mozilla

Firefox Focus is a free and open-source privacy-focused mobile browser by Mozilla, based on Firefox. It is available for Android and iOS smartphones and tablets. Its predecessor, Focus by Firefox, was released in December 2015 as a tracker-blocking application which worked only in conjunction with the Safari mobile browser on iOS. It was developed into a minimalist web browser in 2016 but retained this background blocking functionality. The Android version of the browser was first released in June 2017 and was downloaded over one million times in the first month. As of January 2017, it was available in 27 languages. The version released for German-speaking countries has telemetry disabled and is named Firefox Klar to avoid ambiguity with the German news magazine FOCUS.

<span class="mw-page-title-main">Basilisk (web browser)</span> Free and open-source web browser

Basilisk is a free and open-source web browser available for Windows, Linux, and with experimental support for FreeBSD and macOS. Basilisk is an updated fork of Firefox designed to look and feel similar to versions before the underlying backend was changed in version 57.

Boa is an open-source JavaScript engine written in Rust. Boa was introduced at JSConf EU 2019 by Jason Williams.

References

  1. 1 2 3 "Servo's new home". servo.org. Retrieved 17 November 2020.
  2. 1 2 "Servo code commit log". GitHub. Retrieved 30 April 2021.
  3. "servo/LICENSE". GitHub. Retrieved 5 December 2018.
  4. 1 2 Moffitt, Jack (17 April 2014). "Another Big Milestone for Servo—Acid2" . Retrieved 26 November 2015.
  5. "Servo Continues Pushing Forward". servo.org. 1 May 2015. Retrieved 26 November 2015.
  6. Bergstrom, Lars. "Mozilla's Project Quantum and Servo". mozilla.dev.servo - Google Groups. Retrieved 9 November 2016.
  7. Clark, Lin (10 October 2017). "The whole web at maximum FPS: How WebRender gets rid of jank". Mozilla Hacks – the Web developer blog. Retrieved 22 October 2017.
  8. 1 2 3 "Mozilla lays off 250 employees while it refocuses on commercial products". ZDNet . 11 August 2020. Retrieved 17 August 2020.
  9. 1 2 "Quantum". Mozilla Wiki. Retrieved 20 April 2017.
  10. 1 2 "Servo engines written in Rust deliver memory safety and multithreading". Mozilla Research. Retrieved 5 July 2020.
  11. "initial add · servo/servo@ce30d45". GitHub .
  12. "Add some stubs and a makefile · servo/servo@783455f". GitHub .
  13. Eich, Brendan (13 October 2012). "Add a new UI crate". GitHub . Retrieved 2 April 2014.
  14. "Mozilla and Samsung Collaborate on Next Generation Web Browser Engine".
  15. "Samsung teams up with Mozilla to build browser engine for multicore machines". Ars Technica. 3 April 2013. Retrieved 24 October 2014.
  16. Blumenkrantz, Mike; Bergstrom, Lars (13 May 2015). "Servo: The Embeddable Browser Engine - Samsung Open Source Group Blog". Samsung Open Source Group Blog. Archived from the original on 13 May 2015. Retrieved 28 October 2016.
  17. Dropping CEF support? , retrieved 7 November 2018
  18. Larabel, Michael (9 November 2014). "Mozilla's Servo Engine Is Crazy Fast Compared To Gecko". Phoronix. Retrieved 21 April 2021.
  19. Larabel, Michael (8 March 2016). "Mozilla's Servo Is Whooping The Other Browsers In Performance". Phoronix. Retrieved 21 April 2021.
  20. "A new browser for Magic Leap". blog.mozvr.com. 3 December 2018. Retrieved 20 May 2019.
  21. "Firefox Reality for HoloLens 2". 21 May 2020. Retrieved 17 July 2020.
  22. Sarkar, Amy (23 November 2023). "OpenAtom and Eclipse Foundation signs cooperation for Oniro software". HC Newsroom. Retrieved 11 February 2024.
  23. "Servo to Advance in 2023". servo.org. 16 January 2023. Retrieved 13 February 2023.
  24. "Servo 2023 Roadmap". servo.org. 3 February 2023. Retrieved 13 February 2023.
  25. Rudra, Sourav (5 February 2024). "Mozilla's Abandoned Web Engine 'Servo' Project is Getting a Well-Deserved Reboot in 2024". It's FOSS News. Retrieved 8 February 2024.