GitHub惹毛開源社區(qū)!不免費的Copilot只會抄?不能忍
Github Copilot自發(fā)布以來就一直引起人們的爭議。
而近日,自由軟件基金會 (FSF) 終于忍無可忍了!
FSF認為,Copilot這個技術(shù)引起了法律和哲學問題。
FSF在一篇文章中寫道,GitHub Copilot「從我們的角度來看是不可接受、不公正的」。

因為Copilot需要運行付費的軟件,如Microsoft的Visual Studio IDE或者Visual Studio Code編輯器。
這樣,Copilot就變成了一個SaaSS(Service as a Software Substitute)。
Copilot只要「復制」「粘貼」,就能夠竊取開發(fā)人員以往的工作成果。
Copilot還引起許多其它需要深入研究的問題。
比如,開發(fā)人員不知道在軟件上訓練神經(jīng)網(wǎng)絡是否合理。
另外,一些對Copilot感興趣的人想搞清楚,使用GitHub存儲庫中復制出來的代碼會不會侵權(quán)。
就算所有東西都是合法合規(guī),但有些活動人士還是想知道,這樣一家專有的軟件公司,基于開發(fā)人員過往的工作成果來提供服務究竟公不公平。
為了回答這些問題,捍衛(wèi)用戶的使用自由,F(xiàn)SF宣布資助一項白皮書,一并解決Copilot、安全、機器學習和免費軟件的問題。
500美元換一份白皮書
FSF在官網(wǎng)上列出來白皮書應該要解答的內(nèi)容:
- Copilot的公共存儲庫培訓是否侵犯版權(quán)?使用是否合理使用?
- Copilot的輸出對違反GPL許可作品的可訴索賠的可能性有多大?
- 開發(fā)人員如何確保他們擁有版權(quán)的任何代碼都受到保護,不受Copilot違規(guī)行為的影響?
- 有沒有辦法讓使用Copilot的開發(fā)人員遵守GPL等免費軟件許可證?
- 如果Copilot從AGPL覆蓋的代碼中學習,Copilot有沒有侵犯AGPL?
- 如果Copilot生成的代碼確實會導致違反自由軟件許可作品,版權(quán)所有者如何發(fā)現(xiàn)這種違規(guī)行為?
- 受過訓練的AI或機器學習模型是來源于機器學習產(chǎn)生的訓練數(shù)據(jù)編譯版本嗎?還是用戶可以通過進一步訓練來修改的源代碼?
- Copilot訓練的AI/ML模型是否受版權(quán)保護?如果是,誰擁有這個版權(quán)?
- 像FSF這樣的道德倡導組織是否應該主張修改與這些問題相關的版權(quán)法?
如果投稿的白皮書能夠解決上述的問題,就能獲得500美元獎勵。

https://www.fsf.org/blogs/licensing/fsf-funded-call-for-white-papers-on-philosophical-and-legal-questions-around-copilot
FSF還表示,如果還需要進一步研究,發(fā)表成后續(xù)論文,F(xiàn)SF會再加大資金支持。
FSF與GPL
自由軟件基金會(Free Software Foundation,F(xiàn)AF)致力于為計算機用戶爭取使用軟件的自由。

通過促進軟件和文檔的開發(fā)和自由使用,特別是GNU系統(tǒng),以及反對數(shù)字限制管理(DRM)和軟件專利等對計算機用戶產(chǎn)生的威脅。
FSF發(fā)布的GNU通用公共許可證(GNU GPL)是世界上最流行的自由軟件許可證。
也是唯一以促進和維護軟件自由為明確目的而編寫的許可證。
GNU GPL可保證用戶運行、研究、共享和修改軟件的自由。
同時,GPL下的任何衍生作品都必須遵循相同或等效的許可條款。
GNU官網(wǎng)對于GPL的解釋說,如果你想把修改過的GPL代碼向公眾發(fā)布,就需要提供源代碼。

https://www.gnu.org/licenses/gpl-faq.zh-cn.html#language-container
FSF還會發(fā)布其它重要的許可證,包括GNU LGPL、GNU AGPL和GNU FDL。
所以FSF才會這么理直氣壯地質(zhì)疑Copilot的存在。
質(zhì)疑聲迭起
GitHub Copilot憑借著自動生成代碼這個強有力的噱頭,推出之后就成為了討論的焦點。
GitHub聲稱Copilot可以做到分析文檔中的字符串、注釋、函數(shù)名稱以及代碼本身,從而生成新的匹配代碼,包括之前調(diào)用的特定函數(shù)。
發(fā)布之后就有人把Copilot拉去刷Leetcode的題庫,并對這位「AI程序員」的表現(xiàn)十分滿意。
經(jīng)過數(shù)個題目的驗證,Copilot每次都能通過Leetcode的測試。
鑒于幾乎是實時的生成速度,博主表示,AI可能比我們更會編寫代碼。
不過可疑的一點是,Copilot「生成」的內(nèi)容和Leetcode給的模板幾乎一模一樣。
無獨有偶,在Copilot發(fā)布的第二天,就有網(wǎng)友質(zhì)疑GitHub Copilot是把免費開源的代碼清洗之后,搖身一變就成了賺錢的工具。
而這些代碼本應該受到GNU GPL的保護,避免商用。
Copilot用基于GPL的代碼進行訓練這件事,網(wǎng)友就質(zhì)疑:
GPL明確聲明「不要將我的工作成果放在專利軟件中」,但Copilot真就這么做了。

不出所料,這個懷疑沒過兩天就變成了實錘。
有網(wǎng)友發(fā)現(xiàn),Copilot直接「復制-粘貼」了最有名的「平方根倒數(shù)速算法」。

Copilot「生成」的這段代碼不僅用到了至今都沒有人能理解的magic number:0x5f3759df。
旁邊「生成」的注釋還有對這段代碼的吐槽:what the f***?

所以,其實Copilot就是把訓練集中別人寫好的代碼重新組裝了一下而已。
GitHub的解釋
GitHub在Copilot的官網(wǎng)上表示,雖然可能有0.1%的直接引用,但是Copilot生成的代碼大部分都會是原創(chuàng)的。
除此以外,一位名叫Albert Ziegler的團隊成員表示,他收集了300名員工日常工作使用Copilot的數(shù)據(jù),其中包括對于Python的453780條建議。
Albert在分析整理之后寫了一篇看似十分完備的博客。
在博客中Albert表示,記住訓練集的內(nèi)容不是什么問題。
就好比背詩,大家都背詩,但這并不會讓他在日常交流中這些詩帶跑偏。
測試結(jié)果
對于GitHub Copilot的大部分建議,Albert表示并沒有發(fā)現(xiàn)與訓練用的代碼有任何明顯的重疊。
Albert認為,雖然GitHub Copilot會逐字逐句地引用一組代碼,但它很少這樣做。
就算是,多數(shù)情況下都是所有人都會引用的代碼,而且大部分是在文件開頭。
Albert表示,理想狀態(tài)下,如果Copilot「生成」了一個直接從訓練集復制的代碼,Copilot就會告知用戶。
用戶再決定給這個代碼署名還是直接拒絕Copilot給出的代碼。
但現(xiàn)實是,GitHub、微軟和OpenAI遲遲做不到這點。
FSF因此不得不親自下場表示要守護開發(fā)者的權(quán)益。
網(wǎng)友討論
基于道德層面,網(wǎng)友表示支持FSF,但同時也認為Copilot能夠降低程序員寫代碼的門檻。

網(wǎng)友表示,AI其實也跟人一樣,能夠在任何可以獲得的源代碼上學習編程。
如果有人說Copilot將自己以前見過的代碼粘貼在一起,那這種發(fā)言在技術(shù)和法律上都不太明智了。

當然,也有網(wǎng)友認為FSF應該設法讓軟件免費使用,而不是限制這個軟件。

你覺得Copilot究竟有沒有侵權(quán)呢?

























