Freenginx:Nginx 核心开发者宣布分叉

一位核心 Nginx 开发者在与公司所有者 F5 就安全政策发生冲突后创建了名为 Freenginx 的分叉,争议焦点尤其是是否应为 Nginx 实验性的 HTTP/3 代码中的漏洞分配 CVE。评论者认为,这次分裂象征着志愿维护者与关键开源基础设施公司控制之间更深层的紧张关系,也引发了对披露实践、商标和项目治理的质疑。许多人正在考虑继续使用 Nginx、转向这个新分叉,还是改用 Caddy、HAProxy 或 Angie 等替代方案。

分叉原因与治理争议

  • 这个分叉(“Freenginx”)被描述为对非技术性的公司管理(F5)越过 nginx 长期以来的安全政策和开发者偏好的回应。
  • 直接导火索似乎是 F5 就实验性的 HTTP/3/QUIC 代码中的一个 bug 发布了安全通告和 CVE,而主维护者并不希望这样做,认为它应当按照既有政策被视为普通 bug。
  • 一些评论者认为这是一场“怒而分叉”;另一些人则认为,这是真正对开源项目控制权丧失以及长期积累的冲突作出的反应,而不只是一个 CVE 引发的事件。

CVE 与安全政策之争

  • F5 安全团队认为他们遵守了 CVE 规则,实验性但已发布的功能属于范围内,HTTP/3 已经在生产环境中使用,用户必须被告知。
  • 反对观点认为:为实验性、非默认功能(或仅限 DoS 的 bug)分配 CVE 会增加噪音,助长 CVE “游戏化”,并给下游带来低价值的“安全”工作负担。
  • 还有更广泛的批评认为,CVE 数量被当作 KPI,安全流程可能变得强硬且政治化。

现有分叉、许可与命名

  • 另一个 nginx 分叉 Angie 已经存在,由一家营利公司运营,采用 CLA 和“专业版”;一些人对这种模式心存疑虑,担心未来可能出现许可证变更。
  • Freenginx 保留原始的两句 BSD 许可证,并使用 Mercurial,托管在 GitHub 之外。
  • 不少人提到 F5 拥有 nginx 商标,并预期会有域名/名称冲突;因此出现了许多重命名建议。也有人认为跨国执法不太可能,但可能会影响 .org 域名。

替代方案与迁移讨论

  • 许多人在讨论迁移到,或已经迁移到 HAProxy、Caddy、Traefik、lighttpd,甚至 Apache httpd,具体取决于静态文件服务、简洁性或高级负载均衡等需求。
  • Caddy 因自动 TLS 和更简单的配置而屡获好评,但其生态受到对 nginx 示例的“文档锁定”影响。

技术与生态担忧

  • 关于 nginx 的各种技术抱怨包括:重载时 HTTP/1.1 持久连接断开、历史上的 request smuggling 问题(据称已修复并加固)、缺少 HTTP/2 上游支持,以及一些“遗留”默认值。
  • 也有人为 nginx 的稳定性、性能和“够用”的功能集辩护;对许多用例来说,即使是多年以前的 nginx 也完全足够。
  • 多位评论者担心关键基础设施依赖一两位核心开发者,但也指出开源和分叉提供了一条前进路径,尽管资金和可持续性仍是挑战。