
作者 | 褚杏娟
近期,Zig 編程語(yǔ)言的基金會(huì)(The Zig Software Foundation)已宣布退出 GitHub,原因是其領(lǐng)導(dǎo)層認(rèn)為這個(gè)代碼共享平臺(tái)的服務(wù)正在衰退。
這場(chǎng)風(fēng)波始于 2025 年 4 月,當(dāng)時(shí) GitHub 用戶 AlekseiNikiforovIBM 發(fā)起了一個(gè)名為“safe_sleep.sh 腳本罕見(jiàn)地?zé)o限期掛起”的討論帖。GitHub 在 8 月份解決了這個(gè)問(wèn)題,但并未在該討論帖中透露,導(dǎo)致該帖一直保持未解決狀態(tài),直到本周一才關(guān)閉。
這段代碼一直占用 100% 的 CPU 資源,并且會(huì)永遠(yuǎn)運(yùn)行下去。
就在上周,Zig 軟件基金會(huì)主席兼首席開(kāi)發(fā)人員 Andrew Kelly 宣布,Zig 項(xiàng)目將遷移到非營(yíng)利性 Git 托管服務(wù) Codeberg。他給出的理由是:GitHub 不再致力于工程的卓越性。
他用來(lái)支持這一論斷的證據(jù)之一,正是上述那個(gè)“safe_sleep.sh 罕見(jiàn)掛起”的帖子。
“最重要的是,Actions(GitHub 自動(dòng)化工作流)存在不可原諒的錯(cuò)誤,卻被徹底忽視了。”Kelly 提到,“在 GitHub CEO 喊出‘要么擁抱 AI,要么走人’后,微軟的那些跟班似乎心領(lǐng)神會(huì),因?yàn)?GitHub Actions 開(kāi)始‘隨緣調(diào)度’,似乎在隨機(jī)選擇任務(wù)來(lái)運(yùn)行。再加上其他各種 Bug 和無(wú)法手動(dòng)干預(yù)的問(wèn)題,導(dǎo)致我們的 CI 系統(tǒng)嚴(yán)重積壓,甚至連主分支的提交都無(wú)法完成檢測(cè)。”
Kelly 的抱怨似乎有理有據(jù),因?yàn)橛懻撎械倪@個(gè) Bug,最早可以追溯到 2022 年 2 月的一次代碼更改,用戶在之前的 Bug 報(bào)告中就曾指出過(guò)問(wèn)題。
那次代碼更改用一個(gè)名為 “safe_sleep” 的腳本替換了 Posix 系統(tǒng)的 “sleep” 命令,但這個(gè)腳本未能像宣傳的那樣工作。它本應(yīng)允許 GitHub Actions runner(運(yùn)行 GitHub Actions 工作流的應(yīng)用)安全地暫停執(zhí)行。
Zig 核心開(kāi)發(fā)者 Matthew Lugg 在 4 月的 Bug 討論帖中評(píng)論道:“從代碼上看,這個(gè)‘安全休眠’腳本的 Bug 顯而易見(jiàn):如果進(jìn)程在循環(huán)本應(yīng)返回的一秒間隔內(nèi)未被調(diào)度,它就會(huì)簡(jiǎn)單地永遠(yuǎn)空轉(zhuǎn)下去。”
“在負(fù)載極高的 CI 機(jī)器上,這種情況很容易發(fā)生。但一旦發(fā)生后果相當(dāng)嚴(yán)重:它會(huì)完全破壞一個(gè) runner,直到進(jìn)行手動(dòng)干預(yù)。在 Zig 的 CI 運(yùn)行機(jī)器上,我們觀察到有多個(gè)這樣的進(jìn)程運(yùn)行了數(shù)百小時(shí),悄無(wú)聲息地拖垮了兩個(gè) runner 服務(wù),并持續(xù)了數(shù)周。”
這個(gè)修復(fù)方案于 2025 年 8 月 20 日合并,而它源于 2024 年 2 月提出的一個(gè)獨(dú)立 Issue。但 2025 年 4 月提出的相關(guān) Bug 報(bào)告一直開(kāi)放到 2025 年 12 月 1 日才關(guān)閉。另一個(gè) CPU 占用 Bug 至今仍未解決。
Answer.AI 和 Fast.AI 的聯(lián)合創(chuàng)始人 Jeremy Howard 在一系列社交媒體帖子中表示,用戶關(guān)于 GitHub Actions 處于糟糕狀態(tài)的說(shuō)法似乎是成立的。“這個(gè) Bug 的實(shí)現(xiàn)方式,對(duì)于幾乎任何初次看到的人來(lái)說(shuō),都非常明顯:它會(huì)一直占用 100% 的 CPU 資源,并且會(huì)永遠(yuǎn)運(yùn)行下去,除非任務(wù)恰好在正確的某一秒內(nèi)檢查時(shí)間。”
“我實(shí)在想象不出,一個(gè)正常運(yùn)轉(zhuǎn)的組織是如何能犯下如此多令人啼笑皆非的低級(jí)錯(cuò)誤。”
他補(bǔ)充說(shuō)道,去年 2 月提出的跨平臺(tái) CPU 問(wèn)題修復(fù)方案,在沒(méi)有經(jīng)過(guò)審核的情況下被擱置了一年,并于 2025 年 3 月被 GitHub 機(jī)器人關(guān)閉,隨后才被重新啟用并合并。
Howard 總結(jié)道:“雖然有人可能會(huì)說(shuō)這只是一個(gè)孤立事件,但我實(shí)在想象不出,一個(gè)正常運(yùn)轉(zhuǎn)的組織是如何能犯下如此多令人拍案叫絕的低級(jí)錯(cuò)誤。”
GitHub 沒(méi)有立即回應(yīng)置評(píng)請(qǐng)求。
盡管 Kelly 事后為他激烈的措詞道了歉,但 Zig 并非唯一公開(kāi)與 GitHub 分道揚(yáng)鑣的軟件項(xiàng)目。
就在上周末,Dillo 瀏覽器項(xiàng)目的創(chuàng)建者 Rodrigo Arias Mallo 表示,他計(jì)劃從 GitHub 撤離,主要顧慮包括:對(duì) JavaScript 的過(guò)度依賴、GitHub 隨意拒絕服務(wù)的能力、可用性下降、審核工具不足,以及“過(guò)度關(guān)注 LLM 和生成式 AI,這些正在破壞開(kāi)放網(wǎng)絡(luò)(或其殘存部分)”。Codeberg 方面,其付費(fèi)支持會(huì)員數(shù)量自 1 月以來(lái)已翻了一番,從 600 多名增加到上周的 1,200 多名。
https://www.theregister.com/2025/12/02/zig_quits_github_microsoft_ai_obsession/
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.