Servo 第一个由捐款资助的兼职岗位满一年,评审了 1150 个 pull request,提名 8 位新 maintainer,给新贡献者开的 114 个任务里 92% 已经修复。这个岗位完全由月度捐款支撑,资助方是没有公司名的个体捐助者群体。一年下来,这条小规模全职维护路线在开源治理上给出了一个可参考的样本。
这一年具体做了什么
岗位从 2025 年 9 月启动,由一名长期 maintainer 兼职担任,资金来自开放协作平台和代码托管平台的月度捐款渠道。过去一年他把主要精力放在三件事上。
第一是评审与关口。1150 个 pull request 意味着平均每个工作日处理四到五个,涵盖功能改动、测试修复和依赖升级。
第二是降低新人的门槛。为新贡献者专门提交 114 个任务,其中 92% 已完成,另外写了多份文档,主题包括借用风险、实验性特性、AI 政策、如何找到可做的任务,以及怎么诊断偶发的测试失败。
第三是处理烦人的底层问题。支持 JavaScript 引擎集成的大规模重写,清理偶发的垃圾回收崩溃,排查被破坏的窗口打开行为,稳定大量不稳定测试。
工程产出的量化侧面
仓库之外,几个测试与性能数字能反映这一年的推进节奏。该项目每月提交数百个更改,44 月的一次更新里,二维画布改多线程后帧率最高提升 55%,每帧功耗最多下降 42%。文本渲染在同内容不同字号场景下最高快了 10 倍。外壳程序启动时间减半,Android 支持从上个版本扩展到更多机型。
构建一个浏览器引擎的难点在于长尾。渲染只是入口,布局、字体、可访问性、多媒体、测试矩阵,每一块都要人守着。测试失败排查占了岗位描述里不小的份量,这类工作很难外包给社区志愿者,却又直接影响项目能不能发版。
治理与资助模式
这个岗位的资金渠道和公司赞助分开。捐款来自个人月度捐助,企业赞助走单独的赞助层级体系,从月度 100 美元到 1 万美元分档,官方强调不附带条件,资金用途由技术指导委员会公开流程决定。这种设计把话语权和出资分开,避免资助方左右技术路线。
对上一年全年 7824 美元月度捐款的规模来说,一个兼职岗位已经是极限。资助方的期望管理很重要,这个模式的扩张空间在社区捐款基数。
与 Firefox 体系的关系
项目在 2020 年从早期发起公司转移出来,现在归入基金会体系,由技术指导委员会治理,采用 Rust 模块化架构,可以嵌入 WebView 使用。它与 Firefox 的 Gecko 是两条独立技术路线,但渲染相关的部分有多年的技术渊源。
值得跟踪的进展在于移动端。Android 支持的机型范围扩大,Linux 的 aarch64 二进制也有了,嵌入式设备方向在官网被列入可移植目标。这些方向给需要自研浏览器的团队提供了 Gecko 和 WebKit 之外的第三个选项,尤其在对内存占用和模块化有要求的场景。
采用时的现实考量
想嵌入这款引擎的项目要接受几个前提。版本还很早期,接口会变,文档里明确提醒实验性特性不稳定。通过的 Web 测试比例官方没有公布可采信数字,与成熟引擎的兼容差距仍然存在。社区的维护带宽依赖捐款规模,功能优先级受资金约束。
评估时的合理做法是看目标场景。对渲染一致性要求高的通用浏览器场景,短期还不适合做主引擎。内置在设备、工控、仪表这类可控页面的场景,模块化和可嵌入能力的价值更明显。
常见问题
- 能当日常浏览器用吗。还不能,测试覆盖率与功能完整度和成熟引擎有差距。
- 和 Firefox 什么关系。共享历史渊源,技术路线独立,由不同组织治理。
- 想贡献代码从哪开始。项目专门给新人准备了任务清单,文档里也写了怎么找任务和诊断测试失败。
- 商业公司能用吗。可以,有赞助层级和嵌入接口,许可为 MPL。