Copilot 侵犯隐私、抄袭代码、无视许可证…… 这届 GitHub 变了?

业界 作者:SegmentFault 2021-07-03 19:29:18
技术编辑:小魔丨发自 思否编辑部
公众号:SegmentFault



这几天,程序员们最关心的莫过于 GitHub 新推出的 AI 编程工具 Copilot 了。


这款号称“AI 结对编程队友”(Your AI pair programmer)基于一种叫做 OpenAI Codex 的新算法构建,并使用从 GitHub 上提取的万亿字节公开可用代码以及英语示例进行训练,能够自动补全整行代码或整段函数、基于注释生成对应代码,还能编写测试、快速发现解决问题的替代方法。


Copilot 工作原理

Copilot 带来的生产力提升获得了一片赞扬,但是问题也接踵而至。


GitHub 带头“抄”代码?


Copilot 目前推出了技术预览版,其官网显示:如果技术预览版获得成功,GitHub 将构建商业版。

然而,Copilot 的训练数据为公开可用数据,包括 GitHub 上万亿字节的公开代码。GitHub 这是要把开发者贡献的开源代码变成 “付费产品” 再卖给开发者?

对此,开发者 Eevee 表示:

Copilot 承认基于大量 GPL 代码进行训练,这难道不是将开源代码清洗(laundering)为商业产品的形式吗?“它通常不会重现精确的代码块”,这样的措辞并不令人满意。

版权不仅涉及复制粘贴,还涵盖衍生作品。GitHub Copilot 基于开源代码训练,它所知道的一切都来自于开源代码。“衍生”不可能不包含这层含义。


GPL(通用公共许可证)是被广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由。同时需要注意的是,GPL 是 Copyleft 许可证,这意味着衍生作品只能以相同的许可条款分发。

GNU 官网在回答 “GPL 是否要求修改版的源代码公开” 时表示:如果你以某种方式把修改版向公众发布,GPL 就要求你向用户提供修改版的源代码。


对于 GitHub Copilot 使用 GPL 代码训练一事,Eevee 表示:

GPL 明确声明“不要把我的工作放在专有软件中”(proprietary software,又称非自由软件),而 Copilot 的机制恰恰将其工作置于专有软件中。




无独有偶,十几个小时前,Flask 作者 Armin Ronacher 发推质问 Copilot 未使用正确的许可证。原来 Copilot 使用了 Quake 的代码,且未说明正确的许可证(Quake 使用的许可证是 GPLv2)。


在这条推文下面,很多网友表达了类似的观点:Copilot 会生成一些奇怪的许可证。大部分像 MIT 许可,甚至有一个归属于 U.S. Dept. Of Energy。

隐私安全问题


除了代码侵权问题外,Copilot 还面临着隐私问题,毕竟训练集中包含个人数据。Copilot 在官网中称,内部测试结果显示 GitHub Copilot 给出的建议很少包含与训练集中一模一样的个人数据。有时,GitHub Copilot 可能会建议电子邮件地址、API 密钥或电话号码等个人数据,但这些数据是基于训练数据中的模式合成的。在技术预览中,Copilot 实现了过滤器,杜绝以标准格式显示的电子邮件。

然而,事情似乎并非如此。

软件工程师 Kyle 在用 Copilot 生成 About me 页面时,却得到了另一位开发者 David Ceils 的个人信息。


而真正的 David Ceils 还在苦苦等待 Copilot 通过他的申请……

有人震撼于 Copilot 带来的效率提升,有人震惊于 GitHub 不顾许可证、侵犯版权和隐私。Copilot,你还会用吗?

参考链接

  • https://twitter.com/eevee/status/1410037309848752128
  • https://mobile.twitter.com/mitsuhiko/status/1410886329924194309
  • https://mobile.twitter.com/kylpeacock/status/1410749018183933952
  • https://copilot.github.com/

  • https://www.gnu.org/licenses/licenses.html
  • https://www.gnu.org/licenses/gpl-faq.zh-cn.html#GPLRequireSourcePostedPublic

- END -

延伸阅读
  • Penpot Github上一款火爆的开源设计与原型平台

    Penpot 拥有丰富的设计功能,包括矢量图形编辑、组件化、多人协作等,使用户能够轻松创建复杂的设计和原型。另外,平台还支持实时共享和评论,帮助团队成员进行即时的沟通和反馈,提高工作效率。Penpot

  • uptime-kuma一款轻量级监控利器!

    监控工具一直是我们日常工作中必备的利器之一,在之前推送的文章中,也介绍了非常多的好用、实用的监控工具,需要了解的读者朋友们可以点击文首监控系统专栏查阅相关的文章。今天,给大家介绍别一款开源监控利器!u

  • 中国开发者数量全球第二,C 语言一跌再跌!GitHub 年度报告重磅发布

    整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)不知不觉中,2021 年的日历已经翻到了 11 月中旬,各种年度报告也开始蓄势待发。这不,全球知名代码托管平台 GitHub 今天就重磅发布

关注公众号:拾黑(shiheibook)了解更多

赞助链接:

关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接