GitHub用AI帮程序员补全代码,却惹怒了一群开源作者

小青爱吃草2021-07-19  191

图片来源@视觉中国

文 | 光锥智能,作者|陈思

6 月下旬,微软旗下代码托管平台 GitHub 推出了能够对整行或全部代码给出 AI 分析建议的 Copilot 编程辅助工具。

这款工具不仅能够支持多种编程语言,还可以给出开发者修改建议,甚至根据简单的文字描述生成代码段。

然而,这款怎么看都觉得是提升开发人员工作效率的工具,一经推出后,迎来的几乎没有欢呼,更多的是来自开源作者们的批判。

✅️✅️代码未经许可被拿走,开源作者们怒了

“他们不打一声招呼,就直接拿走我们的代码去训练他们的AI模型,这简直太过分了!❗️❗️”

在Twitter、Hackernews等社交平台以及论坛上,越来越多的开发者发出了对GitHub以及微软公司的声讨,更有甚者宣布自己今后将不再使用GitHub:

✅️(大意:我不同意 GitHub 未经授权和未经许可就使用受版权保护的源代码作为其基于机器学习的GitHub Copilot产品的训练数据。该产品将受版权保护的代码注入其客户的软件中,而无需获取原始代码创作者的许可。✅️我认为这是对版权所有者权利的严重攻击,因此我不会继续使用 GitHub 的服务。)

要了解开发者们的愤怒源头,首先要知道一下GitHub Copilot是什么。

GitHub Copilot是基于非盈利技术组织OpenAI的一个代码补全项目CodeX创建的。根据官网介绍,Copilot可以实现以下功能:

根据函数名称补全代码:

根据注释所写逻辑,直接实现代码:

自动补全重复代码:

在测试的时候,直接生成与代码相匹配的测试模块:

从功能上来看,这都是一个对开发者非常友好的工具,对提升工作效率非常有帮助,这一点在国内外的开发者论坛中也得到了不少的好评。

可为什么它让这么多开发者愤怒呢?❓❓

既然是AI工具,总得有一个训练数据的来源吧?❓❓没错,正如文章开头说的那样:✅️GitHub Copilot的训练数据全都是站内开发者贡献的开源代码,且并未告知开发者,这也是开发者们愤怒的直接来源。

据了解,微软未来还计划将GitHub Copilot做成收费的企业版本,这一点则更让开发者们不爽:“免费拿了我们的代码去训练不说,还想用它来盈利,而且对于我们这些贡献者,微软一丁点补偿都没有!❗️❗️”

✅️(大意:我知道有人对这个工具很兴奋,但是GitHub偷拿了你的代码,用它训练了这个AI,甚至还考虑在未来向你收费。)⭐

不少开发者认为,这样的行为是非常严重的侵权。随着话题不断发酵,GitHub Copilot被“骂上热搜”,甚至一度占据HackerNews热度榜第二的位置。

✅️GitHub深陷侵权漩涡

起初,还有一些开发者认为,GitHub本身作为一个开源代码托管的平台,应该不至于做出如此过分的事情,然而当他们发送邮件向官方询问后,却得到了令他们失望的回复:

✅️(大意:这位开发者想知道当GitHub选择代码进行训练时,会不会区分许可证?❓❓然而官方的回复是,所有公开的代码都会拿来训练,并不会区分许可证。)⭐

GitHub官方起初为了保护开发者的版权,提供了一套许可证机制(License)⭐,这样其他用户在使用开源作者的代码时,就要遵循一定的规则,不能任意使用。

比如GPL许可,它要求✅️任何人修改了软件后,修改后的内容也必须开源。因此,商业公司在使用此类代码的时候会非常有顾虑,因为一旦公司使用了 GPL 的代码,那么自己辛辛苦苦做出的修改内容也必须要通过 GPL 开源,让竞争对手也可以直接拿来用,很难形成竞争壁垒。这也劝退了一些想要拿开源代码“不劳而获”的公司或组织。

可是,根据网友的反馈,GitHub Copilot虽然使用了包含GPL许可证的代码,却没有按照自己的规定将Copilot开源,这也同样引起了一些开发者的不满。

一些开发者在使用GitHub Copilot的过程中也发现了一些问题。

当使用代码补全功能的时候,Copilot提供的代码片段极有可能是某个开源作者的作品,这相当于未经许可使用了对方的代码,但是,使用者和被侵权者两方有可能都不知情。

仍然以GPL许可来举例。

如果一位用户的代码补全采用了其他用户的GPL许可证代码,但因为这个用户不知情,并没有按规则开源自己修改后的代码,一旦后续发生了维权事件,这个责任该由谁来负?❓❓而企业开发者一旦使用了这项功能开发产品,并实现了盈利,是否应该给代码的原作者分成?❓❓或者应该由GitHub来给开源作者们一些补偿?❓❓

很不幸的是,都没有,至少目前来看,GitHub和微软都没有这方面的考虑。甚至GitHub Copilot官方的声明上明确写着:

“您在GitHub Copilot的帮助下创建的代码属于您自己......就像编译器一样,您使用GitHub Copilot输出的东西属于您。”

自己辛苦开源出来的东西被一声不吭地拿走,之后又可能在自己完全不知情的情况下成为他人的盈利工具,难怪开源作者们会如此愤怒。

一些开源作者们想要联合起来,对微软提起诉讼,可是面对着力量庞大的技术大厂,维权谈何容易。

有关注此事的法律界人士表示:关于科技巨头计划如何使用开源资源库,法律上是没有任何规则或规定的。即使开发者们决定起诉微软,这也意味着可能会对如何使用开源软件施加一套新的规则,这反过来又会让人们质疑开源的真正意义。

总而言之一句话,即便被“喷”得这么惨,微软也未必担心会受到法律制裁,只要GitHub还在他们手里,怎么使用也不过是换一套规则罢了。

✅️新时代的开源难题

GitHub Copilot带来的版权问题也引起了一些国内技术专家与开发者的关注。

比如小米集团副总裁崔宝秋就曾在微博上表示:“这确实是新时代的开源面临的一个新挑战。”

光锥智能也就“开源侵权与维权”的话题跟开发者们聊了聊。综合受访者们的回答,我们总结出新时代的开源难题一般存在于这样几个层面:

✅️(1)⭐侵权定性难

一位开发者说:以他的了解,好像大家对“代码侵权”没什么概念。

一方面,“侵权”的边界很难界定,“开发者经常有借鉴别人思路的时候,或者参考了其他人的代码结构,在这种情况下,是不是涉及侵权呢?❓❓”他补充说,另一方面,即便真的有疑似侵权的情况,谁来判定侵权的事实是否成立呢?❓❓

✅️(2)⭐证据搜集难

对于独立开发者或者小型初创团队来说,这几乎是一道最难的坎儿。

一位曾经参与创业的受访者告诉光锥智能:“我们以前因为类似的事情跟大厂‘正面刚’过,但是我们没有办法证明他们的代码创意来自我们。”对方的回应与前文那位开发者说的情况极为类似,以“撞了思路”为由,将他们拒之门外。

他补充说:“如果要反编译他们的代码,对方很有可能反过来把我们给告了,所以证据不足的情况下,下一步维权也难以走下去了。”

✅️(3)⭐维权成本高

综合前面几位开发者的讲述,想必读者们也发现了,开源代码侵权这件事,首先从法律认定上就比较困难。

根据光锥智能的了解,目前我国暂时没有发生过与开源软件许可证有关的诉讼,在法律层面上来说,这一部分也尚属空白。虽然有法律专家表示,可以从著作权、专利权等角度入手进行诉讼,但是难度较大,只能在培养法律意识方面多多加强,并呼吁国家尽快在相关领域建立可以参考的政策法规。

另一方面,开源维权往往发生在独立开发者、小型初创团队/公司与一些大厂之间,“人家大厂有资金、有法务,我们就算想打官司,也未必打得过人家”,一位受访者无奈地表示,“对方吃准了你没时间、没精力、没钱,光是从时间成本上来说,我们也耗不过他们。”

转载请注明原文地址: http://www.beijingtoday.com.cn/tech/551833
00