看见公众号推送的,想了想觉得挺有意思:
在 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 就也应该是个开源项目。
1
hronro 2021-07-07 15:59:14 +08:00
|
2
hronro 2021-07-07 16:00:03 +08:00
|
3
AoEiuV020 2021-07-07 16:09:39 +08:00
gpl 开源毒瘤名不虚传,
我不太懂这些,但做为开发者,直觉判断,就算侵权,也应该是使用方在确实用到了 Copilot 生成的 gpl 开源代码时使用方自身被感染,ai 本身不应该被感染, 也就是不能‘利用 GitHub Copilot 来“清除”代码的 GPL 协议’, 这样看的话感觉合理很多,相应的 Copilot 在生成代码时就可能需要提示开源协议了,甚至添加开关过滤部分毒瘤协议的代码, |
4
vk42 2021-07-07 16:11:16 +08:00
Copilot 不需要开源啊,只要它的代码本身没有依赖 GPL 代码,对于 Copilot 来说 GPL 代码就是 train 的输入数据而已,这样类推 train 出来的 model 应该开放才是。类似于用私有的编辑器编辑了 GPL 代码,并不需要开源编辑器吧
|
5
hronro 2021-07-07 16:16:29 +08:00 3
别说什么 GPL 毒瘤不毒瘤的,即使是最宽松的 MIT 协议,也要求使用这些开源代码的人,需要在你的仓库中包含原 License 。但现在看来,如果你是通过 GitHub Copilot 来使用这些开源的 MIT 协议的代码的话,并不会遵守 MIT 协议的要求将原 license 包含在你代码里。
|
6
dingwen07 2021-07-07 16:20:24 +08:00
Copilot 软件中并没有包含 GPL 代码,应该是不需要使用 GPL 开源。而由 Copilot 生成的代码可能就会引起一些争议,我估计起草开源许可证的人根本没有想到能用机器学习来写代码。
|
7
ryh 2021-07-07 16:32:20 +08:00
代码是现写的不是复制的(滑稽🤪)
|
8
icyalala 2021-07-07 16:36:11 +08:00
有两点要区分一下:
1. GPL 衍生作品,或者说传染的边界在哪里,是否涵盖用于 AI 训练? 如果训练结果只为了 “简单的提示变量命名” 这种服务,这种服务是否应当被传染? 2. 用户参考开源项目中代码(不限 GPL/MIT ),不论是通过 AI 还是人工阅读, 参考到什么程度则需要遵守原始的 License ?比如一个独特函数名,几行通用的算法? |
9
jim9606 2021-07-07 16:47:59 +08:00
等 GNU 那边的人回答吧,个人感觉如果只是片段重复,例如几个短函数或者几个 API 什么的,可以算作合理使用。拿来搞 IDE 代码建议也是符合 GNU 精神的。
不过要是用 Copilot 代替人工搞 cleanroom 复刻,那肯定是不可接受的,不过现有许可证能不能防御这个问题还不清楚,这个得等司法实践去验证。GNU 肯定没考虑到还能这么用。 @hronro 不用 github 并不能摆脱 copilot,除非你不开源,否则只要公开就有拿来当材料的可能。 |
10
1194129822 2021-07-07 20:46:28 +08:00
真以为微软是老好人啊?以前的闭源为了卖光盘,现在的开源也不过是卖云。微软做的恶罄竹难书,现在却能光明正大的洗白。估计现在 linux 内核都有微软的专利代码,说不定哪天就爆炸了。真开源还是看 Apple,虽然数量不多,但都是质量上乘,持续维护的好项目。
|
11
learningman 2021-07-07 20:51:09 +08:00
如果这能传染,那用了 Co-Pilot 的项目怕不是要打包几十万个 LICENSE 文件
|
12
charlie21 2021-07-07 21:06:14 +08:00
若真违反协议了,你是硬汉你应该去状告微软 起诉 github,而不是 abandon github
又见花式碰瓷 |
13
shayuvpn0001 2021-07-07 21:15:04 +08:00
开源的好货,基本上只要被商业公司染指,我觉得基本上就不会有什么好下场了。
|
14
stimw OP |
15
anytk 2021-07-07 22:21:44 +08:00 via Android 2
时代变化这么快?还有说 GPL 是开源毒瘤?不要觉得微软近年来向开源示好就觉得是个好人,
|
16
akira 2021-07-07 22:25:29 +08:00 1
Copilot 看成一个独立个体的人呢.
你看过一段 gpl 代码,后来在工作的时候,按照同样的思路写了一段代码,那这段代码是否需要继承 gpl 呢。 |
18
Vancion 2021-07-07 22:34:13 +08:00
说错了,修正:
其实有关 GitHub Copilot 直接复制代码的问题,微软早在官宣时就曾回应:“只有 0.1% 的情况下,GitHub Copilot 提供的代码建议中可能包含一些来自训练集的字符或片段。” |
20
muzuiget 2021-07-08 10:58:53 +08:00
什么叫 GPL 毒瘤,不喜欢就不要用,觉得有风险就不要用,没有人逼你用。
|
21
baobao1270 2021-07-08 13:02:46 +08:00
我们平时写代码,也经常复制黏贴其他地方的代码。
如果我们只是复制黏贴了一小段,比如一个函数或者几行算法,那么我们要把这个代码的 License 包含在项目里吗? 这个问题的答案同样也适用于 Copilot 。 如果哪天 GitHub 的 License 加一个“在 GitHub 上上传代码意味着在许可证之外授权 GitHub 使用代码”的条款,那么对开源界有什么影响呢? |
22
no1xsyzy 2021-07-08 13:25:57 +08:00
所以说 Copilot 只会自取灭亡。
你写起来快了,Review 成本成倍提升。 就好像说 Perl…… 宁可花一年去琢磨基础结构,划分抽象,也不要这样飞速写完花十年去查验。 @baobao1270 有时这「几行算法」如果是专利的一部分,会强制你遵守 License 以获得正确的专利授权,否则涉嫌专利侵权。 @Vancion 但实际上现在发现实际比例可能高不少。 |
24
a132811 2022-02-15 09:27:11 +08:00
@no1xsyzy 我觉得 Copilot 应该不会自取灭亡,即使灭亡了,也还会有新的更智能的工具出来,有可能会更好的解决版权问题。
关于 Review 成本:Copilot 是否明显增加 bug 产生的风险,可能影响没有想像的那么大。我更相信大部分人写的代码、复制来自 stackoverflow 的代码片段、迭代修改的代码,都是 bug 四溢的。。我个人更头疼一个项目引入大量的开源库、闭源库出现的未知 bug 、feature 支持(无论是自己还是等官方,一般都要较长的时间) 关于版权:我想起谷歌抄的那几行 API 代码,最终被判合理引用。如果参数命名相似就算抄袭,写代码就是一件充满风险的东西——如果过去看过一些开源代码,后来脑子想起来可以这么实现,不知道算侵权不? Copilot 做的就是类似的事情。 |