ReactOS 30 週年:尋找開源 Windows 替代方案的永恆追求

一個能夠在不使用相容層的情況下,直接執行專有 Windows 應用程式和驅動程式的完全開源作業系統之夢想,是軟體史上最雄心勃勃的計畫之一。三十年來,ReactOS 一直在追求這個目標,試圖透過逆向工程 Windows NT 架構來建立一個二進位相容的替代方案。

雖然許多開發者已轉向容器化或像 Wine 這樣的相容層,但 ReactOS 仍然是開源社群持久力以及重建封閉原始碼巨頭所面臨技術挑戰的證明。

三十年的逆向工程

ReactOS 最近慶祝了一個重大里程碑:自首次提交(commit)以來已屆 30 年。該專案的長壽令人驚嘆;正如開發者 Carl Bialorucki 所言,該專案存在的時間比許多現有的貢獻者還長。

與 Wine 不同,Wine 是一個運行在現有作業系統(如 Linux)之上的相容層,而 ReactOS 是一個獨立的作業系統。其使命是提供一個環境,讓使用者可以在他們信任的開源環境中執行他們最喜愛的 Windows 應用程式和驅動程式。這不僅需要實作 API,還需要重建 Windows NT 系列的整個核心(kernel)和驅動程式模型。

目前的技術重點與現代化

儘管已有一定的歷史,該專案仍在積極演進。近期的開發工作重點在於程式碼庫的專業化與現代化:

重整測試套件

近期最關鍵的計畫之一是清理 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 持續發布 Build 版本(目前為 0.4.15 版本),並透過 GitHub 和 Jira 鼓勵社群貢獻。雖然該專案常因其漫長的開發週期而受到懷疑與欽佩交織的看法,但其持久力為深入了解 Windows NT 架構的內部細節提供了寶貴的見解。

至於它是否能達到完全的生產就緒狀態,仍有待觀察,但隨著進入第四個十年,ReactOS 站在了逆向工程的活生生博物館,以及軟體自由的一場大膽實驗。

Sources