요약
Servo 0.7.0에 progress 요소, 둥근 사각형 그리기, 새 CSS 함수가 들어갔습니다.
Rust로 만든 웹 엔진 Servo 프로젝트의 월간 소식입니다. 9월에 들어간 527개 커밋이 0.7.0 버전에 담겼고, 웹 표준 기능부터 임베딩 API(다른 앱에 엔진을 넣어 쓰는 인터페이스)까지 고루 바뀌었습니다.
왜 중요한가
- 실제 사이트 호환성이 넓어져 캔디 크러시 게임이 돌아가고, 실험 설정을 켜면 웹 문서 편집기에서도 키보드 입력이 됩니다.
- Servo를 앱에 넣어 쓰는 개발자는 포커스와 스로틀링 관련 API가 바뀌어 코드를 고쳐야 합니다.
핵심 내용
<progress>요소,:checked선택자(체크된 입력 요소를 고르는 CSS 규칙),user-select속성, CSSalpha()함수를 새로 지원합니다.- 캔버스에 둥근 사각형을 그리는
roundRect()와 SVG 텍스트 요소 등 DOM API도 늘었습니다. - 설정을 켜야 쓰는 WebGL2는 표준 적합성이 크게 나아졌고, 접근성·IndexedDB·자막 기능도 다듬었습니다.
- 숨겨진 WebView는 이제 자동으로 스로틀링(작업을 늦춰 자원을 아끼는 것)되어 수동 설정 API가 빠졌습니다.
- 불필요한 메모리 할당을 줄였고
<audio>·<video>메모리 누수와 여러 충돌·멈춤 문제를 고쳤습니다.
HN 반응
- AI가 만든 코드를 받지 않는 정책이 기여를 막는다는 비판과, 리뷰어가 이미 모자라 AI 기여는 부담만 키운다는 반론이 맞섰습니다.
- 안드로이드용 빌드가 있어 일상에서 써 볼 만하다는 경험담과 함께, Servo를 라이브러리로 써서 자기 브라우저를 만드는 이용자도 있었습니다.
Servo는 정말 훌륭합니다. 요즘 웹 엔진에 Rust를 쓰는 건 고민할 필요도 없는 선택 같고, 처음부터 성능을 중심에 두고 깔끔하게 설계한 점도 멋집니다.
그런데 가끔 들어오는 자원봉사자들의 기여만으로는 어디까지 갈 수 있을지 회의적입니다. 이번 릴리스 전까지 <progress>나 :checked 속성 같은 기본 기능조차 지원하지 않았다는 데 솔직히 꽤 놀랐습니다.
Servo는 커밋이 527개인데, Chromium은 2만 개가 넘습니다.
다른 분들도 말씀하셨듯이 이유의 일부는 이 정책입니다. https://book.servo.org/policy/ai-usage.html
브라우저 같은 프로젝트에서 이 정책은 사실상, 레이아웃 엔진을 건드리는 작업(예컨대 말로 설명하기는 어렵지만 훌륭한 https://github.com/servo/servo/blob/main/components/layout/flow/float.rs 같은 코드)에 기여할 수 있는 사람을 이미 코드에 익숙한 이들로만 제한합니다.
제 생각에는 훨씬 나은 절충안이 있습니다. 처음 커밋하는 사람은 'AI가 만든 PR은 리뷰하지 않는다'는 정책 안에 묶어 두고, 개발 흐름을 이해하고 존중해서 PR이 채택된 적이 있는 사람부터는 AI를 써서 팀에 힘을 보태도록 허용하는 겁니다. 이런 정책이 없으면 Servo는 사람들이 시간을 쏟을 수 있는 다른 어떤 오픈소스 프로젝트에도 밀려 뒤처질 텐데, 안타까운 일입니다.
Servo는 이미 리뷰어가 부족합니다. AI 기여를 받으면 그게 어떻게 도움이 됩니까?
2014년에 Rust를 알게 됐을 때 저는 신이 났습니다. 코딩의 미래가 그쪽으로 가는 게 너무나 당연해 보였거든요.
그리고 2026년인 지금은 LLM 때문에 신이 납니다. Rust와 AI의 조합은 말 그대로 막을 수 없는 힘이니까요.
렌더링 엔진계의 람보르기니를 만들면서 부품은 말에 실어 오지 않으면 받지 않겠다니, 안타깝습니다.
Servo는 이미 리뷰어가 부족합니다. AI 기여를 받으면 그게 어떻게 도움이 됩니까?
사이비 종교에 빠지셨네요.
AI를 써서 코드에 익숙해지면 안 되나요?
코드를 이해할 때쯤이면 변경을 쓰는 데 AI가 필요 없을 겁니다. AI를 쓸 가능성이 가장 높은 사람이 바로 처음 커밋하는 사람들이고요.
그건 FAQ에 나와 있습니다. AI가 도움이 될 수는 있지만, 코드에 대한 AI의 가정은 노이즈가 많거나 아예 틀린 경우가 흔합니다.
여기 나열된 도구를 보면 이 정책이 언제 처음 쓰였는지 대략 알 수 있습니다. 예를 들어 Windsurf는 사라진 지 오래고, Cursor도 이제 1티어가 아니니까요.
2년도 안 되는 사이에 AI 코딩 에이전트 판이 이렇게 변했다니 놀랍습니다.
네, 일종의 타임캡슐 같아서 재미있죠. 이 정책은 2024년 7월에 작성됐습니다 [1]. 2025년에는 이를 두고 논쟁이 벌어졌고, 논의 끝에 금지를 재확인했습니다 [2]. 그리고 2026년 6월에 금지를 다시 한번 못 박으면서 AI 공저자를 거부하는 CI 검사까지 추가했습니다 [3].
[1] https://github.com/servo/book/commit/5afb80d5b08b259ca359cfe0fd1355a3d4583c61
[2] https://github.com/servo/servo/discussions/36379
[3] https://servo.org/blog/2026/06/30/may-in-servo/
매번 이유는 달라도 그때그때 옳은 판단이었습니다.
2024년에는 도구가 형편없이 부족했고, 지금은 더 나아졌지만(여전히 수준이 떨어지고 장황하긴 해도) 안 그래도 모자란 리뷰어들에게 부당한 부담을 지웁니다.
커밋이 그만큼 적어도 WPT 통과율은 꾸준히 오르고 있습니다. https://servo.org/wpt/
어쩌면, 그러길 바라지만, Rust 덕분에 월 2만 커밋 없이도 더 안전한 브라우저를 유지할 수 있을지도 모릅니다.
WPT 100%를 달성한 뒤에 유지보수 부담이 어떨지 지켜봐야겠죠. 그리고 Rust가 가능하게 해 주는 안전한 동시성으로 성능 격차를 좁힐 수 있을지도요...
음, Servo는 2012년에 Rust가 처음 쓰이게 된 계기이자 실제 운영 사례였잖아요. 둘 다 그 무렵 Mozilla의 여러 사람이 함께 일한 결과물이고요.
게다가 프로젝트의 큰 부분이 거의 10년 전에 Firefox의 렌더러와 CSS 엔진 같은 부분을 대체했습니다.
Servo의 가치를 높게 보신다면 후원할 수 있다는 점을 기억해 주세요. 자세한 내용은 https://servo.org/sponsorship/ 에 있습니다.
Progress라는 말에 눈이 갔습니다.
저는 하다 말다 하는 프로젝트로 증분형 게임(incremental game)을 만들고 있는데, 사실상 프로그레스 바 수백 개가 전부입니다. 브라우저에는 좀 별난 부하죠.
Firefox에서는 모든 게 매끄럽고 부드럽게 렌더링됩니다.
Chrome은 버벅거리고, 페인트를 건너뛰고, 애니메이션 프레임을 지연시키고, 일부 이벤트는 건너뛰고 일부는 묶어서 처리합니다.
게임이 아직 Servo에 없는 기능을 몇 가지 쓰긴 하는데... 어쩌면 손봐서 돌려볼 수 있을지도요...
많은 사람이 (대체로) 무보수로 열정 프로젝트에 매달리는 모습을 보니 마음이 훈훈해집니다. 인간의 내적 동기가 얼마나 끈질긴지를 생각하면 낙관적인 기분이 듭니다.
일반 사용자로서 Servo에서 정말 도움이 된다고 느끼는 점 하나는 미리 빌드된 릴리스의 폭이 넓다는 것입니다. 덕분에 특히 안드로이드에서도 매일 쓰는 용도로 실제로 쓸 만해집니다.
와! 벌써 안드로이드 apk가 있다고요? 멋지네요!
HN 로그인 폼은 안 되는데, Servo는 되네요! :D
조금 전까지는 됐습니다(부모 댓글을 Servo에서 썼거든요). 그런데 꽤 금방 로그아웃되는 것 같습니다. 사람마다 다를 수 있고, 아직은 너무 중요한 곳에는 로그인하지 않는 게 좋겠습니다.
HN이 중요하다고는 생각 안 해요 :) 그래도 알려 주셔서 고맙습니다.
Servo의 진척은 인상적입니다. 더 쓸 만해지려면 UI를 다듬어야 합니다. 주소창으로 포커스를 옮기는 키보드 단축키 같은 것들이 있어야 일상용으로 쓰는 게 현실적으로 가능해집니다.
제가 알기로는 핵심 초점이 엔진, 그리고 사람들이 이 엔진으로 브라우저(그리고 앱이나 웹 드라이버 등)를 만들 수 있게 해 주는 좋은 임베딩 API를 만드는 데 있습니다.
저도 그렇게 알고 있습니다. 반면 Ladybird는 UI 영역이 정말 많이 좋아졌고, 최근 추가된 세션 복원, 콘텐츠 차단, 성능 개선 덕분에 일상용으로 쓰기에 충분히 괜찮은 브라우저가 됐습니다.
저는 Servo를 라이브러리로 써서 제 브라우저를 만들고 있어요! 연동하기가 정말 좋아요.
저는 macOS에서 gpui를 써서 Servo 기반 브라우저를 만들고 있어요: https://tangled.org/oppi.li/meridian/
Servo도 훌륭하지만 Ladybird가 이미 훨씬 앞서 있다고 생각합니다. 게다가 지금은 코드베이스를 Rust로 옮기는 중입니다(현재는 C++입니다).
Servo가 성공했으면 좋겠어요.
AI 기반 또는 AI 보조 기여를 허용하는, 유지보수되는 포크가 있나요?