放弃 GitHub:时机已到?
诞生于 2008 年,如今已经 14 岁,凭借完整协议支持、Git 格式的版本库托管等优势,GitHub 成为最受开发者欢迎的代码托管平台。
然而,GitHub 在被微软收购,于去年推出 Copilot 后,这引发了行业内一些组织的不满。因为用户发现 Copilot 复制粘贴代码实锤,所谓「原生 AI 代码生成工具」的宣传不攻自破。
而如今,Copilot 也已经开启收费模式。现以每月 10 美元(人民币约 67 元)或每年 100 美元(人民币约 669 元)的价格出售,并提供 60 天的免费试用期。
GitHub 的种种做法引来 SFC 的强烈不满,他们表示:其已停止使用微软 GitHub 开展项目托管,并敦促其他软件开发者一同退出。
Copilot 收费,惹怒 SFC
SFC(Software Freedom Conservancy)是一个旨在为自由开源软件项目提供支持和基础设施的非营利组织,成立于 2006 年。长期以来,SFC 一直得到 Google、Red Hat 和 Mozilla 等多家知名公司的财务支持,其领域范围跨越 40 多个项目,包括 Git、Selenium 和 Godot。
其实 SFC 对 GitHub 的不满早于 Copilot 的出现,事情的前因后果是这样的:
自从微软及其子公司 GitHub 在去年首次推出 Copilot 以来,SFC 就一直在积极与微软及其 GitHub 子公司进行沟通。
2021 年 7 月,在与微软和 GitHub 代表的首次视频聊天中,SFC 抛出了几个问题,GitHub 方面表示他们当时无法回答,但会很快给出答复。
六个月过去了,FSC 没有得到回应,其政策研究员 Bradley 随机发表了题为《If Software is My Copilot, Who Programmed My Software? 》的文章,公开提出了这些问题(2021 年 7 月提出的问题)。
文章发表后,GitHub 仍然没有回答问题。三周后,SFC 成立了一个专家委员会,以考虑人工智能辅助软件道德影响,同时进行了一场公开讨论。SFC 邀请微软和 GitHub 的代表参加公开讨论,但他们忽视该邀请。
上周,FSC 提醒 GitHub (a)我们等了一年等待 GitHub 回答那些悬而未决的问题以及(b)GitHub 拒绝参加关于该主题的公开讨论后,他们在一周后回复说他们不会加入关于此事的任何公开或私人讨论,因为 [关于人工智能辅助软件道德] 的更广泛对话似乎不太可能改变 FSC 的立场,因此 GitHub 无需回应 FSC 的具体问题。换句话说,GitHub 对 Copilot 的最终立场是:如果你在 Copilot 相关的政策问题上与 GitHub 存在分歧,请你保留,你不值得微软或 GitHub 回复。即便是敷衍、不受重视的回答,FSC 也等了一年。
FSC 向 Microsoft/GitHub 提出的关于 Copilot 的三个主要问题(即他们一年来一直承诺给答案,但现在他们正式拒绝回答的问题)是:
1. 在微软和 GitHub 的公开声明中,GitHub(当时) 的 CEO 声称:(1) 训练 ML 系统使用公共数据是合理的,(2) 输出结果属于操作者,其性质类似于编译器。为了透明度和对自由 / 开源软件社区的尊重,请向社区提供完整的法律分析。
2. 如你们所声称的那样,允许在任何代码上训练模型(并允许用户基于该模型生成代码)并且不受任何许可条款的约束,那你们为什么只使用开源软件来训练 Copilot 模型?而 Microsoft Windows 和 Office 代码库不在训练集中?
3. 你们能否提供一份 Copilot 训练集中使用的许可列表,包括版权所有者的名称和 / 或 Git 存储库的名称? 如果没有,为什么要对社区隐瞒这些信息?
之后 Copilot 的收费直接惹怒了 SFC,原因在于此举是在发生在 GitHub 推出商业版 Copilot 一周后才开始的。
开源并不意味着完全免费,代码「借用」怎么算?
Copilot 自去年首次亮相以来,在软件开发领域便成了争论的焦点,因为 Copilot 是建立在开源社区代码研究之上。事实上,Copilot 是与 OpenAI 合作开发的,OpenAI 是一家人工智能研究机构,微软早在 2019 年就投入了 10 亿美元,并在很大程度上依赖于 OpenAI Codex,后者接受了大量公共源代码和自然语言模型的训练。
Copilot 的发布引发了一些重要问题,这些问题围绕「谁」才是软件的实际编写者展开。开源并不意味着完全免费,仍然需要满足许可证要求和归属要求,因此如果 Copilot 从一个项目「借用」代码并将其推荐给另一个项目的作者,这一做法为版权侵权诉讼打开了闸门。关于什么是合理使用以及 Copilot 引发的缺乏透明度问题,也有一大堆问题需要讨论。
考虑到开源软件的核心理念是每个人都为获得更大的利益而合作,没有一方的利益比另一方更大,GitHub 决定以每月 10 美元的价格推出 Copilot(尽管对一些开发者是免费的),这一决定引发 SFC 强烈不满。这意味着该组织将结束其内部对 GitHub 的使用,并引入一个程序来帮助其成员将项目从 GitHub 上迁出。除此之外,SFC 还表示,如果新成员没有明确的计划将他们的开源项目从 GitHub 迁移出去,SFC 将不在与之进行合作。
尽管社区中的许多人可能不同意 GitHub 通过专有产品将开源开发人员的劳动力货币化的这一做法,但现实情况是 GitHub 是全球软件合作者事实上的平台——这场运动很难获得显着动力,因为 GitHub 似乎已经成为全球数百万开发人员离不开的平台。
GitHub、Copilot 并非独一无二
当然,科研人员除了 GitHub,还有其他选择,例如 GitLab 的自托管社区版。
值得注意的是,微软的老对手亚马逊最近推出了自己的 Copilot 版本,名为 CodeWhisperer。从发布中可以清楚地看出,亚马逊正试图解决 Copilot 引起的一些版权问题——例如,如果 CodeWhisperer 生成的代码建议类似于其训练数据中的现有片段,它将突出显示许可证与该原始函数相关联。然后由开发人员决定是否使用该代码。
图源:https://techcrunch.com/2022/06/23/amazon-launches-codewhisperer-its-ai-pair-programming-tool/
尽管 SFC 在让人们放弃 GitHub 方面可能取得成果,也可能失败,但结合来自亚马逊产品的竞争,它可能会对微软施加足够的压力,以改变 Copilot 未来的运作方式——这样它就能在代码建议的源代码方面提供更多的透明度。