赞助 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 引擎更具可插拔性并改善脚本执行安全性的工作。
  • 对并行性的关注引发了不同反应:
    • 怀疑者质疑在冯·诺依曼硬件上相比同步开销能有多大收益。
    • 支持者认为,页面渲染时短时间使用所有核心是可取的,调度器可以与其他工作负载进行平衡。