上周,微軟、GitHub、OpenAI 三方聯(lián)手推出的 AI 代碼生成神器 GitHub Copilot 一經(jīng)官宣便引起巨大關(guān)注:試問哪個開發(fā)者不想要這么一位“虛擬程序員”來解放自己的雙手?
因此即使目前 GitHub Copilot 處于并不完美的技術(shù)預覽版階段,許多開發(fā)者們還是迫不及待地體驗嘗試。
可這一試,試出問題來了:GitHub Copilot 生成的代碼為何這么眼熟,就連注釋都“原汁原味”,這是抄襲嗎?
真 · 雷神之“錘”
其實有關(guān) GitHub Copilot 直接復制代碼的問題,微軟早在官宣時就曾回應:“只有 0.1% 的情況下,GitHub Copilot 提供的代碼建議中可能包含一些來自訓練集的字符或片段。”
但微軟口中的這個“0.1% 的情況”,已經(jīng)出現(xiàn)了。
一位開發(fā)者 @mitsuhiko 在推特上公布了他的發(fā)現(xiàn):讓 GitHub Copilot 生成快速平方根倒數(shù)算法(Fast Inverse Square Root),結(jié)果出來的代碼竟與《雷神之錘 3》中那段“傳奇代碼”一模一樣!(注:快速平方根倒數(shù)算法也被稱為平方根倒數(shù)速算法,此算法由于出現(xiàn)在《雷神之錘3》源代碼中被人們所熟知。)
這段代碼無疑是“抄襲”:不僅包含了快速平方根倒數(shù)算法中至今都無人理解的神奇數(shù)字“0x5f3759df”,就連當年《雷神之錘 3》開發(fā)者對這串數(shù)字的吐槽都保留得“原汁原味”。
如此一來,GitHub Copilot “抄襲代碼”不僅實錘,還是真 · 雷神之“錘”,無法開脫,由此引發(fā)的代碼版權(quán)問題也愈演愈烈。
GitHub Copilot 算是 GPL 協(xié)議中規(guī)定的衍生作品嗎?
在 GitHub Copilot 直接復制快速平方根倒數(shù)算法這個過程中有個矛盾點,即這段代碼是遵循 GNU GPL 2.0 協(xié)議進行開源的,而 GitHub Copilot 卻要在未來擴展為付費服務提供。
?。ㄗⅲ篏NU GPL 2.0 協(xié)議要求任何包含該開源許可證的衍生作品,即使僅有幾行代碼,也必須免費提供全部源代碼以及修改和分發(fā)它們的權(quán)利。)
在此基礎上,就產(chǎn)生了一個巨大爭議:這個現(xiàn)象表示 GitHub Copilot 在訓練過程中必定使用過 GPL 協(xié)議下的代碼,那么機器學習系統(tǒng)產(chǎn)生的作品,甚至機器學習系統(tǒng)本身,都算是 GPL 協(xié)議中規(guī)定的衍生作品嗎?
如果答案是“否”,那是不是說明開發(fā)者可以利用 GitHub Copilot 來“清除”代碼的 GPL 協(xié)議,從此再也無需遵循該協(xié)議?
如果答案是“是”,那么不僅 GitHub Copilot 應該免費開源,整個 GitHub 都要成為一個開源項目:據(jù) GitHub 博客中“在 GitHub Copilot 的早期開發(fā)過程中,作為內(nèi)部試用的一部分,近 300 名員工在日常工作中使用了它”的說法,這些員工很有可能已經(jīng)將 GitHub Copilot 生成的代碼整合到 GitHub 的方方面面,那么 GitHub 就也應該是個開源項目。
為此,長期關(guān)注版權(quán)保護問題以及開源和自由軟件的有力推動者 Julia Reda 寫了一篇文章并堅定認為:GitHub Copilot 并未侵犯開發(fā)者的版權(quán)。
她指出,簡單地閱讀和處理信息并不需要版權(quán)許可。舉個例子,如果你去書店,從書架上拿一本書開始閱讀,在這個過程中你是沒有侵犯任何版權(quán)的,而人工智能這類數(shù)字技術(shù)的訓練過程就是如此,它們需要大量內(nèi)容數(shù)據(jù)。
Julia Reda 在文中表示:“版權(quán)和數(shù)字技術(shù)之間的確因此會有許多沖突,所幸政策制定者和法院早就意識到:如果每個技術(shù)副本都需要許可,那么數(shù)字技術(shù)將完全無法發(fā)展使用。”
早在 2001 年,歐盟就允許這種作為技術(shù)過程一部分的臨時性復制行為不受版權(quán)限制,盡管當時反對的聲音頗多。
后來到 2019 年,歐盟研究協(xié)會更是要求歐洲版權(quán)法明確許可所謂的文本和數(shù)據(jù)挖掘,即永久存儲受版權(quán)保護的作品以實現(xiàn)自動化分析。也就是說,根據(jù)歐洲版權(quán)法,無論使用何種許可協(xié)議,抓取 GPL 許可的代碼或任何其他受版權(quán)保護的作品都是合法的。
此外,Julia Reda 還認為機器自動生成的代碼不能視為衍生作品:
首先,有人認為即使復制受版權(quán)保護作品的最小摘錄也構(gòu)成侵犯版權(quán),這很不合理。按這種說法,就算不提 GitHub Copilot 從訓練數(shù)據(jù)中復制的短代碼片段本來就不太可能達到原創(chuàng)標準,如果兩個或多個開發(fā)人員在各自的程序中使用相同的基本代碼,豈不是會產(chǎn)生無窮無盡的爭議?
其次,版權(quán)法只適用于智力創(chuàng)作——沒有創(chuàng)作者,就沒有作品。也就是說像 GitHub Copilot 這樣的機器生成代碼根本不符合版權(quán)保護的條件,因此也并不是衍生作品。
爭議頗多,甚至有開發(fā)者決定退出 GitHub
即便 Julia Reda 如此主張,但廣大開發(fā)者對此并不買賬。GitHub Copilot 的版權(quán)爭議引發(fā)了很多人對 Github 的不滿,甚至有開發(fā)者因此決定退出 GitHub:
“我認為這是對版權(quán)持有人權(quán)利的嚴重侵犯,因此我不能繼續(xù)依賴 GitHub 的服務?!?/p>
也有開發(fā)者批評 GitHub Copilot 將免費代碼用作商業(yè) AI 應用的資源:
“GitHub Copilot 自己也承認,他們接受過大量 GPL 代碼的訓練,所以我不知道為什么這不是一種將開源代碼轉(zhuǎn)化為商業(yè)作品的形式。”