Servo (software)

(Redirected from Servo layout engine)

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]

Servo
Original author(s)Mozilla Corporation
Developer(s)Linux Foundation and volunteers[1][2]
Stable release
0.22.0[3] Edit this on Wikidata / 19 December 2019; 4 years ago (19 December 2019)
Repository
Written inRust
Operating systemCross-platform
TypeBrowser engine
LicenseMPL 2.0[4]
Websiteservo.org Edit this on Wikidata

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 edit

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]

References edit

  1. ^ a b c "Servo's new home". servo.org. Retrieved 17 November 2020.
  2. ^ a b "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. ^ a b 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. ^ a b c "Mozilla lays off 250 employees while it refocuses on commercial products". ZDNet. 11 August 2020. Retrieved 17 August 2020.
  10. ^ a b "Quantum". Mozilla Wiki. Retrieved 20 April 2017.
  11. ^ a b "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.

External links edit