GitHub Copilot 是 GitHub 的智能建议代码行的服务,在为个人用户和教育工作者推出几个月后,现在可以在企业计划中使用。
这项名为 GitHub Copilot for business 的新计划每位用户每月收费 19 美元,包含单一许可 Copilot 层中的所有功能以及企业许可和策略控制。这包括一个开关,让 IT 管理员可以防止将与 GitHub 上的公共代码相匹配的建议代码显示给开发人员,这可能是对围绕 Copilot 酝酿的知识产权争议的回应。
作为 Microsoft Visual Studio、Noevim 和 JetBrains 等开发环境的可下载扩展,Copilot 由 OpenAI 开发的名为 Codex 的人工智能模型提供支持,该模型经过数十亿行公共代码的训练,可以在给定的情况下建议额外的代码行和函数现有代码的上下文。 Copilot——截至 8 月拥有超过 400,000 名订阅者——可以根据对开发人员想要完成的任务的描述(例如,“Say hello world”),利用其知识库和当前上下文,提出一种编程方法或解决方案。
至少有一部分用于培训 Codex 的代码是受版权保护或受限制性许可的,一些倡导团体已经对这个问题提出异议。用户已经能够提示 Copilot 从 Quake 生成代码、个人代码库中的代码片段以及来自“Mastering JS”和“Think JavaScript”等书籍的示例代码; GitHub 本身承认,大约有 1% 的时间,Copilot 建议包含与训练数据匹配的超过 150 个字符的代码片段。
GitHub 声称,如果 Copilot 是有意或无意地针对受版权保护的代码开发的,那么合理使用或美国法律中允许使用受版权保护的材料而无需首先获得权利持有人许可的原则可以保护它。但并非所有人都同意。倡导自由软件运动的非营利组织自由软件基金会 (Free Software Foundation) 称 Copilot “不可接受且不公正”。微软、GitHub 和 OpenAI 在集体诉讼中被起诉,指控他们允许 Copilot 在不提供信用的情况下反省部分许可代码,从而违反版权法。
撇开 GitHub 的责任不谈,一些法律专家认为,如果 Copilot 无意中将来自该工具的受版权保护的建议整合到他们的生产软件中,Copilot 可能会使公司面临风险。正如 Elain Atwell 在 Kolide 公司博客上的一篇文章中指出的那样,由于 Copilot 剥离了其许可代码,因此很难判断哪些代码是允许部署的,哪些可能有不兼容的使用条款。
GitHub 试图纠正这个问题的是一个过滤器,该过滤器于 6 月首次引入 Copilot 平台,该过滤器根据公共 GitHub 代码检查代码建议及其周围约 150 个字符的代码,并在匹配或“接近匹配”时隐藏建议。但这是一个不完美的措施。德克萨斯 A&M 大学计算机科学教授蒂姆戴维斯发现,启用过滤器会导致 Copilot 发出大量他受版权保护的代码,包括所有属性和许可文本。
@github copilot 屏蔽了“公共代码”,发出了大量我受版权保护的代码,没有署名,没有 LGPL 许可。例如,简单提示“稀疏矩阵转置,cs_”在 CSparse 中生成我的 cs_transpose。左边是我的代码,右边是github。不好。 pic.twitter.com/sqpOThi8nf
– 蒂姆·戴维斯 (@DocSparse) 2022 年 10 月 16 日
GitHub 计划在 2023 年推出其他功能,旨在帮助开发人员就是否使用 Copilot 的建议做出明智的决定,包括能够识别与这些存储库的引用匹配的公共代码的字符串。而对于面向商业客户的 GitHub Copilot,GitHub 声称它不会保留用于训练或共享代码的代码片段,无论数据来自公共存储库、私有存储库、非 GitHub 存储库还是本地文件。
但尚不清楚这些措施是否足以减轻公司对法律挑战的担忧。
GitHub 启动 Copilot 商业计划,因为法律问题仍未解决最初发表在TechCrunch上的Kyle Wiggers