当前位置: 首页 > 科技观察

GitHub激怒了开源社区!Copilot,哪个不是免费的,只有副本?受不了

时间:2023-03-12 19:57:30 科技观察

GithubCopilot自发布以来就引起了争议。最近,自由软件基金会(FSF)终于受够了!据FSF称,Copilot技术引发了法律和哲学问题。FSF在一篇文章中写道,GitHubCopilot“从我们的角度来看是不可接受和不公正的”。因为Copilot需要运行付费软件,比如微软的VisualStudioIDE或者VisualStudioCode编辑器。这样,Copilot就变成了SaaSS(服务即软件替代品)。Copilot只要“复制”和“粘贴”,就可以窃取开发人员过去的工作成果。Copilot还提出了许多其他需要进一步研究的问题。例如,开发人员不知道在软件上训练神经网络是否有意义。此外,一些对Copilot感兴趣的人想知道使用从GitHub存储库复制的代码是否侵权。即使一切都是合法合规的,一些活动家仍然怀疑这样一家专有软件公司将其服务建立在开发人员过去的工作之上是否公平。为了回答这些问题并捍卫用户的使用自由,FSF宣布资助一份白皮书,共同解决Copilot、安全、机器学习和免费软件的问题。白皮书500美元FSF在官网上列出了白皮书应该回答的问题:Copilot的公共存储库培训是否侵犯版权?使用是否合理?Copilot的输出作为违反GPL许可作品的可诉索赔的可能性有多大?开发人员如何确保他们拥有版权的任何代码不受Copilot违规的影响?有没有办法让使用Copilot的开发人员遵守GPL等自由软件许可证?如果Copilot从AGPL覆盖的代码中学习,Copilot是否违反了AGPL?如果Copilot生成的代码确实会导致违反自由软件许可作品,那么版权所有者如何发现这种违规行为?经过训练的AI或机器学习模型是否源自机器学习生成的训练数据的编译版本?还是用户可以通过进一步培训修改源代码?Copilot训练的AI/ML模型是否受版权保护?如果是,谁拥有版权?像FSF这样的道德倡导团体是否应该倡导修改与这些问题相关的版权法?如果提交的白皮书能够解决以上问题,可以获得500美元的奖励。https://www.fsf.org/blogs/licensing/fsf-funded-call-for-white-papers-on-philosophical-and-legal-questions-around-copilotFSF还表示,如果需要进一步研究,它将发表为后续论文,FSF将加大资金支持。FSF和GPL自由软件基金会(FreeSoftwareFoundation,FAF)致力于争取计算机用户使用软件的自由。通过促进软件和文档的开发和免费使用,尤其是GNU系统,并反对数字限制管理(DRM)和软件专利等对计算机用户的威胁。FSF颁发的GNU通用公共许可证(GNUGPL)是世界上最流行的自由软件许可证。它也是唯一以促进和维护软件自由为明确目的而编写的许可证。GNUGPL保证用户运行、研究、共享和修改软件的自由。同时,GPL下的任何衍生作品都必须遵循相同或等效的许可条款。GNU官网对GPL做了说明,如果要公开修改后的GPL代码,需要提供源代码。https://www.gnu.org/licenses/gpl-faq.zh-cn.html#language-containerFSF还发布了其他重要的许可证,包括GNULGPL、GNUAGPL和GNUFDL。这就是为什么FSF如此自信地质疑Copilot的存在。质疑声不断GitHubCopilot凭借自动生成代码的强大噱头,自上线以来就成为了讨论的焦点。GitHub声称,Copilot可以分析文档、注释、函数名称和代码本身中的字符串,以生成新的匹配代码,包括之前对特定函数的调用。发布后,有人拉着Copilot刷了Leetcode的题库,对这位“AI程序员”的表现非常满意。经过多次验证,Copilot每次都能通过Leetcode测试。考虑到近乎实时的生成速度,博主认为AI可能比我们更擅长编写代码。但令人怀疑的是,Copilot“生成”的内容与Leetcode给的模板几乎一模一样。无独有偶,在Copilot发布的第二天,就有网友质疑GitHubCopilot在清洗了免费开源代码后,变成了赚钱的工具。并且这些代码应该受到GNUGPL的保护,以避免商业用途。网友质疑Copilot使用基于GPL的代码进行训练:GPL明明“不要把我的工作成果放在专有软件里”,但Copilot真的这么做了。不出所料,两天之内,这种怀疑就变成了实锤。有网友发现Copilot直接“复制粘贴”了最著名的“平方根倒数速度算法”。Copilot“生成”的代码不仅使用了一个无人能理解的幻数:0x5f3759df。在“生成的”评论旁边还有一个关于这段代码的抱怨:他妈的是什么?所以,实际上Copilot只是把别人写的代码重新组装在训练集中。GitHub的解释GitHub在Copilot官网表示,虽然可能会有0.1%的直接引用,但Copilot生成的大部分代码都将是原创的。此外,一位名叫AlbertZiegler的团队成员表示,他收集了300名员工日常使用Copilot的数据,其中包括453,780条针对Python的建议。经过分析和整理,Albert写了一篇看似完整的博客。在博客中,Albert表示记住训练集的内容不是问题。就像背诗一样。人人都会背诗,但这并不能使他在日常交际中误入歧途。测试结果对于GitHubCopilot的大部分建议,Albert表示他没有发现与用于训练的代码有任何明显的重叠。Albert争辩说,虽然GitHubCopilot会逐字引用一组代码,但它很少这样做。即使是,大部分时候也是大家引用的代码,而且大部分都在文件的开头。Albert说,理想情况下,Copilot会告诉用户Copilot是否“生成”了直接从训练集中复制的代码。然后用户决定签署代码或直接拒绝Copilot给出的代码。但现实情况是,GitHub、微软和OpenAI在这方面进展缓慢。因此,FSF不得不亲自下场,并表示会保护开发者的权益。网友们的讨论都是基于道德层面的。网友纷纷表示支持FSF,但同时也相信Copilot可以降低程序员写代码的门槛。网友表示,人工智能和人类一样,可以在任何可用的源代码上学习编程。说Copilot将您以前见过的代码粘贴在一起在技术上或法律上都是不明智的。当然,也有网友认为FSF应该尽量让软件免费使用,而不是限制软件。你认为Copilot是否侵犯了版权?