登陆注册
1548

“请不要在 GitHub 上传我的代码!”

站长网2023-05-10 09:05:150

对多数程序员而言,GitHub 是一个神奇的开源社区:有丰富的学习资料、著名的项目代码,新手小白也能和编程大佬直接交流,帮别人“填坑”也能提升自我……

因此,可能很难有人料想到,有一天 GitHub 竟成为了开发者抵制的存在——今日有个开发者(以下用 “T” 代称)写的文章登上了 Hacker News 热榜,标题是:“请不要在 GitHub 上传我的代码!”

“罪魁祸首”:Copilot

说实话,看到这个标题,相信许多人的第一反应就是:GitHub 怎么了,有什么问题吗?对此,T 在文中“开门见山”地指出:“GitHub 有很多问题,其中最值得关注的,就是一个名为 Copilot 的功能。”

没错,被程序员视为“AI 编码神器”的 Copilot,就是“罪魁祸首”。

根据官方介绍,GitHub Copilot 是一个 AI 配对程序员,由 OpenAI 创建的生成预训练 AI 模型 Codex 提供支持:“可以帮助你更快地编写代码,减少工作量,从注释和代码中提取上下文,即时建议个别行代码和整个函数。”

听起来很智能,也很高效,即 AI 能帮助生成代码——但问题在于,Copilot 是如何学会编码的?

? “GitHub Copilot 经过数十亿行代码的训练,将自然语言提示转化为数十种语言的编码建议。”

?“OpenAI Codex 经过了开源代码和自然语言的培训,因此它适用于编程和人类语言……接受了公共的自然语言文本和源代码的训练,包括 GitHub 上公共存储库中的代码。”

简单来说,GitHub Copilot 确实会生成一些合适的代码,但追究其根本,其源头可能还是他人写的代码——而这,显然涉及到了代码版权问题。

绕过 GPL 协议?

有一件事需要明确:代码开源,并不意味着我们可以自由免费地用这些源代码来为所欲为,因而衍生出了许多不同的开源协议(也称开源许可证 / 开源 License,如 GPL/LGPL 等),以此规定开源代码免费使用的范围和权利。

以最为著名的开源协议 GPL 为例,其要求:只要在一个软件中使用了 GPL 协议的代码,则该软件产品必须也采用 GPL 协议,既必须也是开源和免费。

那么,问题就来了:实际上 Copilot 所学习的数十亿行开源代码,以及 GitHub 上公共存储库中的代码,其中不少都采用了 GPL 协议。而 Copilot 生成代码片段时,并不会显示原代码作者的信息,也没有提醒相关开源协议

这会导致部分遵循 GPL 协议的代码,被写入一些不开源的专有项目或商业项目中——既违反了许可证条款,也侵犯了原代码作者的知识产权。

因此,作为一名开源开发者,T 在文中呼吁:“我们已经厌倦了这种法律上的滥用,我们希望现在就停止!这也就是为什么我们要求你,作为开源社区的其他开发人员,不要在 GitHub 上传我们的代码。简而言之,我们希望保护我们的工作。”

Copilot 的争议一直未断

伴随着近几个月的AIGC热潮,MidJourney、Stable Diffusion、Copilot等生成式 AI 受到关注,但与此同时各种 AI 成果的版权问题也被推上了风口浪尖。事实上,有关 Copilot 的争议自其发布以来就一直没有断绝,其中多数围绕的都是:Copilot 生成的代码到底是原生的还是复制的?

据了解,早在 Copilot 刚发布不到一周时,就有开发者发现了 Copilot “复制代码”的实锤:Copilot 推荐的代码,还带着原代码“WTF”的注释。

此事一度在圈内引起了不小的讨论,当时便有开发者发话称,因为 Copilot严重侵犯了版权所有者的权利,以后都不会再用 GitHub 了:

因此事的过度发酵,2021年还身为 GitHub CEO 的 Nat Friedman 在推特进行了回应:

一般来说:(1)在公共数据上训练 ML 系统是合理使用(2)输出属于操作员,就像编译器一样。

我们预计在未来几年,知识产权和人工智能将成为世界各地有趣的政策讨论,而我们渴望参与其中!

不过此后,微软和 GitHub 方面再没有对 Copilot 生成代码的版权及开源许可证等争议做过任何相关处理和声明。

如今,“Copilot 会绕过 GPL 协议”,“Copilot 将开源代码变成商业作品”等说法愈演愈烈,那么作为开发者的你,对此又有什么看法呢?

参考链接:

https://nogithub.codeberg.page/

https://news.ycombinator.com/item?id=35859142

https://twitter.com/natfriedman/status/1409914420579344385

0000
评论列表
共(0)条