Servo (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Servo
64px
Original author(s) Mozilla Corporation
Developer(s) Linux Foundation and volunteers[1][2]
Stable release Lua error in Module:Wd at line 405: invalid escape sequence near '"^'. / Lua error in Module:Wd at line 405: invalid escape sequence near '"^'.; Error: first parameter cannot be parsed as a date or time. (Lua error in Module:Wd at line 405: invalid escape sequence near '"^'.)
Written in Rust
Operating system Cross-platform
Type Browser engine
License MPL 2.0[3]
Website {{#property:P856}}

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]

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 January 2023, the Servo project announced that new external funding had enabled a team of developers to reactivate the project.[22] The initial roadmap focused on selecting one of the two existing layout engines for further development, followed by working towards basic CSS2 conformance.[23]

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. 8.0 8.1 8.2 Lua error in package.lua at line 80: module 'strict' not found.
  9. 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.

External links