GCC 收緊 AI patch:用 Codex、Copilot 寫開源貢獻邊條界線唔可以踩?
3C 產品

GCC 收緊 AI patch:用 Codex、Copilot 寫開源貢獻邊條界線唔可以踩?

圖片:via XDA Developers — https://www.xda-developers.com/gcc-the-core-compiler-behind-linux-draws-a-hard-line-against-ai-code/
TechLab 編輯部(譯)·

GCC 新政策點樣改變 coding agent 提交方法

GCC Steering Committee 接受咗 AI Policy Working Group 嘅建議,暫時會拒收包含 LLM 產出,或者由 LLM 產出衍生而成、又具法律重要性嘅貢獻。XDA 將件事寫成「15 行以上禁 AI code」,大方向冇錯,但講得太一刀切:GCC 冇封殺研究、除錯同分析用途,亦留低細改動、測試個案同外來項目程式碼等例外。

15 行唔係免費 AI 額度

「具法律重要性」沿用 GNU 維護者指引,約 15 行程式碼或文字只係判斷版權文件要求嘅經驗門檻,唔係逐個 patch 機械式數行數。重複改名就算改咗好多行,仍可能冇版權重要性;同一貢獻者分開交多次細改動,累積起嚟又可能過界。所以唔好理解成每次提交有 14 行 AI 額度,實際判斷會睇內容、原創程度同累積貢獻。

政策亦容許 maintainer 接受冇法律重要性嘅 LLM 內容,但要符合平時提交要求同清楚標示;LLM 生成嘅測試個案就算具法律重要性,maintainer 仍有權接受。任何獲接納嘅 LLM 內容,commit message 都要加 Assisted-by:。最後決定交唔交、收唔收,都一定要由人做,LLM 自己唔可以直接 commit。

Coding agent 可以幫手,但唔好吐完整 patch

對 Codex、Copilot 或 Claude Code 用家嚟講,工具品牌冇分別,GCC 睇嘅係產出有冇入到貢獻。叫 agent 分析 crash log、追可疑 function、解釋 compiler pass、搵 regression 範圍、協助 review 或設計除錯步驟,全部仍然可以。前提係相關輸出唔會直接放入 patch、commit message、文件或者其他提交內容。

最容易踩界嘅做法,係先叫 agent 寫完整修正,再由人改變數名、執格式同補測試。政策連「由 LLM 產出衍生」都包埋,改幾筆未必洗得走來源問題。較穩陣嘅做法係用 AI 幫手定位同理解問題,再由開發者按自己掌握嘅設計、程式碼同測試結果落手寫;如果工具已經提供咗可直接套用嘅實作,就唔好假設人手執過等於重新原創。

Signed-off-by 解決唔晒來源問題

GCC 要每項貢獻由理解改動嘅人提交,亦只准人類用 Signed-off-by: 認證 Developer Certificate of Origin。簽名代表提交者確認自己有權交出內容,但 LLM 訓練資料、輸出會唔會重現受版權保護程式碼,同純 AI 產出喺不同司法地區有咩版權地位,仍然冇全球一致答案。GCC 呢次係按風險揀咗保守路線,唔代表相關法律爭議已經有統一裁決。

Linux 同 LLVM 行另一條路

Linux kernel 接受有意義嘅工具生成內容,重點放喺透明度:提交者要理解同守得住整份 patch,亦可能要交代工具、prompt、受影響部分同測試方法,maintainer 可以提高審查力度甚至直接拒收。LLVM 同樣採用 human-in-the-loop,容許 AI 內容經人手閱讀、驗證同標示後提交,但禁止 agent 未經人批核就喺項目空間自動出手,亦唔准用 AI 自動解 good first issue

三者差異幾清楚:GCC 優先避開版權來源風險,Linux 著重提交者問責同披露,LLVM 再顧埋 maintainer 嘅時間成本,唔想低質輸出加重社群嘅 review 壓力。用開 coding agent 嘅開發者、學生同團隊,交 patch 前要逐個項目睇規則,唔可以靠一套「有簽名、有測試就得」嘅做法走遍所有開源社群。

GCC 已表明政策會繼續調整,最遲 2027 年初再檢討。現階段最安全嘅界線好實際:AI 可以幫你搵路、拆問題同 review,人就要親自理解、設計同寫出交入 GCC 嘅重要內容,亦要留低足夠紀錄交代工具究竟幫過邊一部分。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook