社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

开源程序员愤怒控诉!Github的「AI码农」Copilot就是寄生虫

视学算法 • 2 年前 • 672 次点击  



  视学算法报道  

编辑:David
【导读】以方便程序员写代码为名,吸血开源社区为实,Github的「AI码农」Copilot其实就是个寄生虫?

Github去年推出的「AI程序员」Copilot曾一度受到程序员的热捧,但一个争议始终没有解决。

既然是AI,模型总要训练,写代码的AI,训练数据从哪里来?谁提供的训练代码?微软和GitHub的说法倒是直接:Github资源库里直接拿的。

说的好听,帮码农写代码,其实是白嫖码农的代码?开源社区对这一直意见很大。

最近,程序员 Matthew Butterick 站了出来,拥有律师身份的他,在个人博客中发文控诉了 Copilot,并宣布开展诉讼调查:

Copilot是什么?


GitHub Copilot是微软在长达一年的技术预览后,于2022年6月发布的产品。Copilot是Visual Studio和其他IDE的一个插件,根据用户在编辑器中输入的内容产生微软所谓的 「建议」。

这是一个营销噱头,也是一个巨大的违反开源许可证的框架。

Copilot与传统IDE中的自动完成功能有何不同?Copilot由Codex驱动,后者是一个由OpenAI创建并授权给微软的人工智能系统。 

Copilot根据用户输入的文本提示提供建议。Copilot可用于小的建议,比如移动到行末,但微软强调,Copilot有能力为更大的代码块提供建议,如整个函数的主体部分。

但是Codex,这个底层的人工智能系统是如何训练的?根据OpenAI的说法,Codex是在 「数以千万计的公共资源库,包括GitHub上的代码上训练的」。微软自己也含糊地将训练材料描述为「数十亿行的公共代码」。

但Copilot研究员Eddie Aftandilian在最近的播客中证实,实际上Copilot是在 GitHub上的公共资源库上训练的。

Copilot的问题:所谓「合理使用」于法无据


我们对Copilot的了解,引发了与该系统的训练和使用有关的法律问题。

关于系统的训练: 绝大多数开源软件包都是根据许可证发布的,这些许可证授予用户某些权利并规定了某些义务(例如,保持源代码的准确归属)。这些许可证在法律上是由软件作者主张他们的代码的版权而实现的。

因此,那些希望使用开源软件的人只有一个选择,要么不用,要用就必须遵守许可证规则。

[我们都明白了,微软并不是我们所听说的那种令人敬畏的、友好的、完全道德的公司......」

Ryan Fleury

微软和OpenAI已经承认,Copilot和Codex是在GitHub上的公共仓库的开源软件上进行训练的。那么他们做出了哪种选择?

如果微软和OpenAI选择在他们各自的开源许可下使用这些软件,微软和OpenAI就需要发布大量的署名,因为这是几乎所有开源许可的最低要求。然而,Copilot没有明显的署名。

因此,微软和OpenAI一定是在依靠「合理使用」的论据。前GitHub首席执行官Nat Friedman在Copilot技术预览版本公布后声称,在公共数据上训练机器学习系统属于合理使用。

真的是这样吗?

这不是观点问题,而是法律问题。自然,微软、OpenAI和其他研究人员一直在宣传公平使用的说法。Nat Friedman进一步宣称,有关于合理使用的判例,被机器学习界广泛依赖。但软件自由保护协会不同意,并要求微软提供证据来支持其立场。

根据自由软件保护协会(SFC)主任Bradley Kuhn的说法:

[我们在2021年6月私下询问了Friedman和其他微软和GitHub的代表,要求为GitHub的公开法律立场提供可靠的法律参考......他们没有提供。

为什么微软不能自己的立场提供任何法律权威依据?因为SFC说的没错:没有任何依据。

此外,关于合理使用的案件要平衡多种因素。即使法院最终裁定某些类型的人工智能训练是合理使用--这似乎是可能的--它也可能排除其他因素。到今天为止,我们还不知道Copilot或Codex是否属于这个范围。微软和OpenAI也不知道。

为什么说微软的理由是扯淡?


我们还不能说合理使用的原则最终将如何适用于AI训练。但我们知道,这根本不会影响Copilot用户。为什么?因为他们只是用Copilot来写代码。那么,写的代码的版权和许可状况如何?

在2021年,Nat Friedman声称,Copilot产生的输出属于「操作者,就像编译器一样」。但这是个很扯淡的比喻,Copilot为不小心的人埋下了新的陷阱。

微软将Copilot的输出描述为一系列的「代码建议」。微软对这些建议不主张任何权利。但是,微软也不对这样生成的代码的正确性、安全性或减轻的知识产权纠葛做出任何保证。一旦接受了Copilot的建议,所有这些都将成为你的问题。

这样的规定可能出现什么麻烦?

Copilot的用户已经表明,Copilot可以被诱导从可识别的资源库中发出逐字逐句的代码。就在本周,德克萨斯A&M大学教授Tim Davis的大段代码就被Copilot逐字复制,甚至连注释都一起复制了。

这里,关于代码来源的信息--作者、许可证等--都被剥离了。如果Copilot的用户甚至不知道许可证的存在,他们怎么能遵守许可证的规定?

Copilot神奇的代码检索方法是一个烟幕弹,旨在掩盖一个肮脏的事实:Copilot只是一个方便的替代接口,可以访问大量的开源代码。因此,Copilot用户可能会对底层代码的作者产生许可义务。

在这种背景下,Nat Friedman声称Copilot的操作 「就像编译器」是相当可疑的。

Copilot就是一条「寄生虫」


通过提供Copilot作为大量开放源代码的替代界面,微软所做的不仅仅是切断开放源代码作者和用户之间的法律关系。

可以说,微软正在创造一个新的围墙花园,它将抑制程序员发现传统的开源社区。或者至少,消除任何这样做的动机。随着时间的推移,这个过程将使这些社区陷入饥饿。

用户的注意力和参与将被转移到Copilot的围墙花园中,而远离开源项目本身--远离他们的源代码库、问题跟踪器、邮件列表和讨论区。这种能量的转移对开源来说将是一个痛苦的、永久性的损失。

Copilot就是寄生虫!

微软云计算高管Scott Guthrie最近承认,尽管微软CEO Satya Nadella在收购GitHub时做出了「GitHub将保持开放平台」的美好承诺,但微软一直在推动更多的GitHub服务,包括Copilot,进入其Azure云平台。

显然,开源开发者不是为了钱,但我们也不是白做的。发布开源软件的一大好处是人:由用户、测试人员和贡献者组成的社区,围绕着我们的工作凝聚起来。

我们的社区帮助我们以自己无法做到的方式使软件变得更好。这使我们的工作充满乐趣和合作。

Copilot为开源软件引入了一个更自私的方式:只要给我想要的东西就可以了。有了Copilot,开源用户就不必知道谁制作了他们的软件。他们不需要与社区互动。也不需要做出贡献。

与此同时,开源作者不得不眼睁睁地看着我们的作品被藏在一个叫做Copilot的大代码库里。我们得到的用户反馈和贡献?很快,全部消失了。Copilot对我们的个人项目毫无贡献。对广泛的开源社区也没有贡献。

Copilot的围墙花园与开源生态是对立的,是有毒的。

因此,这也是对GitHub在被微软收购之前所代表的一切的背叛。如果你在2005年之前出生,你会记得GitHub的声誉是建立在它对开源开发者的友好和对开源社区的培养上的。相比之下,Copilot一来,这些完全走向了反面。

当我第一次写到Copilot时,我曾说「不担心它对开源的影响」。在短期内,我仍然不担心。但是,当我反思我自己25年的开源之旅,我意识到,我忽略了大局,开源社区并不是一个固定的群体,它在不断成长、不断变化,不断地被新的思想所更新。

这时,Copilot来了。它的目标是将开源的能量赋予自己。我们不需要深入了解微软在开源方面的历史,就能看出Copilot的本质:寄生虫。

在Copilot对开源生态的损害变得不可挽回之前,它的合法性必须得到检验,这也正是我要告Copilot的原因。

参考资料:
https://githubcopilotinvestigation.com/#what-is-github-copilot


点个在看 paper不断!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/148445
 
672 次点击