GOSIM 항저우 2025에서 발표한 ‘Servo: Rust로 작성된 새로운 웹 엔진’의 슬라이드와 내용을 따라가며, Servo의 역사와 현재, 무엇이 특별한지, 로드맵과 비전, 그리고 참여·후원 방법까지 정리했습니다.
URL: https://blogs.igalia.com/mrego/servo-a-new-web-engine-written-in-rust/
Title: Servo: Rust로 작성된 새로운 웹 엔진
지난 주말 GOSIM Hangzhou 2025에서 Servo에 대해 발표할 기회를 가졌습니다. 제겐 아시아가 처음이었고, 가는 길은 길었지만 정말 멋진 경험이었습니다.
제 발표는 Servo: Rust로 작성된 새로운 웹 엔진이었고, 2023년에 Igalia가 프로젝트 유지보수를 맡은 이후의 진화를 중심으로 Servo 프로젝트를 소개하는 내용이었습니다. 발표는 다음과 같은 질문들에 답하려고 했습니다:

GOSIM 항저우 2025에서 진행한 제 Servo 발표 모습
또한 동료인 Martin Robinson과 Oriol Brufau도 GOSIM에서 A Dive Into the Servo Layout System이라는 제목으로 Servo 레이아웃 엔진에 대해 발표했습니다.
이 블로그 글에서는 발표의 모든 슬라이드를 따라가며, 발표에서 설명했던 다양한 내용을 정리하려고 합니다. 일종의 리더 뷰라고 할 수 있겠네요. 슬라이드를 직접 보고 싶다면 온라인에서 볼 수 있고, 발표 녹화도 있습니다.
GOSIM 항저우 2025에서 진행한 제 Servo 발표 영상

발표를 시작하며 청중에게 Servo를 아는 사람이 얼마나 되는지 물었습니다(몇 명). 그리고 Chrome, Safari, Firefox는 얼마나 아는지(대부분).

다음으로 저와 Igalia에 대한 간단한 소개를 했습니다. 이전 발표들과 크게 다르거나 특별할 것은 없습니다. 핵심은 제가 2023년부터 Servo 기술 운영 위원회(TSC) 의장을 맡고 있고, 개발자로서 프로젝트에 직접 코드를 작성하기보다는 조정 업무를 돕고 있다는 점입니다. Igalia에 관해서는 오픈소스 컨설턴시로서 수평 조직 구조를 가지고 있으며, 주요 웹 렌더링 엔진에 대한 상위권 기여자라는 점을 강조했습니다.

첫 번째 섹션은 Servo가 무엇인지를 간략히 설명합니다. 특히 아직 프로젝트를 모르는 분들을 위해, 브라우저인지 웹 엔진인지, 혹은 둘 다인지에 대한 혼란을 풀어봅니다.

여기서는 웹 브라우저와 웹 렌더링 엔진의 차이를 간단히 설명합니다. 두 용어가 헷갈린다면, 브라우저는 여러분이 사용하는 애플리케이션입니다. URL 바, 탭, 즐겨찾기, 방문 기록 등이 있는, 웹을 탐색할 수 있게 해주는 그래픽 크롬(껍데기)이죠. 반면 렌더링 엔진은 HTML과 그 외 리소스들(스타일, 자바스크립트 등)을 화면에 표시되는 시각적 표현으로 변환하는 브라우저의 구성 요소입니다.
브라우저와 렌더링 엔진의 예로는 Chrome–Blink, Safari–WebKit, Firefox–Gecko를 언급했습니다.
Servo에 관해서는 다음 두 가지가 모두 사실입니다.

여기서는 실제로 실행 중인 Servo의 영상을 보여주며, 청중이 더 잘 이해할 수 있도록 했습니다. 영상은 servoshell(Servo를 테스트하기 위한 최소 브라우저)에서 시작해 servo.org를 탐색합니다. 이어서 위키피디아를 열고 Python을 검색한 후, Python 프로그래밍 언어 페이지를 엽니다. 거기서 Python 웹사이트로 이동해 문서를 조금 둘러보고, 마지막으로 바이두 지도에서 GOSIM 컨퍼런스 장소를 검색합니다.

이 섹션의 목적은 최근 몇 년간의 Servo의 역사와 진화를 되짚어 보는 것입니다.

여기는 Servo 프로젝트 역사에 대한 간략한 요약입니다. 프로젝트는 2012년 Mozilla에서 시작되었습니다. 당시 Mozilla는 Rust 언어 자체를 개발 중이었고(어떤 의미에서는 Rust 언어가 충분히 훌륭한지 확인하기 위한 테스트 프로젝트로 Servo라는 웹 렌더링 엔진을 사용했습니다). 어쨌든 진정한 의미의 “새로운” 것은 아니지만, 수십 년 전 시작된 다른 웹 엔진들에 비하면 Servo는 훨씬 젊습니다.
2020년에 Mozilla는 Servo 팀 전체를 해고했고, 프로젝트를 Linux 재단으로 이전했습니다. 바로 그해 Servo 팀은 새로운 레이아웃 엔진 작업을 시작했습니다. 레이아웃 엔진은 웹 엔진에서 중요하고 복잡한 부분으로, 웹사이트의 다양한 요소들의 크기와 위치를 계산합니다. Servo는 새로운 레이아웃 엔진을 시작했는데, 이는 명세의 언어에 더 가깝고 다른 벤더들이 시도한 원칙들과 유사합니다(Blink의 LayoutNG, WebKit의 Layout Formatting Context). 이는 기존 레이아웃 엔진 설계상의 문제(예: float 같은 일부 CSS 기능을 제대로 구현하는 데 방해가 됨) 때문에 진행된 일이었습니다. 레이아웃 엔진 관점에서 보면, Servo는 꽤 “새로운” 엔진입니다.
2023년에는 Igalia가 Servo 프로젝트 유지보수를 맡았고, 몇 년간 활동이 미미했던 프로젝트를 다시 활성화하는 것을 주된 목표로 삼았습니다. 같은 해 프로젝트는 Linux Foundation Europe에 합류하며, 더 넓은 업계의 관심을 되찾고자 했습니다.
특기할 점은 프로젝트 커뮤니티가 완전히 새로워졌고, 요즘 Servo의 활동이 계속 증가하고 있다는 것입니다.

GitHub의 커밋 통계를 살펴보면, 앞서 설명한 내용이 드러납니다. 2021년과 2022년 사이 활동이 매우 낮았고, 최근 프로젝트의 활동이 되살아난 것을 볼 수 있습니다.

이전 차트를 조금 확대해 2018년 이후 머지된 PR 수를 보면(커밋이 아니라 PR 기준이므로, 하나의 PR에 여러 커밋이 있을 수 있어 차트는 앞선 것과 약간 다릅니다), 봇(dependabot, servo-wpt-sync 등)이 만든 PR은 제외했습니다. 여기서 보듯 최근 몇 년은 Servo에 매우 좋은 시기였습니다. 현재 우리는 2018년 수치를 훨씬 웃돌고 있으며; 머지된 PR 수, 월평균 기여자 수, 월 10개 이상의 PR을 머지한 기여자 수에서 거의 두 배에 달합니다. 아래는 동일 데이터를 표로 정리한 것입니다:
| 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | |
|---|---|---|---|---|---|---|---|---|
| PR 수 | 1,188 | 986 | 669 | 118 | 65 | 776 | 1,771 | 1,983 |
| 기여자 수 | 27.33 | 27.17 | 14.75 | 4.92 | 2.83 | 11.33 | 26.33/td> | 41.33 |
| 기여자 ≥ 10 | 2.58 | 1.67 | 1.17 | 0.08 | 0.00 | 1.58 | 4.67 | 6.33 |
범례:

다음으로 WPT 통과율을 확인합니다. WPT는 웹 플랫폼 테스트 모음으로, 모든 웹 엔진이 함께 사용하고 공유합니다. 거의 200만 개의 서브테스트로 구성되어 있으며, 차트는 2023년 4월(이때부터 측정을 시작) 이후 Servo의 변화를 보여줍니다. 2023년 상황은 꽤 좋지 않았지만, 오늘날 Servo는 170만 개 이상의 서브테스트를 통과하고 있습니다(우리가 실행하는 테스트의 92.7%이며, 여기에는 스킵된 일부 테스트는 포함하지 않습니다).
이 차트가 궁금하고 더 자세히 알고 싶다면 servo.org/wpt를 방문해 보세요.

레이아웃 엔진을 더 살펴보면, google.com이 2023년에 어떻게 렌더링되었는지(로고 없음, 버튼의 텍스트 없음, 텍스트 일부 누락, 아이콘 없음 등) 와 2025년에 어떻게 보이는지를 비교해 보여줍니다(이제는 다른 브라우저에서 볼 수 있는 모습에 훨씬 가깝습니다).
이는 새로운 레이아웃 엔진의 발전을 강조하고, 그 관점에서 Servo가 얼마나 “새로운지” 다시 한번 상기시킵니다.

이 섹션에서는 프로젝트를 특별하고 독보적으로 만드는 Servo의 특징들을 강조합니다.

무엇보다도 Servo는 Rust로 작성되었으며, 두 가지 매우 특별한 특성이 있습니다:
여기서 강조하고 싶은 것은 Servo가 Rust로 작성된 유일한 웹 엔진이라는 점(다른 엔진들은 C++ 사용)과, 전반에 걸쳐 병렬성을 활용하는 유일한 엔진이라는 점입니다(Stylo와 WebRender처럼 Firefox와 일부 컴포넌트를 공유하더라도, 예컨대 레이아웃 엔진에서 병렬성을 사용하는 것은 Servo뿐입니다).
이 모든 것은 Servo를 다른 대안들과 차별화하는 요소입니다.

또 다른 중요한 특징은 독립성입니다. Servo는 Linux Foundation Europe 산하에 호스팅되며 TSC가 공개적으로 관리합니다. 이는 대기업(Apple, Google, Mozilla 등)이 통제하고, Google 검색 계약과 광고라는 단일한 자금원에 의존하는 다른 웹 엔진들과 대비됩니다.
이 점에서 Servo는 개방형 웹의 밝은 미래를 위한 새로운 기회를 제공합니다.

언급할 만한 Servo의 다른 특징들:

다음 섹션은 Servo의 계획과 장기 비전에 대해 이야기하며, 최근 Servo 커뮤니티가 해 온 활동에 초점을 맞춥니다.

Servo는 R&D 프로젝트(Mozilla가 원래 그렇게 만들었음) 에서 프로덕션 준비가 된 웹 렌더링 엔진으로 전환 중입니다. 가야 할 길이 길고 아직 걷는 중이지만, 사용자가 자사 제품을 위한 현실적인 대안으로 Servo를 고려하는 것이 주된 목표입니다.
최근 개발 사항 중 일부를 소개합니다. 커뮤니티가 매우 크고 다양한 일을 하고 있으므로 이 외에도 많지만, 여기서는 중요한 것들만 간추렸습니다.

Servo 거버넌스 측면에서도 최근 변화가 있었습니다. TSC에 몇 가지 제한을 도입하여, Servo의 독립적이고 합의 주도형 프로젝트로서의 지위를 공식화했습니다. 이 변화는 TSC 최대 구성원 수를 제한하고, 동일 조직에서의 표 수를 제한합니다.
또한 TSC는 프로젝트 내 협업 단계를 기여자, 유지관리자, TSC 구성원, 관리자 등으로 정의했습니다. 이 체계를 마련한 지 1년이 채 되지 않았지만, 여러 사람이 이 역할들에 합류했습니다(기여자 12명, 유지관리자 22명, TSC 구성원 17명, 관리자 5명). 모두의 놀라운 작업에 감사드립니다!
자세한 내용은 GitHub의 Servo 프로젝트 거버넌스 리포지터리에서 확인할 수 있습니다.

다음 몇 달 동안 Servo 커뮤니티의 계획은 다음과 같습니다. 주요 사항은 다음과 같습니다:
자세한 내용은 Servo의 로드맵 위키를 확인하세요. 현재 Servo 커뮤니티에서 논의 중이므로, 몇 주 안에 업데이트가 있을 수 있습니다.

여기서는 몇 년 뒤를 내다보며 프로젝트로서 Servo가 하고자 하는 일을 살펴봅니다. Servo의 비전은 다음과 같이 요약할 수 있습니다:
야심찬 목표로, Servo 기반의 범용 웹 브라우저도 상상해 볼 수 있습니다. 물론 이는 수년간의 투자가 필요합니다.

발표를 마무리하며, 서로 다른 프로필의 사람들이 프로젝트를 도울 수 있는 방법을 몇 가지 소개했습니다.

하나는 기여자로 프로젝트에 합류하는 것입니다. 개발자이거나 Servo에 관심 있는 조직이라면, GitHub 조직을 방문해 질문을 남기거나 Zulip 채팅에서 대화하고, 이메일을 보내 참여하실 수 있습니다.
Servo는 새로운 기여자에게 매우 환영하는 분위기이며, 프로젝트를 중심으로 건강한 생태계를 키우는 것을 목표로 하고 있습니다.

일반 사용자로서 할 수 있는 또 다른 방법은 Servo를 다운로드하고 이슈를 보고하거나, 프로젝트의 GitHub 토론에 참여하는 것입니다.
나이트리 빌드 바이너리가 있어 손쉽게 Servo를 사용해 보고 경험을 들려줄 수 있습니다.

물론 프로젝트를 돕는 또 다른 방법은 프로젝트에 대해 이야기하고 소식을 널리 알리는 것입니다. 우리는 소셜 미디어에 주간 업데이트를 올리고, 프로젝트의 진척을 매우 자세히 담은 월간 블로그 글을 씁니다. 때때로 발표나 특정 주제의 블로그 글 같은 다른 콘텐츠도 제작합니다.
**servo.org, Mastodon, Bluesky, LinkedIn**에서 Servo를 팔로우해 주세요.

그리고 마지막으로, 개인이나 조직으로서 Servo 프로젝트에 후원할 수도 있습니다. 방법은 두 가지입니다: GitHub Sponsors와 Open Collective. 특별한 필요가 있다면 언제든지 프로젝트에 연락하거나 Igalia에 문의해 주세요.
Servo를 후원해 주신 모든 분들과 기업들께 진심으로 감사드립니다. 지금까지 모금액을 다음과 같이 사용했습니다:

마지막으로 감사 인사를 전하며, Servo 홈페이지로 연결되는 QR 코드를 소개하며 발표를 마쳤습니다.
발표 후 청중으로부터 질문이 하나 있었습니다. Servo가 충분히 성숙해지면 Mozilla가 Gecko를 Servo로 대체하는 것을 고려할 수 있겠냐는 질문이었습니다. 제 대답은, Mozilla가 Servo를 시작했을 당시에는 아마 그런 계획이 있었을 것이라고 믿지만, 이제는 프로젝트에서 손을 뗀 상황이라 그런 일이 일어날지 불분명하다는 것이었습니다. 물론 그런 일이 미래에 일어난다면 정말 멋질 것입니다.
발표 후 몇 분이 찾아와 발표 내용에 대해 이야기하고 프로젝트 작업에 대해 축하해 주셨습니다. 모두 감사합니다!