几日前,德州农工大学的一位计算机科学与工程教授 Tim Davis 在推特上发文抨击 GitHub Copilot,“基于人工智能的编程助手 GitHub Copilot 在没有署名也没有 LGPL 许可的情况下自动填入了大量我个人受版权保护的代码”。Tim Davis 还贴出了相应的代码进行对比。
对于 Tim Davis 教授的批评,GitHub 的首席工程师兼 Copilot 的发明者 Alex Graveley 进行了回应:“相关的代码与所提供的例子是不一样的。它们相似,但不同。如果你能找到一种方法来自动识别其中一个是另一个的衍生品,那你可以去申请专利。”
从 Tim Davis 公布的代码来看,Copilot 自动推荐的代码确实与他自己编写的非常接近。值得注意的是,图上相关的原始代码本身在 GitHub 上也是开源的,并且是 LGPL 2.1 许可的形式存在。但是开源并不意味着无版权,有许多不同的开源许可,每个许可代表了不同的权限。
据与 GitHub 联合推出 Copilot 的 OpenAI 介绍,Codex 接受了“数以千万计的公共存储库”的代码培训,其中也包括 GitHub 上的代码。微软则是含糊地将培训材料描述为“数十亿行公共代码”,但在最近的一期博客上,Copilot 研究员 Eddie Aftandilian 证实 Copilot 正在使用“GitHub 上的公共存储库进行训练”。
按照 Copilot 的工作逻辑,如果 GitHub 上大量的开源代码被全盘引用,但是没有指定许可证,不但会破坏许可证的目的。此外,开发者也很可能在无意中把不兼容的许可证代码合并到一个项目中,同样的开源代码也可能出现在多个人的多个项目中。
Davis 表示,Copilot 某种程度上预见到了这个问题,它提供了一个公共代码过滤器,可以检测与 GitHub 上公共代码相匹配的代码建议。当过滤器启用时,GitHub Copilot 会将代码建议及其附近约 150 字符的代码与 GitHub 上的公共代码进行检查。如果有匹配或相接近的,那么该代码建议就不会显示推送。但是这个功能似乎存在问题。
Copilot 发展迅速,未来五年可替代 80% 代码
“人工智能将改变所有行业,所以每个人都必须考虑它,不仅仅是在数据科学领域”,LinkedIn 联合创始人 Reid Hoffman 这么评价 AI。
依托 AI 的 GitHub Copilot 近一年的发展似乎也在印证这个说法。据 GitHub 首席执行官 Thomas Dohmke 介绍,过去一年时间,使用人工智能的程序员中,Copilot 处理的编码量高达 40%。换句话说,每 100 行代码里,有 40 行就是由人工智能编写的,项目总时间最多可减少 55%。
Dohmke 表示,从另一个角度看开发者做了很多高价值的任务,而不仅仅是重写世界上已经存在的代码。他认为,未来五年内 Copilot 的代码建议会被更多地采纳,最多能达到 80%。但人工智能距离取代人类还有很大差距,“它是没有知觉的,它不能在没有用户输入的情况下自己创造。”
开发者热议
其实,自 GitHub Copilot 发布以来就一直存在不少的争议,不少人质疑 Copilot 在 GitHub 上发布公开代码进行训练的合法性。除了版权问题,也有研究发现,Copilot 输出的代码其中 40% 都存在安全漏洞。
开发者也认为,Copilot 可以免费访问 GitHub 上的所有开源数据,并且通过收费的方式从开源中赚钱,这是非常不合理的。他们还要求 GitHub 提供完整的 Copilot 数据集,以便判断其自动建议的代码是否符合版权规定。
参考链接:
https://githubcopilotinvestigation.com/
https://devclass.com/2022/10/17/github-copilot-under-fire-as-dev-claims-it-emits-large-chunks-of-my-copyrighted-code/