AI News HubLIVE
站內改寫3 分鐘閱讀

人工智慧如何改變開源

本文探討了AI對開源軟體的多方面影響,包括專案膨脹、稽核過載以及開發者釋出程式碼意願下降等趨勢。AI使得程式碼生成變得容易,但同時也帶來了質量控制和維護的挑戰,可能改變開源生態的未來。

來源Hacker News AI作者: pksadiq

人工智慧在2025年全面進入軟體開發領域,並對開源專案產生了深遠影響。本文作者基於自身觀察,分析了幾個關鍵趨勢,這些趨勢正在改變開源軟體的世界。

專案膨脹

AI帶來的一個普遍趨勢是內容爆炸。搜尋結果被生成的網站充斥,社交網路充斥著生成的影像和影片,原始碼也不例外。如今,GitHub上的倉庫數量激增,但高質量專案的增長並未同步。過去,遇到一個擁有數千行程式碼的較大專案時,可以合理假設作者投入了心血,瞭解問題,並有意願維護。但現在,情況完全不同。AI可以在幾分鐘內生成數千行程式碼,但這些程式碼可能是無意義的,甚至是危險的。有些程式碼功能正常,但作者只是為自己臨時需求而生成併發布到GitHub,無意將其轉化為真正的開源專案。程式碼倉庫不等同於開源專案,後者需要解決使用者的問題和用例,而不僅僅是作者的一時之需。

以MeshCore為例,該專案出現了大量分支。缺少功能?直接分支,用AI編寫缺失部分,然後作為MeshCore-UltimateEdition釋出。問題是,這些分支通常投入極少精力,作者缺乏長期興趣,往往一個月後就成為廢棄軟體。

大約十年前,人們開始質疑Linux倉庫的概念是否已過時。2000年代,倉庫幾乎是Linux軟體的唯一來源。但隨著專案數量激增,發行版難以跟上。使用者不得不從其他渠道獲取軟體,開發者也不再依賴發行版。然而,現在的情況可能促使精心策劃的軟體源(如Linux發行版倉庫)復興。開源世界變得過於混亂,使用者可能再次重視經過篩選、可靠且長期維護的軟體源。

稽核過載

AI引發的另一個趨勢是“稽核過載”。過去,編寫程式碼需要大量時間和精力,這本身就是一個自然過濾器。現在,程式碼生成變得快速且容易,但程式碼在投入生產前仍需稽核。開源專案中長期有效的稽核流程現已達到極限。

在GNOME 50中,Google Drive支援被移除,因為長期無人維護。使用者不滿,一位使用者重新新增了該功能並提交給gvfs專案。負責維護的同事感嘆,這是一個涉及4000行程式碼的變更。儘管基本功能正常,但明顯是AI生成的。他仍需逐行審查,確保程式碼符合質量標準和長期維護要求。

大部分努力從程式碼建立轉向了程式碼審查,這是AI的典型特徵。但開源中,經驗豐富的開發者原本就是瓶頸,AI使問題更加嚴重。上述例子中,同事還算幸運,貢獻者態度積極且表現出了長期興趣。然而,這如今是罕見例外。常見的貢獻是有人用AI隨意編寫程式碼,缺乏深入興趣和理解,然後拋給維護者。

作者在Meshy專案中親身經歷:有人提交了9000行變更的拉取請求,聲稱新增macOS支援。作者花一小時粗略審查,發現諸多問題:程式碼明顯是AI生成的,數千行只是無用的引號替換,修改了無關程式碼,並覆蓋了主分支的近期更改。提交者從不回覆,之後消失。作者認為,即使一小時也是過多投入,以後會更快拒絕。

一些專案透過收緊貢獻要求來應對。例如,Flathub拒絕AI生成的應用,引起爭議。Flathub託管數千應用,每日新增,但只有三人負責稽核。稽核流程高度自動化,但仍需大量人工。六個月前,作者提交了兩個應用,稽核過程最終提升了應用質量。但如今,人們提交完全由AI生成的應用,毫無個人努力。提交模板要求上傳展示應用功能的短影片,僅需15分鐘,但AI生成內容的創造者連這都不願做。他們反而指責這是對Linux自由的攻擊,並迅速用AI搭建了Flathub的替代品,聲稱對所有人開放,但僅維持了一個月。

開源維護者不僅缺乏滿足稽核需求的能力,也失去了動力。通常他們自己編寫功能更快,但稽核曾是培養長期貢獻者和潛在繼任者的途徑。當貢獻者傳送一個零投入的AI生成貢獻,且可能自身都不理解時,如何期望他們成長為長期幫助專案的人?開源軟體不僅關乎最終結果,也關乎過程——貢獻者與專案建立聯絡,並最終傳遞給他人。這與AI世界只重結果、速成和低投入形成鮮明對比。

釋出程式碼意願下降

作者觀察到,開源開發正出現一種微妙的退縮趨勢。一個論點是稽核過載:對某些專案而言,被AI生成內容淹沒的成本超過了社群貢獻的益處。他們可能為了透明度仍釋出原始碼,但從開放開發轉為開放原始碼但封閉開發。更不關心透明度的則可能完全封閉程式碼。

另一個論點是擔心許可證被規避。現代LLM無視許可證訓練原始碼,然後輕鬆生成類似解決方案,可在任何許可證下發布。對於寬鬆許可證,這不成問題;但對於GPL等Copyleft許可證,AI構成了直接威脅。如果LLM基於你多年工作的專案生成類似程式碼,並以專有許可證釋出,那就繞過了Copyleft原則。

MeshCore再次成為例子:協議和韌體開源,但客戶端閉源。社群發現核心成員秘密申請了MeshCore商標,並開始基於現有程式碼開發自己的閉源解決方案。創始人Scott Powell認為這堅定了他保留客戶端原始碼私有的決定,他表示:“在AI時代,開源等於把你的血汗付出拱手讓人以無數種方式剽竊。”

雖然觀點有爭議,但作者越來越多地看到這種立場。終身開源倡導者——過去釋出每個小指令碼的人——現在保留這些東西,僅應要求提供。理由與Powell相似。

開源也源於分享的需求:編寫程式碼困難,維護更難。為何各自實現相同功能?不如聯合起來開發共享庫。網際網路基礎設施正是建立在這個基礎上。但AI抑制了這種需求。例如,有人認為WordPress已死,因為“我可以輕鬆生成自己的CMS”。這低估了開源專案提供的價值——不僅僅是程式碼,用對LLM的依賴取代對開源專案的依賴,長期可能得不償失。

儘管如此,對共享開源元件的依賴確實有所下降。