Github Copilot 是否违反 GPL 协议?

2021-07-07 15:52:21 +08:00
 stimw

看见公众号推送的,想了想觉得挺有意思:

在 GitHub Copilot 直接复制快速平方根倒数算法这个过程中有个矛盾点,即这段代码是遵循 GNU GPL 2.0 协议进行开源的,而 GitHub Copilot 却要在未来扩展为付费服务提供。

在此基础上,就产生了一个巨大争议:这个现象表示 GitHub Copilot 在训练过程中必定使用过 GPL 协议下的代码,那么机器学习系统产生的作品,甚至机器学习系统本身,都算是 GPL 协议中规定的衍生作品吗?

  • 如果答案是“否”,那是不是说明开发者可以利用 GitHub Copilot 来“清除”代码的 GPL 协议,从此再也无需遵循该协议?

  • 如果答案是“是”,那么不仅 GitHub Copilot 应该免费开源,整个 GitHub 都要成为一个开源项目:据 GitHub 博客中“在 GitHub Copilot 的早期开发过程中,作为内部试用的一部分,近 300 名员工在日常工作中使用了它”的说法,这些员工很有可能已经将 GitHub Copilot 生成的代码整合到 GitHub 的方方面面,那么 GitHub 就也应该是个开源项目。

5271 次点击
所在节点    GitHub Copilot
24 条回复
hronro
2021-07-07 15:59:14 +08:00
刚好前几天在推上看到一个有趣的观点:

https://imgur.com/a/ly8rtnI
hronro
2021-07-07 16:00:03 +08:00
AoEiuV020
2021-07-07 16:09:39 +08:00
gpl 开源毒瘤名不虚传,
我不太懂这些,但做为开发者,直觉判断,就算侵权,也应该是使用方在确实用到了 Copilot 生成的 gpl 开源代码时使用方自身被感染,ai 本身不应该被感染,
也就是不能‘利用 GitHub Copilot 来“清除”代码的 GPL 协议’,
这样看的话感觉合理很多,相应的 Copilot 在生成代码时就可能需要提示开源协议了,甚至添加开关过滤部分毒瘤协议的代码,
vk42
2021-07-07 16:11:16 +08:00
Copilot 不需要开源啊,只要它的代码本身没有依赖 GPL 代码,对于 Copilot 来说 GPL 代码就是 train 的输入数据而已,这样类推 train 出来的 model 应该开放才是。类似于用私有的编辑器编辑了 GPL 代码,并不需要开源编辑器吧
hronro
2021-07-07 16:16:29 +08:00
别说什么 GPL 毒瘤不毒瘤的,即使是最宽松的 MIT 协议,也要求使用这些开源代码的人,需要在你的仓库中包含原 License 。但现在看来,如果你是通过 GitHub Copilot 来使用这些开源的 MIT 协议的代码的话,并不会遵守 MIT 协议的要求将原 license 包含在你代码里。
dingwen07
2021-07-07 16:20:24 +08:00
Copilot 软件中并没有包含 GPL 代码,应该是不需要使用 GPL 开源。而由 Copilot 生成的代码可能就会引起一些争议,我估计起草开源许可证的人根本没有想到能用机器学习来写代码。
ryh
2021-07-07 16:32:20 +08:00
代码是现写的不是复制的(滑稽🤪)
icyalala
2021-07-07 16:36:11 +08:00
有两点要区分一下:
1. GPL 衍生作品,或者说传染的边界在哪里,是否涵盖用于 AI 训练?
如果训练结果只为了 “简单的提示变量命名” 这种服务,这种服务是否应当被传染?

2. 用户参考开源项目中代码(不限 GPL/MIT ),不论是通过 AI 还是人工阅读,
参考到什么程度则需要遵守原始的 License ?比如一个独特函数名,几行通用的算法?
jim9606
2021-07-07 16:47:59 +08:00
等 GNU 那边的人回答吧,个人感觉如果只是片段重复,例如几个短函数或者几个 API 什么的,可以算作合理使用。拿来搞 IDE 代码建议也是符合 GNU 精神的。

不过要是用 Copilot 代替人工搞 cleanroom 复刻,那肯定是不可接受的,不过现有许可证能不能防御这个问题还不清楚,这个得等司法实践去验证。GNU 肯定没考虑到还能这么用。

@hronro 不用 github 并不能摆脱 copilot,除非你不开源,否则只要公开就有拿来当材料的可能。
1194129822
2021-07-07 20:46:28 +08:00
真以为微软是老好人啊?以前的闭源为了卖光盘,现在的开源也不过是卖云。微软做的恶罄竹难书,现在却能光明正大的洗白。估计现在 linux 内核都有微软的专利代码,说不定哪天就爆炸了。真开源还是看 Apple,虽然数量不多,但都是质量上乘,持续维护的好项目。
learningman
2021-07-07 20:51:09 +08:00
如果这能传染,那用了 Co-Pilot 的项目怕不是要打包几十万个 LICENSE 文件
charlie21
2021-07-07 21:06:14 +08:00
若真违反协议了,你是硬汉你应该去状告微软 起诉 github,而不是 abandon github
又见花式碰瓷
shayuvpn0001
2021-07-07 21:15:04 +08:00
开源的好货,基本上只要被商业公司染指,我觉得基本上就不会有什么好下场了。
stimw
2021-07-07 21:19:21 +08:00
@learningman
@charlie21

按我的个人理解,copilot 本身不应该被传染,但生成的代码完全绕过协议又不是很合理。
所以各种协议这边应该要增加新条款来涵盖这玩意了...
anytk
2021-07-07 22:21:44 +08:00
时代变化这么快?还有说 GPL 是开源毒瘤?不要觉得微软近年来向开源示好就觉得是个好人,
akira
2021-07-07 22:25:29 +08:00
Copilot 看成一个独立个体的人呢.
你看过一段 gpl 代码,后来在工作的时候,按照同样的思路写了一段代码,那这段代码是否需要继承 gpl 呢。
Vancion
2021-07-07 22:29:57 +08:00
@akira Copilot“写”出的应该是同一段代码。
Vancion
2021-07-07 22:34:13 +08:00
说错了,修正:
其实有关 GitHub Copilot 直接复制代码的问题,微软早在官宣时就曾回应:“只有 0.1% 的情况下,GitHub Copilot 提供的代码建议中可能包含一些来自训练集的字符或片段。”
zengxs
2021-07-08 10:27:17 +08:00
@akira #16 这种情况理论上也是要继承 GPL 的。不过如果你不用 GPL,对方要诉讼你的话,这个比较难举证
muzuiget
2021-07-08 10:58:53 +08:00
什么叫 GPL 毒瘤,不喜欢就不要用,觉得有风险就不要用,没有人逼你用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788108

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX