HyperbolaBSD 与 FreeBSD、OpenBSD、NetBSD 区别与联系

HyperbolaBSD 与 FreeBSD、OpenBSD、NetBSD 这三大传统 BSD 系统相比,有本质性的区别。这些差异不仅体现在技术层面,更体现在哲学理念、许可证策略、开发目标和系统定位上。以下是详细对比:

一、许可证哲学:GPL vs BSD 许可证

这是最根本的区别。
维度 HyperbolaBSD FreeBSD / OpenBSD / NetBSD
许可证 GPL v3 / LGPL v3(计划替换所有非 GPL 兼容代码) BSD / ISC 许可证
代码公开要求 强制要求衍生作品也必须开源 允许闭源修改和商业专有使用
代码合并限制 只能与兼容许可证的代码合并 可与几乎任何许可证的代码混合
HyperbolaBSD 团队明确表示,他们选择 GPL 是因为"强烈支持自由软件运动,希望未来代码永远保持在公共领域"。

这与传统 BSD 的"宽松许可证"哲学完全相反——BSD 许可证允许任何人(包括商业公司)拿代码去做闭源产品而不回馈社区。

实际影响:HyperbolaBSD 无法直接合并传统 BSD 系统中的大量代码,必须重写或替换所有 GPL 不兼容的部分,这也是项目进展缓慢的核心原因之一。

二、系统定位:操作系统 vs 发行版

维度 HyperbolaBSD 传统 BSD
定位 完整操作系统(不是发行版) 完整操作系统
包管理策略 极简基础系统 + 独立 ports 树,不追求软件数量 完整的 ports/packages 生态(FreeBSD 约 4 万个包)
额外软件 仅保留最重要的应用和窗口管理器,其余移入 ports 尽可能提供丰富的第三方软件
HyperbolaBSD 明确声明自己"是一个自由且自由的系统,但不分发越来越多的软件包"。

这与 FreeBSD(追求功能和性能)、OpenBSD(追求安全但仍有丰富生态)形成鲜明对比。


三、技术架构差异

1. 内核

  • HyperbolaBSD:HyperBK(Hyper Berkeley Kernel),OpenBSD 7.0 的硬分支,计划逐步替换非自由代码
  • FreeBSD:自有内核,强调性能和可扩展性,支持 ZFS、Jails、bhyve 等
  • OpenBSD:自有内核,以安全为最高优先级,每半年代码审计
  • NetBSD:自有内核,追求极致可移植性,支持 50+ 种硬件架构

2. 工具链与构建系统

组件 HyperbolaBSD 传统 BSD
构建系统 FreeBSD bmake 各自原生构建系统
C 标准 GNU C17(从 C99 升级) 各自标准
binutils 2.34(从 2.17 升级) 较新版本
GCC 8.4.0(从 4.2.1 升级) 较新版本
HyperbolaBSD 在工具链上做了大量回溯移植工作,这是其 pre-alpha 阶段的核心任务。

3. 用户空间组件

组件 HyperbolaBSD 对应传统 BSD 组件
Hyperman pacman 的硬分支(包管理器) pkg (FreeBSD) / pkg_add (OpenBSD)
hypertools libretools 的硬分支 各自构建工具
HyperBLibC BSD LibC 的分支 原生 LibC
HyperRC OpenRC 的分支(初始化系统) rc.d (FreeBSD/OpenBSD) / runit (计划中)
Xenocara 从 OpenBSD 移植 原生 Xenocara (OpenBSD)

四、软件自由度的极端立场

HyperbolaBSD 在软件自由方面的要求远超传统 BSD:
政策 HyperbolaBSD 传统 BSD
非自由固件/blob 完全移除 OpenBSD 也移除,但 FreeBSD 包含部分闭源驱动
Rust 代码 明确拒绝 积极采纳(尤其 OpenBSD 在探索 Rust)
Java 代码 明确拒绝 可用
Qt/GTK 对 Qt 和 GTK 都有保留意见 广泛使用
现代浏览器 Iceweasel-UXP 已移除,无现代浏览器 Firefox、Chromium 等可用
systemd 明确反对 FreeBSD 不用,但 Linux 兼容层可运行
团队拒绝 Rust 和 Java 的理由包括:严格的商标政策限制修改自由、安全历史问题、以及多语言生态会分散开发精力。


五、开发成熟度与生态

维度 HyperbolaBSD FreeBSD OpenBSD NetBSD
开发阶段 Pre-alpha(截至 2024 年中) 成熟,14.x 稳定版 成熟,7.5 稳定版 成熟,10.x 稳定版
首次发布 尚未发布(2019 年宣布) 1993 年 1996 年 1993 年
架构支持 仅 x86(i686/x86_64) 多种架构 多种架构 50+ 种架构
软件包数量 极简(计划进一步缩减) ~40,000 ~10,000+ pkgsrc 跨平台
商业应用 Netflix、Sony、Apple 等 金融机构、政府机构 嵌入式、研究
社区规模 极小

六、核心差异总结

对比维度 HyperbolaBSD FreeBSD OpenBSD NetBSD
首要目标 极致软件自由 + 技术解放 性能 + 功能丰富 安全 + 代码正确性 可移植性
许可证 GPL v3 BSD ISC/BSD BSD
内核来源 OpenBSD 7.0 硬分支 自有 自有 自有
代码策略 替换所有非 GPL 代码 接受多种许可证 偏好 BSD/ISC,接受 GPL 避免受限许可证
现代语言 仅 C/C++,拒绝 Rust/Java 接受 Rust 等 探索 Rust 接受多种
软件生态 极度精简 丰富 适中 适中
实用程度 目前不可用 生产级 生产级 生产级

七、一句话概括

FreeBSD 是"做最多事的 BSD",OpenBSD 是"最安全的 BSD",NetBSD 是"跑在最广硬件上的 BSD",而 HyperbolaBSD 是"最自由的 BSD"——它为了软件自由的纯粹性,愿意牺牲兼容性、生态丰富度和开发速度。
HyperbolaBSD 更像是一个理念驱动的实验性项目,而非传统意义上的实用操作系统。它的价值在于探索"一个完全 GPL 化的 BSD 系统是否可行",以及为其他项目提供模块化、可复用的自由代码。但如果你需要一个现在就能用的 BSD 系统,FreeBSD、OpenBSD 或 NetBSD 是更现实的选择。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注