Servo (software)

Last updated

Servo
Original author(s) Mozilla Corporation
Developer(s) Linux Foundation and volunteers [1] [2]
Stable release
0.22.0 [3]   OOjs UI icon edit-ltr-progressive.svg / 19 December 2019;4 years ago (19 December 2019)
Repository
Written in Rust
Operating system Cross-platform
Type Browser engine
License MPL 2.0 [4]
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. [5] [6] It also makes use of GPU acceleration to render web pages quickly and smoothly. [7] [8]

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. [9] This included the Quantum project, when portions of Servo were incorporated into the Gecko engine of Firefox. [10] [11]

After Mozilla laid off all Servo developers in 2020, [9] 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. [12] [13] The project was named after Tom Servo, a robot from the television show Mystery Science Theater 3000 . [14]

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

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

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

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". [9] 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 OpenHarmony for software development with Servo web engine as part of the open source project built on Rust language. [23]

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

Related Research Articles

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

XUL, which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner similar to web pages.

<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, or simply 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 or later versions, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD, OpenBSD, NetBSD, illumos, and Solaris Unix. It 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.

Cairo (graphics) Vector graphics-based software library

Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different backends. Cairo uses hardware acceleration when available.

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.

<span class="mw-page-title-main">Acid3</span> Online HTML rendering test

The Acid3 test is a web test page from the Web Standards Project that checks a web browser's compliance with elements of various web standards, particularly the Document Object Model (DOM) and JavaScript.

<span class="mw-page-title-main">Firefox for Android</span> Android web browser by Mozilla

Firefox for Android is a web browser developed by Mozilla for Android smartphones and tablet computers. As with its desktop version, it uses the Gecko layout engine, and supports features such as synchronization with Firefox Sync, and add-ons.

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

Rust is a multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency. It enforces memory safety—meaning that all references point to valid memory—without a garbage collector. To simultaneously enforce memory safety and prevent data races, its "borrow checker" tracks the object lifetime of all references in a program during compilation. Rust was influenced by ideas from functional programming, including immutability, higher-order functions, and algebraic data types. It is popular for systems programming.

<span class="mw-page-title-main">Firefox OS</span> Mobile operating system by Mozilla

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">PlayCanvas</span>

PlayCanvas is an open-source 3D game engine/interactive 3D application engine alongside a proprietary cloud-hosted creation platform that allows for simultaneous editing from multiple computers via a browser-based interface. It runs in modern browsers that support WebGL, including Mozilla Firefox and Google Chrome. The engine is capable of rigid-body physics simulation, handling three-dimensional audio and 3D animations.

<span class="mw-page-title-main">WebAssembly</span> Cross-platform assembly language and bytecode designed for execution in web browsers

WebAssembly defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating interactions between such programs and their host environment.

<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 IceWeasel, 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.

WebGPU is a JavaScript API provided by a web browser that enables webpage scripts to efficiently utilize a device's graphics processing unit (GPU). This is achieved with the underlying Vulkan, Metal, or Direct3D 12 system APIs. On relevant devices, WebGPU is intended to supersede the older WebGL standard.

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. "selectors-v0.22.0". 19 December 2019. Retrieved 17 February 2020.
  4. "servo/LICENSE". GitHub. Retrieved 5 December 2018.
  5. 1 2 Moffitt, Jack (17 April 2014). "Another Big Milestone for Servo—Acid2" . Retrieved 26 November 2015.
  6. "Servo Continues Pushing Forward". servo.org. 1 May 2015. Retrieved 26 November 2015.
  7. Bergstrom, Lars. "Mozilla's Project Quantum and Servo". mozilla.dev.servo - Google Groups. Retrieved 9 November 2016.
  8. 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.
  9. 1 2 3 "Mozilla lays off 250 employees while it refocuses on commercial products". ZDNet . 11 August 2020. Retrieved 17 August 2020.
  10. 1 2 "Quantum". Mozilla Wiki. Retrieved 20 April 2017.
  11. 1 2 "Servo engines written in Rust deliver memory safety and multithreading". Mozilla Research. Retrieved 5 July 2020.
  12. "initial add · servo/servo@ce30d45". GitHub .
  13. "Add some stubs and a makefile · servo/servo@783455f". GitHub .
  14. Eich, Brendan (13 October 2012). "Add a new UI crate". GitHub . Retrieved 2 April 2014.
  15. "Mozilla and Samsung Collaborate on Next Generation Web Browser Engine".
  16. "Samsung teams up with Mozilla to build browser engine for multicore machines". Ars Technica. 3 April 2013. Retrieved 24 October 2014.
  17. 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.
  18. Dropping CEF support? , retrieved 7 November 2018
  19. Larabel, Michael (9 November 2014). "Mozilla's Servo Engine Is Crazy Fast Compared To Gecko". Phoronix. Retrieved 21 April 2021.
  20. Larabel, Michael (8 March 2016). "Mozilla's Servo Is Whooping The Other Browsers In Performance". Phoronix. Retrieved 21 April 2021.
  21. "A new browser for Magic Leap". blog.mozvr.com. 3 December 2018. Retrieved 20 May 2019.
  22. "Firefox Reality for HoloLens 2". 21 May 2020. Retrieved 17 July 2020.
  23. Sarkar, Amy. "OpenAtom and Eclipse Foundation signs cooperation for Oniro software". HC Newsroom. HC Newsroom. Retrieved 11 February 2024.
  24. "Servo to Advance in 2023". servo.org. 16 January 2023. Retrieved 13 February 2023.
  25. "Servo 2023 Roadmap". servo.org. 3 February 2023. Retrieved 13 February 2023.
  26. 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.