HyperbolaBSD 是一个相当独特且雄心勃勃的操作系统项目。以下是关于它的详细介绍:
项目背景与起源
HyperbolaBSD 源自 Hyperbola GNU/Linux-libre 项目。Hyperbola 最初是一个基于 Arch Linux 快照、结合 Debian 安全补丁的 GNU/Linux 发行版,于 2017 年启动,遵循 KISS(Keep It Simple Stupid)原则和长期支持(LTS)模型,并获得了自由软件基金会(FSF)的完全自由系统认证。
2019 年 12 月,Hyperbola 团队宣布了一个重大决定:由于不满 Linux 内核的发展方向,他们将放弃 Linux,转而开发一个全新的 BSD 后代操作系统,即 HyperbolaBSD。
核心理念与目标
HyperbolaBSD 不是传统意义上的"发行版"(distribution),而是一个完整的操作系统(operating-system)。
它的核心目标包括:
-
完全软件自由:所有代码必须符合严格的自由软件标准,移除任何非自由固件、二进制 blob 或 GPL 不兼容的代码
-
技术解放(Technical Emancipation):让用户完全掌控系统的每个方面,不接受任何非自由接口
-
模块化与极简主义:系统高度模块化,便于其他项目复用代码
-
长期稳定支持:遵循 LTS 模式,注重安全性和稳定性而非追新
技术路线与架构
内核:HyperBK(Hyper Berkeley Kernel)
HyperbolaBSD 的内核名为 HyperBK,是 OpenBSD 7.0 内核的硬分支(hard fork)。
开发团队计划:
-
将 x86 系统的工具链从 binutils 2.17/GCC 4.2.1 升级到 binutils 2.34/GCC 8.4.0
-
从 GNU C99 标准迁移到 GNU C17
-
适配使用 FreeBSD 的 bmake 构建系统
-
用简化 BSD 许可证(Simplified BSD License)下的新代码替换内核和 libc 中的非自由文件
-
模块化内核和用户空间设计
用户空间与工具链
表格
| 组件 | 说明 |
|---|---|
| hyperman | pacman 包管理器的硬分支,专为 HyperbolaBSD 适配 |
| hypertools | libretools 的硬分支,用于包构建 |
| HyperBLibC | 自定义 C 库 |
| HyperRC | Gentoo OpenRC 的分支,作为初始化系统 |
| runit | 替代 OpenBSD 默认 init 的初始化方案 |
| Xenocara | 从 OpenBSD 移植的图形系统 |
开发路线图(四阶段)
根据 2024 年的更新采访,HyperbolaBSD 的开发分为四个阶段:
表格
| 阶段 | 目标 |
|---|---|
| Pre-alpha | 升级工具链(binutils/GCC)、适配 C17 标准、使用 bmake 构建 |
| Alpha | 替换非自由代码、模块化内核/用户空间、替换非自由工具 |
| Beta | 开发 hyperman/hypertools、迁移构建服务器、制作 Live 镜像、适配 Xenocara |
| RC/Final | 从 Hyperbola GNU/Linux-libre 移植 extra 仓库软件包 |
最新进展(截至 2024-2025)
-
2024 年 6-7 月:主要开发者 Coadde 完成了 binutils 和 gcc 的分析工作,发现 HyperBK 使用了回溯移植的汇编指令,正在创建补丁。团队表示已接近推出首个 pre-alpha 测试版本。
-
2024 年 11 月:开发团队向 Linux 内核邮件列表(LKML)发送邮件,介绍了 HyperBK 的进展,称其为"copyleft 硬分支",并邀请社区关注。
-
2025 年:Hyperbola GNU/Linux-libre 仍在维护(最新版本 0.4.5 开发中),为 BSD 迁移提供过渡支持。Iceweasel-UXP 浏览器于 2025 年 7 月正式从仓库中移除。
项目立场与争议
HyperbolaBSD 的一些立场在开源社区中颇具争议:
对 Rust 和 Java 的拒绝
项目明确不接受 Rust 和 Java 代码,理由包括:
-
商标问题:Rust 的 Logo 政策和媒体指南限制过多,完整重命名需要硬分支整个语言生态
-
安全历史:Java 有长期的安全缺陷历史
-
分散注意力:引入多语言会增加移植、打包和测试负担
离开 Linux 的原因
团队列举的主要理由包括:
-
Linux 内核强制采用 DRM(包括 HDCP)
-
提议使用 Rust(被认为有"自由缺陷")
-
内核开发缺乏安全优先的设计
-
GNU 用户空间工具强制依赖 systemd、PulseAudio 等,且缺乏构建时禁用选项
架构支持
初期仅支持 x86(i686 和 x86_64),长期有计划支持更多架构,但优先级较低。团队强调不会放弃 32 位支持。
项目现状评估
优势:
-
理念清晰,对软件自由有极致追求
-
基于成熟的 OpenBSD 代码库,安全基础扎实
-
社区驱动,有明确的长期愿景
挑战:
-
开发资源有限,进度缓慢(从 2019 年宣布到 2024 年仍接近 pre-alpha)
-
严格的自由软件标准导致软件生态受限(例如无法使用现代浏览器、Qt 等)
-
与主流技术栈(Rust、systemd、D-Bus 等)的脱节可能限制实用性
相关资源
-
官方网站:hyperbola.info
-
开发路线图:wiki.hyperbola.info
-
IRC/论坛:通过官网获取社区联系方式
如果你对极致的软件自由、BSD 系统底层开发或反主流技术路线感兴趣,HyperbolaBSD 是一个值得关注的项目,但需要理解它目前仍处于早期开发阶段,尚未达到日常可用状态。
发表回复