OpenJDK——Java 平台的主要開源實作——在官方法律頁面發布了「生成式 AI 臨時政策」:在完整政策定案前,社群貢獻不得包含任何由大型語言模型、擴散模型或類似深度學習系統「部分或全部生成」的內容。The Register 於 8 月 3 日率先報導。禁的不只程式碼:Git 儲存庫、GitHub pull request、電子郵件、wiki 頁面與 JBS 問題單裡的程式碼、文字與圖像,全部涵蓋。
臨時政策禁了什麼
界線畫得很清楚:生成物不能變成貢獻,但工具可以用。貢獻者私下使用生成式 AI 來理解、除錯、審查 OpenJDK 程式碼,或做與專案相關的研究,完全不受限——官方甚至引述其他社群的經驗說,對大型既有程式庫,AI 最有價值之處正是分析既有程式碼而非創造新程式碼。Oracle 正在起草完整政策,之後將提交 OpenJDK 管理委員會;過渡期間,負責處理 PR 的 Skara 工具鏈會在每個 GitHub pull request 加上勾選框,要求貢獻者聲明遵守政策。
三個理由:審查負擔、安全與 IP
政策頁面把風險講得直白。第一是審查負擔:生成式 AI 能輕易產出大量「看起來合理」的程式碼與測試,即便正確也可能難以維護,會耗盡人類審查者本來就有限的時間。第二是安全:JDK 支撐著全球企業與政府的關鍵系統,「看起來合理但錯誤的程式碼」直接威脅這個前提。第三是智慧財產權:Oracle 貢獻者協議(OCA)要求貢獻者擁有內容的完整權利並能無限制授權給 Oracle,而生成式 AI 是在受版權保護的內容上訓練的,輸出可能侵權;使用者在 AI 生成內容上是否擁有權利,本身還是未決訴訟。
常見問題集裡最殺酷的一條:用 AI 生成 100 行程式碼、自己改 10 行,可以貢獻嗎?不行——你的貢獻仍「部分」包含 AI 生成內容。
一邊擁抱 AI 寫碼,一邊對開源劃紅線
對比來自自家高層。Larry Ellison 在 Oracle AI World 2025 上說過:「Oracle 正在寫的程式碼,不是 Oracle 在寫的。」The Register 的標題更是直接:Ellison 押上全部身家押注 AI,Oracle 說它愛 AI 寫的程式碼——只是別放進 OpenJDK。這不只是虛偽:內部程式碼的風險由自己承擔,而開源貢獻需要乾淨的權利鏈,每一個 commit 都簽了法律文件。同一個公司,兩種風險帳本。
Rust 選了另一條路
同一週,8 月 5 日,Rust 專案在 Inside Rust 部落格宣布:五個團隊採納了一部約束 rust-lang/rust 儲存庫 LLM 使用的政策,由 Jynn Nelson 撰寫。範圍明確得多——影響的是審核 PR 的人、用 LLM 寫 PR 的人、用 LLM 發現問題後開 issue 的人,以及在留言中直接引用 LLM 輸出的人;官方強調這不是 Rust 對 LLM 的整體立場。一個全面禁止生成內容,一個逐情境管理使用方式,兩大專案給出了光譜的兩端。
對開源貢獻者的意義
三件事。第一,讓 agent 代你開 PR 之前,先查目標專案的政策——審查者信任是開源最稀缺的資源,踩一次紅線就很難拿回來。第二,合規正在被寫進工具鏈:勾選框、審查流程、甚至偵測機制都會出現,揭露不再是禮節而是程序。第三,IP 判決未定之前,任何「AI 產出歸誰」的答案都可能反轉——專案先自我保護,是理性而非保守。
參考來源
本文由 AI 協助自上述來源整理,經人工審核後發布。
