Servo (software)
{{short description|Experimental browser engine}}
{{Use dmy dates|date=December 2017}}
{{Infobox software
| name = Servo
| logo = Servo Logo.svg
| logo size = 64px
| screenshot = File:Servo showing wiki - 12 Dec 2024.png
| caption = Servo shell rendering this page
| author = Mozilla Corporation
| developer = Linux Foundation Europe and volunteers
| genre = Browser engine
| license = MPL 2.0{{cite web |title=servo/LICENSE |url=https://github.com/servo/servo/blob/main/LICENSE |website=GitHub |access-date=5 December 2018 |ref=license}}
| latest_preview_version =
| latest_preview_date = {{release date and age|df=yes|2018|08|29}}
| programming_language = Rust
| operating_system = Cross-platform
}}
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.{{Cite web |url= https://blog.mozilla.org/research/2014/04/17/another-big-milestone-for-servo-acid2/ |last= Moffitt |first= Jack |date=17 April 2014 |title= Another Big Milestone for Servo—Acid2 |access-date= 26 November 2015}}{{Cite web |url= https://servo.org/blog/2015/05/01/forward/ |website=servo.org |date=1 May 2015 |title= Servo Continues Pushing Forward |access-date= 26 November 2015}} It also makes use of GPU acceleration to render web pages quickly and smoothly.{{cite web|last1=Bergstrom|first1=Lars|title=Mozilla's Project Quantum and Servo|url=https://groups.google.com/forum/m/#!topic/mozilla.dev.servo/3bH1KaqJq0s|website=mozilla.dev.servo - Google Groups|access-date=9 November 2016}}{{cite web|last1=Clark|first1=Lin|title=The whole web at maximum FPS: How WebRender gets rid of jank|url=https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/|website=Mozilla Hacks – the Web developer blog|access-date=22 October 2017|date=10 October 2017}}
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. This included the Quantum project, when portions of Servo were incorporated into the Gecko engine of Firefox.{{cite web|url=https://wiki.mozilla.org/Quantum|title=Quantum|website=Mozilla Wiki|access-date=2017-04-20}}{{Cite web|title=Servo engines written in Rust deliver memory safety and multithreading|url=https://research.mozilla.org/servo-engines|access-date=2020-07-05|website=Mozilla Research|language=en-US|archive-date=2020-06-11|archive-url=https://web.archive.org/web/20200611192314/https://research.mozilla.org/servo-engines/|url-status=dead}}
After Mozilla laid off all Servo developers in 2020, governance of the project was transferred to Linux Foundation Europe. Development work officially continues at the same GitHub repository with the project itself entirely volunteer driven.{{cite web |title=Servo code commit log |url=https://github.com/servo/servo/commits/main |website=GitHub |access-date=30 April 2021}}
History
Development of Servo began at the Mozilla Corporation in 2012.{{cite web|url=https://github.com/servo/servo/commit/ce30d4520d67f2c6ef960571a9b3e450c5dcbebe|title=initial add · servo/servo@ce30d45|website=GitHub }}{{cite web|url=https://github.com/servo/servo/commit/783455f684bc613dba25d5c2e54157c336093f35|title=Add some stubs and a makefile · servo/servo@783455f|website=GitHub }} The project was named after Tom Servo, a robot from the television show Mystery Science Theater 3000.{{Cite web |last=Eich|first=Brendan |date=13 October 2012 |title=Add a new UI crate|website=GitHub |url=https://github.com/mozilla/servo/issues/111#issuecomment-9415000|access-date=2 April 2014}}
In 2013, Mozilla announced that Samsung was collaborating on the project.{{cite web|url=https://blog.mozilla.org/blog/2013/04/03/mozilla-and-samsung-collaborate-on-next-generation-web-browser-engine/|title=Mozilla and Samsung Collaborate on Next Generation Web Browser Engine}} Samsung's main contribution was porting Servo to Android and ARM processors.{{Cite news |url=https://arstechnica.com/information-technology/2013/04/samsung-teams-up-with-mozilla-to-build-browser-engine-for-multicore-machines/ |title=Samsung teams up with Mozilla to build browser engine for multicore machines |publisher=Ars Technica |date=3 April 2013 |access-date=24 October 2014}} A Samsung developer also attempted to re-implement the Chromium Embedded Framework API in Servo,{{Cite news|archive-url=https://web.archive.org/web/20150513190529/https://blogs.s-osg.org/servo-the-embeddable-browser-engine/|url-status=dead|archive-date=2015-05-13|url=https://blogs.s-osg.org/servo-the-embeddable-browser-engine/|title=Servo: The Embeddable Browser Engine - Samsung Open Source Group Blog|last1=Blumenkrantz|first1=Mike|date=13 May 2015|last2=Bergstrom|first2=Lars|newspaper=Samsung Open Source Group Blog|language=en-US|access-date=28 October 2016}} but it never reached fruition and the code was eventually removed.{{Citation|url=https://groups.google.com/forum/#!topic/mozilla.dev.servo/5MHDnfMya3s|title=Dropping CEF support?|language=en-US|access-date=7 November 2018}}
The Acid2 test was passed in 2014, and Servo could render some websites faster than the Gecko engine of Firefox.{{cite web|last1=Larabel|first1=Michael|title=Mozilla's Servo Engine Is Crazy Fast Compared To Gecko|url=https://www.phoronix.com/scan.php?page=news_item&px=MTgzNDA|website=Phoronix|date=9 November 2014|access-date=21 April 2021}} By 2016, the engine had been further optimized.{{cite web|last1=Larabel|first1=Michael|title=Mozilla's Servo Is Whooping The Other Browsers In Performance|url=https://www.phoronix.com/scan.php?page=news_item&px=Google-Servo-Perf-Comparison|website=Phoronix|date=8 March 2016|access-date=21 April 2021}} The same year, Mozilla began the Quantum project, which incorporated stable portions of Servo into Gecko.
Servo was the engine of two augmented reality browsers. The first was for a Magic Leap headset in 2018.{{cite web |url=https://blog.mozvr.com/a-new-browser-for-magic-leap/ |title=A new browser for Magic Leap |website=blog.mozvr.com|date=2018-12-03 |access-date=2019-05-20}} Then the Firefox Reality browser was released in 2020.{{cite web |url=https://blog.mozvr.com/firefox-reality-hololens/ |title=Firefox Reality for HoloLens 2 |date=2020-05-21 |access-date=2020-07-17}}
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".{{cite web |url=https://www.zdnet.com/article/mozilla-lays-off-250-employees-while-it-refocuses-on-commercial-products/ |title=Mozilla lays off 250 employees while it refocuses on commercial products |website=ZDNet |date=2020-08-11 |access-date=2020-08-17}} Governance of the Servo project was thus transferred to Linux Foundation Europe.{{Cite web|title=Servo's new home|url=https://servo.org/blog/2020/11/17/servo-home/|access-date=2020-11-17|website=servo.org}}
In October 2021, Eclipse Foundation launched Oniro 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.{{cite web |last1=Sarkar |first1=Amy |title=OpenAtom and Eclipse Foundation signs cooperation for Oniro software |url=https://www.huaweicentral.com/openatom-and-eclipse-foundation-signs-cooperation-for-oniro-software/ |website=HC Newsroom |date=23 November 2023 |access-date=11 February 2024}}
In January 2023, the Servo project announced that new external funding had enabled a team of developers to reactivate the project.{{cite web|url=https://servo.org/blog/2023/01/16/servo-2023/|title=Servo to Advance in 2023|website=servo.org|date=2023-01-16|access-date=2023-02-13}} The initial roadmap focused on selecting one of the two existing layout engines for further development, followed by working towards basic CSS2 conformance.{{cite web|url=https://servo.org/blog/2023/02/03/servo-2023-roadmap/|title=Servo 2023 Roadmap|website=servo.org|date=2023-02-03|access-date=2023-02-13}} In February 2024, at FOSDEM 2024, the Servo Project team outlined their plans for a 'reboot' of Servo.{{Cite web |last=Rudra |first=Sourav |date=2024-02-05 |title=Mozilla's Abandoned Web Engine 'Servo' Project is Getting a Well-Deserved Reboot in 2024 |url=https://news.itsfoss.com/servo-rust-web-engine/ |access-date=2024-02-08 |website=It's FOSS News |language=en}}
References
{{Reflist}}
External links
{{Commons category|Servo (layout engine)}}
- {{Official website}}
- [https://changelog.com/podcast/228 2016 podcast about Servo]
{{Web browser engines}}
{{Mozilla}}
{{Linux Foundation}}
Category:Free software programmed in Rust