文 陳徐毅(北京)
人工智能的紅利仍在持續(xù)改變世界,未來軟件工程自動化是長期趨勢。
隨著計算機(jī)生產(chǎn)力工具的不斷變革,由人工智能支撐的編程工具自動化在近兩年迎來高速發(fā)展。與此同時,新事物也伴隨著新問題接踵而至,因AI編程引起的軟件著作權(quán)爭議迷霧籠罩著業(yè)界。不久前,軟件自由保護(hù)協(xié)會(Software Freedom Conservancy,SFC)因不滿知名開源托管平臺GitHub對旗下AI編程工具Copilot收費一事,發(fā)布了一篇名為《放棄GitHub:時機(jī)已到!》的長文,并呼吁所有的自由軟件與開源軟件開發(fā)者離開GitHub平臺。
為什么一款人工智能編程工具的收費舉動引發(fā)了SFC和GitHub平臺的決裂?這要從異軍突起的AI自動化編程說起。
Copilot是由GitHub平臺與OpenAI實驗室合作開發(fā)的一個AI插件,用戶通過將其安裝在常見的代碼編輯器或集成開發(fā)環(huán)境工具(如VSCode、Intellij IDEA等)中,在編程時Copilot會輔助開發(fā)者自動補全代碼。
C o p i l o t的代碼補全能力其原理由OpenAI Codex模型提供支持,該模型基于GPT-3(一種基于文本訓(xùn)練的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò))創(chuàng)建,同時還接受了來自GitHub平臺上5400萬個存儲庫的159GB Python代碼的訓(xùn)練。Copilot目前能夠支持十多種編程語言的自動代碼補全,其中Python的效果最佳。程序員在插件的輔助下甚至只要輸入一段注釋,Copilot就會立即給出接下來可用的代碼、建議。
AI編程工具通過文本訓(xùn)練聚合了海量代碼信息,為程序員省去了大量的查找時間。有開發(fā)者戲稱:“Copilot不僅解放了大腦,還解放了手指?!比斯ぶ悄芷浔举|(zhì)是人類智能的集合,在算力上超越人類智能的表現(xiàn)在于其巨大的并行計算,這也是21世紀(jì)人工智能神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)迅速壯大的原由。將這種能力運用到計算機(jī)軟件開發(fā)和軟件工程領(lǐng)域,確實將帶來生產(chǎn)力工具的極大變革。
Copilot的收費舉動是當(dāng)前最表面的問題也是引爆爭議的導(dǎo)火索。GitHub在去年6月放出Copilot技術(shù)預(yù)覽版之初,社區(qū)開發(fā)者們表現(xiàn)出積極的興趣,經(jīng)過一年時間對各種編程語言的適應(yīng)并在多種開發(fā)環(huán)境上測試發(fā)布,該插件工具已經(jīng)積累起超過120萬數(shù)量的訂閱群體。
人工智能的紅利仍在持續(xù)改變世界
其實Copilot與其算法模型Codex自發(fā)布伊始就引起了業(yè)界一些機(jī)構(gòu)和專業(yè)人士的擔(dān)憂,這些觀點認(rèn)為該技術(shù)生成的代碼段可能會在不知不覺中牽涉版權(quán)問題。由于一開始Copilot是免費訂閱的,這個問題并沒有被擴(kuò)大,短時間內(nèi)也很少會出現(xiàn)將Copilot生成代碼商用的情況。隨著GitHub對Copilot搞起了收費模式,那些原本“沉默”的爭議瞬間被點燃爆炸。
SFC在“討GitHub檄文”中對其作為列舉數(shù)項批評,呼吁開發(fā)者不要忘記21年前另一個平臺SourceForge將代碼私有化的教訓(xùn)。反對GitHub Copilot收費觀點認(rèn)為,平臺上托管著數(shù)量巨大的開源代碼項目,這些代碼依據(jù)項目本身所發(fā)布開源許可證規(guī)定合理利用,GitHub作為托管平臺將開源代碼用于Copilot自動化輔助后,又對該插件進(jìn)行訂閱收費,這樣的行為與相關(guān)知識產(chǎn)權(quán)法規(guī)以及開源許可約定相悖。
同時,反對觀點所指向的爭議在于,當(dāng)用于機(jī)器學(xué)習(xí)訓(xùn)練的開源代碼被提供給Copilot用戶作為另一創(chuàng)作者的代碼、軟件項目的一部分時,該行為是否屬于對前者的合理利用。眾所周知,開源許可證種類眾多而規(guī)則不一,譬如對版權(quán)運用最嚴(yán)格的GPL許可證具有“凡觸之皆GPL”的傳染性,這就基本上阻絕了該證軟件的商業(yè)應(yīng)用,而其他常用的許可證諸如BSD、MIT、Apache都有相應(yīng)的規(guī)則。
SFC所指出問題其一就在于平臺方并未給出所訓(xùn)練代碼的相應(yīng)許可證,如果該問題沒有合適的解決方法,就如同一些開發(fā)者所說的:當(dāng)你某天在敲代碼的時候突然收到來自其他作者的私信(侵犯他人版權(quán))。而Copilot目前暫不支持代碼查重這樣的功能,因為這涉及到非常復(fù)雜和前所未有的工作。
軟件知識產(chǎn)權(quán)糾紛問題由來已久,遠(yuǎn)的如AT&T訴伯克利BSD侵權(quán)Unix,近的有甲骨文訴谷歌Java案。裁量和判定一直以來都是軟件案的難點,比如在Java案中,法庭在安卓系統(tǒng)有無對Java專利構(gòu)成侵權(quán)、JavaAPI是否受版權(quán)保護(hù)問題上的裁定令人印象深刻,對“被復(fù)制的37個JavaAPI代碼段”的自由裁量成為該案的關(guān)鍵。人工智能輔助編程插件作為工具本身提供代碼補全,在免費的情況下顯然沒有問題,這被認(rèn)為是平臺向用戶提供服務(wù)用于研究、交流和創(chuàng)作;一旦收費就存在侵權(quán)糾紛,因為代碼著作權(quán)并非平臺所有,除非插件所提供的代碼段在法律裁量上無法被裁定為復(fù)制。
軟件知識產(chǎn)權(quán)是法律領(lǐng)域比較新的知識,因為軟件相對于機(jī)器硬件其商業(yè)價值在20世紀(jì)60年代末才開始逐漸顯現(xiàn),而代碼和開源等方面在世界各國現(xiàn)行的版權(quán)法體現(xiàn)上都存在較大真空。隨著近年來圍繞著開源代碼侵權(quán)的案件逐漸增多,這一領(lǐng)域的缺失有望得到有效補充。
人工智能的紅利仍在持續(xù)改變世界,未來軟件工程自動化是長期趨勢。繼運維部署之后,開發(fā)領(lǐng)域也將面臨巨大變化,本輪深度學(xué)習(xí)帶來的AI變革將持續(xù)推進(jìn)生產(chǎn)力工具的形態(tài)演進(jìn)。同時,人工智能也是一把雙刃劍,開發(fā)者也應(yīng)當(dāng)認(rèn)識到過度依賴自動化的負(fù)面結(jié)果。