ReactOS 30周年:对开源 Windows 替代方案的永恒追求
一个能够运行专有 Windows 应用程序和驱动程序而无需兼容层,且完全开源的操作系统梦想,是软件历史上最雄心勃勃的任务之一。三十年来,ReactOS 一直在追求这一目标,试图通过逆向工程 Windows NT 架构来创建一个二进制兼容的替代方案。
虽然许多开发者已转向容器化或像 Wine 这样的兼容层,但 ReactOS 仍然是开源社区持久不懈的精神以及重现闭源巨头技术挑战的见证。
三十年的逆向工程
ReactOS 最近庆祝了一个重大里程碑:自首次提交以来已 30 年。该项目的生命力令人瞩目;正如开发者 Carl Bialorucki 所指出的,该项目的存在时间比许多现有的贡献者还要长。
与 Wine 不同,Wine 是运行在现有操作系统(如 Linux)之上的兼容层,而 ReactOS 是一个独立的操作系统。其使命是提供一个用户可以在他们信任的开源环境中运行其喜爱的 Windows 应用和驱动程序的环境。这不仅需要实现 API,还需要重现 Windows NT 系列的整个内核和驱动模型。
当前的技术重点与现代化
尽管项目已有一定年头,但它仍在积极演进。近期的开发工作重点突出了向代码库专业化和现代化的转变:
重构测试套件
最近最关键的举措之一是清理 ReactOS 测试套件。多年来,该项目一直依赖于碎片化的内部测试和修改后的 Wine 测试,且通常是针对过时的 Windows 版本(如 Windows Server 2003)进行检查。Carl Bialorucki 在 2025 年被 ReactOS Deutschland e.V. 聘为全职承包商,其任务是清理这一“混乱”状态,以确保对操作系统的行为进行更一致且有文档记录的验证。
扩展硬件支持
硬件兼容性仍然是 ReactOS 需要攀登的最陡峭的障碍之一。该项目目前正在研究 WDDM (Windows Display Driver Model) 以超越传统的支持,并向 Windows Vista 及后续版本所使用的架构迈进。改进硬件支持对于该项目从一个“好奇心项目”转变为现代硬件的实用工具至关重要。
“Wine vs. ReactOS” 的辩论
在技术社区中,一个反复出现的问题是:在 Linux 和 Proton 占据主导地位的时代,一个独立的 Windows 兼容操作系统是否仍然具有意义。
批评者经常认为,,Linux 与 Wine(或 Valve 的 Proton)的组合提供了一种更稳定、性能更佳的方式来运行 Windows 软件。正如一位社区成员所言:
"Always an interesting project and some great achievements, but it’s hard to see it being more useful than Linux + Wine (or now Proton)."
然而,区别在于架构目标。Wine 翻译调用,而 ReactOS 的目标是 成为 操作系统。对于那些寻求 NT 架构的纯粹、开源实现——或者那些需要运行无法被封装在兼容层中的特定 Windows 驱动程序的人来说,ReactOS 代表了一种独特的技术成就。
前行之路
ReactOS 继续发布构建版本(目前版本为 0.4.15),并通过 GitHub 和 Jira 鼓励社区贡献。虽然由于其漫长的开发周期,该项目常被人们以怀疑与钦佩交织的目光看待,但其持久性为深入了解 Windows NT 架构的内部机制提供了宝贵的见解。
无论它是否能达到完全的生产就绪状态,目前来看尚无定论,但随着进入第四个十年,ReactOS 作为一个逆向工程的“活博物馆”以及软件自由的一次大胆实验,屹立不倒。
Sources
- HNReactOS