newsence

AI 與忒修斯之船

Hacker News·大約 1 個月前

我探討了 AI 驅動的程式碼重新實作如何挑戰傳統的軟體授權與著作權,並藉由忒修斯之船的悖論,論證透過 AI 從頭重寫軟體應被視為全新的作品。

背景

這場討論源於 Python 知名函式庫 chardet 的維護者利用 AI 代理(Coding Agent)將原本採用 LGPL 授權的程式碼,僅透過 API 定義與測試套件引導,重新實作出一套 MIT 授權的新版本。這起事件引發了關於「軟體特修斯之船」的哲學與法律辯論:當程式碼的邏輯與實作路徑完全改變,但功能與測試結果一致時,這究竟是受版權保護的衍生著作,還是一個全新的獨立作品?

社群觀點

Hacker News 的社群對此展開了激烈的法律與道德辯論。反對者認為,這種行為本質上是惡意規避原作者的授權意圖。有觀點指出,授權條款的存在是為了保護作者的權利,LGPL 明確禁止在不相容的條款下重新授權,而利用 AI 進行所謂的「重新實作」只是一種法律上的文字遊戲。部分評論者更激進地主張,由於大型語言模型(LLM)是在包含大量 GPL 程式碼的數據集上訓練的,其輸出的任何結果都應被視為 GPL 的衍生品,否則這將成為一種集體性的智慧財產權竊取,讓企業能藉由 AI 之手將開源成果私有化或變更授權。

然而,支持者則從技術與法律實務的角度反駁。他們認為,根據過去如 Compaq v. IBM 或 Google v. Oracle 的判例,基於 API 表面與相容性進行的重新實作屬於「合理使用」。如果新舊程式碼在抽象語法樹(AST)或內部架構上存在顯著差異,例如 chardet 的新版本在效能與多核心支援上都有根本性的改變,那麼它在法律上應被視為獨立作品。支持者強調,程式碼的價值在於解決問題,而非授權條款的束縛;當重新實作的成本因 AI 而大幅降低時,過往靠著「實作難度」來維持的 Copyleft 保護傘將面臨瓦解。

此外,社群也觀察到一個有趣的矛盾現象:開發者對於「重新實作」的態度往往取決於誰是被模仿的一方。例如 Vercel 曾樂於用 AI 重新實作 bash,但當他人以同樣方式重製 Next.js 時卻感到不滿。這種雙重標準反映出軟體界對於 AI 侵蝕智慧財產權邊界的集體焦慮。有留言指出,未來開源授權可能會兩極化發展:要麼走向完全放任的 MIT 模式,要麼走向極端封閉的私有化,因為中間地帶的授權限制在 AI 時代已變得難以執行。

最後,關於 AI 是否具備「潔淨室」(Clean Room)實作能力的爭論也十分熱烈。傳統上,為了避免版權爭議,開發者必須證明自己從未看過原始碼。但 LLM 幾乎讀過網路上所有的公開程式碼,這使得「僅參考測試套件」的說法顯得薄弱。儘管如此,也有人認為人類開發者同樣會受到讀過的程式碼影響,若要求 AI 必須完全「未聽過」原始邏輯,那人類也難以達成。這場爭論最終指向一個核心問題:在 AI 時代,版權法究竟該保護的是具體的程式碼文字,還是背後的邏輯與功能?

延伸閱讀

  • JPlag: 用於偵測程式碼相似度與抄襲的工具,在本次事件中被用來驗證新舊實作的差異。
  • PyOxidizer 與 PyInstaller 議題: 討論中提到 chardet 必須重寫的實務原因,在於 LGPL 授權在某些 Python 打包工具中會產生分發合規性的困難。
  • Indistinguishability Obfuscation (iO): 留言中提到的密碼學概念,用以反駁「所有黑盒子的功能都能被輕易推導並重製」的觀點。
  • Toybox 爭議: 類似的歷史案例,涉及將 GPL 工具重新實作為 BSD 授權的爭議。
https://lucumr.pocoo.org/2026/3/5/theseus/