赞助 Servo 开发的一年
一篇关于 Servo 浏览器引擎在社区赞助下度过第一年的更新,引发了围绕在由 Google 的 Blink 主导的 Web 世界里开发新渲染引擎价值的争论。评论者强调了 Servo 在嵌入式 UI、无头渲染以及作为标准和测试平台引擎等利基角色中的当前优势,并将其与 Ladybird 等项目以及事实上的浏览器垄断风险进行对比。资金模式,包括华为和 NLnet 的支持,以及技术选择——例如复用 Mozilla 的 SpiderMonkey JS 引擎而不是用 Rust 重写——被视为 Servo 能否成熟为可行替代平台的关键因素。
Servo 的当前状态和用途
- 被认为尚未成为适用于任意网页使用的完整生产级浏览器引擎。
- 但已经可用于以下场景:
- 可嵌入的 WebView / Electron 替代方案(例如通过 Tauri 集成)。
- 作为自定义 UI 和电子墨水显示的无头渲染器,据称其内存占用和渲染时间都远低于无头 Chrome。
- 适用于受控环境的引擎(如自助终端、你控制页面的应用)。
- 用于 Web 平台测试和规范/WPT 验证的平台,从而改善长期互操作性。
- 作为专用应用的渲染后端(例如浏览器中的 CAD),以及潜在的电子邮件/PDF 类分页媒体,不过后者尚未得到证实。
浏览器多样性 vs Blink 垄断
- 一派认为:多个引擎会分裂兼容性;对 Web 最好的做法是集中资源到 Blink,并使用工具(例如 LLM)来对齐规范、测试和实现。
- 另一派反驳:垄断和企业控制(尤其是通过 Android 集成以及对竞争浏览器的行为)是危险的;多样性保护用户、竞争和标准。
- 对 Chromium 在实践中“可分叉性”有多大意义存在分歧,考虑到 Google 的规模和变化速度。
资金、赞助者与可持续性
- 一些评论者认为,应由一家主要设备厂商采用并资助 Servo,使其成为一个严肃选项。
- 也有人警告,企业赞助者会带来自己的议程;社区资助被视为更中立,但规模有限。
- 有人指出,严肃的浏览器开发需要大额且稳定的资金;仅靠社区捐赠通常无法支撑。
- 据报道,华为是关键赞助者,拥有一个小型全职团队,部分原因是制裁阻止其向受美国控制的引擎做贡献。
- 公共人物:一名维护者按每小时 150 美元计最多可获得每月 4,800 美元,一年合计约 53,000 美元。
与 Ladybird 的比较及项目策略
- 一些人认为,Servo 相比那些从零开始目标成为完整通用浏览器的项目,拥有更现实的近期定位(嵌入式/无头)。
- 对竞争项目的批评包括:
- 重写一切,而不是复用成熟的 Servo 组件。
- 频繁或被认为存在的语言/技术栈变动,以及 AI 辅助重写。
- 也有人为试验和逐步迁移到更安全的语言辩护。
- 少数人基于某些竞争项目的资助者提出伦理/政治上的反对意见。
技术架构争论
- Servo 目前通过 Rust 绑定使用 SpiderMonkey;有人希望有一个 Rust 原生的 JS 引擎以提升内存安全。
- 也有人认为:
- 依赖 JIT 的 JS 引擎很难实现,而且规模庞大。
- Rust 并不会自动让生成的机器码本身更安全。
- 目前仍在进行让 JS 引擎更具可插拔性并改善脚本执行安全性的工作。
- 对并行性的关注引发了不同反应:
- 怀疑者质疑在冯·诺依曼硬件上相比同步开销能有多大收益。
- 支持者认为,页面渲染时短时间使用所有核心是可取的,调度器可以与其他工作负载进行平衡。