
整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
回看 2018 年,微軟以 75 億美元收購 GitHub 時(shí),不少開發(fā)者曾一度感到緊張,擔(dān)心這一開源代碼協(xié)作平臺會被科技巨頭掌控,自由受限,甚至有人揚(yáng)言要棄用 GitHub。多年過去,微軟基本保持了 GitHub 的開放精神,也讓大部分開發(fā)者逐漸安心。
然而,隨著今年 8 月 ,并且 GitHub 不再設(shè)立 CEO 職位,由微軟 AI 團(tuán)隊(duì)直接接管,這一舉措再次引發(fā)外界對平臺未來的關(guān)注。
就在這樣的背景下,一股新的“遷徙潮”悄悄興起:越來越多的開發(fā)者開始將開源項(xiàng)目從 GitHub 遷移到了其他平臺,其中既有輕量級瀏覽器、游戲模擬器項(xiàng)目,也包括像 Zig 這樣的知名編程語言項(xiàng)目。
讓眾人好奇的是:GitHub 究竟是怎么“惹了眾怒”,還是開發(fā)者自身的問題?
![]()
![]()
Zig 核心開發(fā)者:GitHub 優(yōu)先級和工程文化早已“腐化”
在這波“遷移潮”中,Zig 編程語言的體量算是最大、影響最廣的。
Zig 是一門仍在開發(fā)中的原生編譯型編程語言,但它已經(jīng)被一些知名項(xiàng)目采用,包括 Bun JavaScript 構(gòu)建工具。截至目前,它在 GitHub 上擁有 42.5k 個(gè) Star 數(shù)量以及 3.1k 的 Fork。
![]()
不久前,Zig 的主要開發(fā)者 Andrew Kelley 在官方社區(qū)網(wǎng)站上發(fā)表了題為《從 GitHub 遷移到 Codeberg》的文章,宣布 Zig 項(xiàng)目將遷往 Codeberg——一家總部位于德國柏林的非營利 Git 托管機(jī)構(gòu),可以視為 GitHub 的替代品。
![]()
Kelley 在公告中直言:“自從十年前執(zhí)行 git init 以來,Zig 的代碼一直托管在 GitHub 上。但不幸的是,當(dāng) GitHub 賣給微軟時(shí),倒計(jì)時(shí)就開始了。我曾心里默念:‘請給我 5 年,別讓一切都完蛋。’而現(xiàn)在,七年過去了,我們已經(jīng)是在借來的時(shí)間上茍延殘喘。”
他列舉了多個(gè)遷移原因,核心在于 GitHub 的工程文化和服務(wù)質(zhì)量已經(jīng)發(fā)生變化。
Kelley 指出,曾經(jīng)讓 GitHub 成功的工程實(shí)力,現(xiàn)在已經(jīng)不再起作用了。它的優(yōu)先級和工程文化都“爛掉”了,用戶們只能忍受一個(gè)臃腫、到處出 bug 的 JavaScript 框架,官方還說是為了“進(jìn)步”。以前很流暢的東西,現(xiàn)在變得慢吞吞,很多功能甚至完全壞掉。
其中,GitHub Actions 的不穩(wěn)定性尤為嚴(yán)重。在 Kelley 看來,Actions 是持續(xù)集成與持續(xù)交付的關(guān)鍵功能,但它完全被 GitHub 內(nèi)部忽視,任務(wù)運(yùn)行狀態(tài)看起來就像是隨機(jī)觸發(fā)的。
他說道:“GitHub CEO 曾說過‘接受 AI 或者滾蛋’,微軟似乎照單全收。Actions 開始隨意調(diào)度,作業(yè)隨機(jī)運(yùn)行,再加上其他漏洞和無法手動干預(yù),這導(dǎo)致我們的 CI 系統(tǒng)嚴(yán)重積壓,連 master 分支的提交都無法檢查。”
因此,「與其花捐款錢去買更多 CI 硬件來應(yīng)對這崩壞的基礎(chǔ)設(shè)施,我們決定直接換一個(gè) Git 托管提供商」,Kelley 說道。
此外,Kelley 對 GitHub 過度擁抱 AI 的趨勢持反對態(tài)度,畢竟這與 Zig 項(xiàng)目禁止在 issue、PR 或評論中使用 LLM 的政策相沖突。他提到,多次觀察到有人違反這一政策,而這種情況至少部分原因是 GitHub 在不斷推行“用 Copilot 提交 Issue”的功能。
寧愿舍棄收入
在遷移中,令 Kelley 稍微有些顧慮的是 GitHub Sponsors。這一功能曾是 Zig 早期募資成功的關(guān)鍵,也仍占項(xiàng)目收入的很大部分。2024 年,GitHub Sponsors 為 Zig 軟件基金會貢獻(xiàn)了超過 17 萬美元,是其最大的收入來源。
![]()
對此,Kelley 特別感謝曾經(jīng)的 GitHub 開源項(xiàng)目產(chǎn)品經(jīng)理也是 GitHub Sponsors 功能的創(chuàng)造者 Devon Zuegel 的貢獻(xiàn):“她如天使般出現(xiàn),讓 GitHub 成為數(shù)千開發(fā)者可靠的收入來源。在她的領(lǐng)導(dǎo)下,GitHub Sponsors 的未來一片光明,但她也選擇去追求更大的機(jī)會。自她離開后,這項(xiàng)產(chǎn)品同樣被忽視,并開始走下坡路。”
“我們認(rèn)為這是一種潛在風(fēng)險(xiǎn),”Kelley 也在呼吁贊助者改用其他渠道捐助,例如同樣是非營利組織的 Every.org。
當(dāng)前,Zig 的 GitHub 倉庫已經(jīng)設(shè)為只讀,主倉庫的 canonical origin/master 分支遷移至 Codeberg(https://codeberg.org/ziglang/zig.git)。
Kelley 采用的遷移策略也相對簡單:為規(guī)避 GitHub 的激進(jìn)供應(yīng)商鎖定,其保留現(xiàn)有 Issue 不遷移,但在 Codeberg 上從 30000 開始計(jì)數(shù),以保持編號清晰。
Kelley 表示:“請將 GitHub 上仍未關(guān)閉的 Issue 看作是按需復(fù)制,無需全部遷移,除非你需要編輯或補(bǔ)充評論。我們?nèi)詴P(guān)注已開放的 Pull Request 和 Issue,請放心。”
整體而言,Codeberg 目前托管著超過 32 萬個(gè)項(xiàng)目,使用的是可自托管的開源軟件 Forgejo。使用 Codeberg 是免費(fèi)的,但僅面向開源項(xiàng)目;其使用條款只在有限情況下允許私有倉庫,例如“為 FLOSS(自由/開源軟件)項(xiàng)目必需的內(nèi)容,如存放密鑰、團(tuán)隊(duì)內(nèi)部討論,或暫時(shí)隱藏尚未準(zhǔn)備公開的項(xiàng)目”。相比之下,GitHub 即使在免費(fèi)賬戶下也允許商業(yè)用途的私有倉庫。
![]()
開源瀏覽器開發(fā)者:“GitHub 不再是理想選擇”
無獨(dú)有偶。除了 Zig,一款極簡輕量級瀏覽器 Dillo 的開發(fā)者 Rodrigo Arias Mallo 也加入了從 GitHub 遷移的隊(duì)伍中。他希望為 Dillo 找到一個(gè)更友好、能夠解決現(xiàn)有問題的新家。
![]()
最初,Dillo 的源碼和網(wǎng)站被上傳到 GitHub,但 Rodrigo 現(xiàn)在認(rèn)為,這已經(jīng)不再是理想選擇。
Rodrigo Arias Mallo 坦言,GitHub 的確在存儲 Dillo 的各類倉庫、運(yùn)行多平臺(如 Windows、macOS、部分 BSD)的 CI 任務(wù)方面幫了不少忙,“因?yàn)槲沂诸^沒有這些平臺的機(jī)器”。
不過,隨著時(shí)間推移,GitHub 這一平臺暴露出越來越多不適合作為 Dillo 主要開發(fā)平臺的問題,譬如
前端不友好:GitHub 的網(wǎng)頁在沒有 JavaScript 的情況下幾乎無法使用,這讓用 C++、C、HTML、CSS 編寫的 Dillo 瀏覽器幾乎無法查看 issue、pull request、源代碼或 CI 日志,而這些本質(zhì)上只是普通 HTML 內(nèi)容。過去 GitHub 會優(yōu)雅降級,但現(xiàn)在已經(jīng)不再。同時(shí),頁面對資源的需求很高,而渲染的內(nèi)容大多只是靜態(tài)文本。
單點(diǎn)控制風(fēng)險(xiǎn):Rodrigo 表示,“GitHub 是由單一實(shí)體控制,它隨時(shí)可能單方面封禁我們的倉庫或賬號。這樣我們甚至無法在原鏈接上通知社區(qū)發(fā)生了什么。如果沒有完整的本地備份,這會造成數(shù)據(jù)丟失。”
使用體驗(yàn)下降:在使用體驗(yàn)上,GitHub 也變得越來越慢,影響開發(fā)流程。同時(shí)它要求一直保持高速網(wǎng)絡(luò)連接,而 Rodrigo 并不總能做到。此外,GitHub 強(qiáng)調(diào)“推模式”——只要項(xiàng)目有新變化,你就會收到通知。Rodrigo 稱,自己不喜歡這種方式,更希望采用“拉模式”:只有當(dāng)自己主動查看時(shí)才獲取更新。這也讓他可以更輕松地離線工作。可惜現(xiàn)在許多替代平臺也開始模仿 GitHub 的推模式。
社區(qū)管理不足:從社區(qū)管理角度看,它缺乏足夠的用戶管理工具,特別是在非技術(shù)用戶數(shù)量遠(yuǎn)超開發(fā)者的項(xiàng)目里。當(dāng)開發(fā)者正在討論的 issue 被大量從未貢獻(xiàn)過項(xiàng)目的用戶評論刷屏?xí)r,往往弊大于利,長久下來會令開發(fā)者精疲力盡。
過度擁抱 AI:GitHub 正緊跟 LLM 和生成式 AI 這股潮流,但這趨勢正在摧毀開放網(wǎng)絡(luò)(剩下的部分)。對 Rodrigo 來說,影響直接可見:許多網(wǎng)站為了防止 LLM 抓取導(dǎo)致過載,而設(shè)置了 JS 墻甚至瀏覽器指紋識別,這也阻擋了 Dillo 用戶。Rodrigo 稱,自己不希望再為這種趨勢添磚加瓦。“雖然把 Dillo 遷走并不會阻止 GitHub 抓取我們的代碼,但至少我不會繼續(xù)主動助力。”
最終,在考察替代平臺后,Rodrigo 決定自托管 Dillo,將重要數(shù)據(jù)遷移到 Git 倉庫,并在多個(gè)平臺建立鏡像。他購買了 dillo-browser.org 域名,租用一臺小型 VPS,網(wǎng)站目前可訪問 https://dillo-browser.org/ 。
為了在 Dillo 瀏覽器中查看倉庫,他選擇了輕量級 Git 前端 cgit,并對 CSS 做了調(diào)整。漏洞追蹤系統(tǒng)則用自己開發(fā)的 C 工具 buggy,解析 Markdown 文件生成靜態(tài) HTML 頁面,確保數(shù)據(jù)安全且可離線編輯。相關(guān)頁面可訪問 https://bug.dillo-browser.org/ 。郵件列表歸檔由三個(gè)獨(dú)立外部服務(wù)保存,并計(jì)劃進(jìn)一步備份。關(guān)鍵數(shù)據(jù)現(xiàn)已在 Git 倉庫中,可鏡像到任意代碼托管平臺,降低單點(diǎn)故障風(fēng)險(xiǎn)。
Rodrigo 表示,遷移涉及多項(xiàng)變動,需要時(shí)間穩(wěn)定,GitHub 倉庫在遷移期間仍會更新,并會最終歸檔而不刪除任何 commit 或舊版發(fā)布包。他對自托管的成果感到滿意:“我們以相對低成本和極小能耗搭建了一個(gè)完全獨(dú)立的項(xiàng)目基地,至少在最糟情況下可以維持三年。”
![]()
“將我的代碼遷移到 Codeberg,是一種對 GitHub 的抗議”
與此同時(shí),一位名為 Eldred Habert 的開發(fā)者也將自己的 gb-bootroms 開源項(xiàng)目代碼倉庫從 GitHub 遷移到 Codeberg,他還把自己遷移的經(jīng)驗(yàn)完整地分享出來。
![]()
做出這個(gè)決定的原因,Eldred Habert 寫道:
是因?yàn)?GitHub 越來越積極地推動 AI 解決方案,而我不同意其帶來的倫理和生態(tài)后果;再加上它與 Elon Musk 的合作(現(xiàn)在支持 Grok)以及其他一些原因。
我只是不同意那個(gè)平臺的政策,所以想退出,同時(shí)也算是一種抗議。而且我也決定言行一致:我現(xiàn)在也在捐助 Codeberg,因?yàn)樗麄儾皇腔斓埃⑶艺娴脑谂ψ稣_的事情,所以他們值得支持。
盡管我希望能神奇地“一鍵刪除一切又不出錯(cuò)”,但現(xiàn)實(shí)并不允許。那些原本托管在 GitHub 上的 fork 倉庫必須保留,以免 PR 崩壞(不過我已經(jīng)刪除了過時(shí)的 fork);同時(shí),網(wǎng)上還有很多鏈接指向我的各種倉庫。因此,我選擇在遷移后的倉庫里放一個(gè)提示,說明它們已遷移。
![]()
網(wǎng)友熱議
社區(qū)對 Kelley 的遷移決定反應(yīng)不一。確實(shí)有開發(fā)者對 GitHub 表示不滿,主要是界面性能變差與 AI 功能“泛濫”。
不過,也有人認(rèn)為,這僅是早期敏感項(xiàng)目的個(gè)體選擇。
還有網(wǎng)友評論道:
不同的開發(fā)者有各自偏好的工作和協(xié)作方式。我懷疑開源社區(qū)會集中在某一個(gè)單一的解決方案上。我認(rèn)為我們正處于一個(gè)“重新去中心化”的階段,開發(fā)者會把他們的項(xiàng)目遷移到能夠滿足個(gè)人或團(tuán)隊(duì)在控制權(quán)、托管管轄權(quán)、企業(yè)或社區(qū)所有權(quán)、工作流程以及正常運(yùn)行時(shí)間等方面需求的平臺上。這是因?yàn)樵创a托管平臺之間的競爭日益激烈。不同的細(xì)分需求能夠通過各自偏好的平臺得到滿足,這本身是件好事,盡管對于那些希望在不太知名的平臺上提交補(bǔ)丁的開發(fā)者來說,可能會稍顯不便。
我們正處在“離散化階段”;類似的公告接連不斷,每條都指向不同的 GitHub 替代方案。我猜測,再過幾個(gè)月,各個(gè)社區(qū)可能會集中到一個(gè)占主導(dǎo)地位的平臺。我很好奇,這個(gè)平臺會是現(xiàn)有的某一個(gè),還是全新的出現(xiàn)。也許會有某個(gè)知名公司或個(gè)人推出新的平臺,營銷做得好,然后一統(tǒng)天下。
其實(shí)隨著微軟加深對 GitHub 的 AI 掌控,開發(fā)者對平臺未來的信任正在面臨新考驗(yàn)。你認(rèn)為 GitHub 是否仍值得信賴?這些遷移潮會加速,還是只是階段性波動?
參考:
https://dillo-browser.org/news/migration-from-github/
https://eldred.fr/blog/forge-migration/
https://ziglang.org/news/migrating-from-github-to-codeberg/
https://news.ycombinator.com/item?id=46096800
【活動分享】2025 年是 C++ 正式發(fā)布以來的 40 周年,也是全球 C++ 及系統(tǒng)軟件技術(shù)大會舉辦 20 周年。這一次,C++ 之父 Bjarne Stroustrup 將再次親臨「2025 全球 C++及系統(tǒng)軟件技術(shù)大會」現(xiàn)場,與全球頂尖的系統(tǒng)軟件工程師、編譯器專家、AI 基礎(chǔ)設(shè)施研究者同臺對話。
本次大會共設(shè)立現(xiàn)代 C++ 最佳實(shí)踐、架構(gòu)與設(shè)計(jì)演化、軟件質(zhì)量建設(shè)、安全與可靠、研發(fā)效能、大模型驅(qū)動的軟件開發(fā)、AI 算力與優(yōu)化、異構(gòu)計(jì)算、高性能與低時(shí)延、并發(fā)與并行、系統(tǒng)級軟件、嵌入式系統(tǒng)十二大主題,共同構(gòu)建了一個(gè)全面而立體的知識體系,確保每一位參會者——無論是語言愛好者、系統(tǒng)架構(gòu)師、性能優(yōu)化工程師,還是技術(shù)管理者——都能在這里找到自己的坐標(biāo),收獲深刻的洞見與啟發(fā)。詳情參考官網(wǎng):https://cpp-summit.org/
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(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.