声称:私有 GitHub 仓库被纳入 AI 数据集

问题范围(The Stack 正在使用什么)

  • The Stack v2 基于 Software Heritage 归档构建,该归档会镜像来自 GitHub 以及许多其他 forge 的“公开可用”源代码。
  • 正如引文所述,Software Heritage 自身的政策是:不检查许可证,直接归档所有公开内容,将许可证合规留给下游用户。
  • 据报道,The Stack 会排除一些 GPL/AGPL 许可的仓库,但会包含许多未声明许可证的仓库以及一些带有非宽松条款的仓库。

私有 vs 公开仓库:相互矛盾的说法

  • 几位评论者说他们在 The Stack 中找到了旧的、现已删除或私有的仓库,并强烈认为这些仓库一直都是私有的。
  • 更多人表示,他们只看到那些曾经公开过的仓库;那些“始终是私有”的仓库并未出现。
  • 一些被认为一直是私有的仓库案例,通过 Software Heritage 或 GitHub Archive 数据显示,实际上曾在某个时间点公开过。
  • 一位 GitHub 员工(非正式发帖)暗示 GitHub 的角色有限:Software Heritage 会归档公开仓库,即使这些仓库后来在 GitHub 上被删除,归档内容也可能继续存在。
  • 也有人指出,过去私有仓库通常需要付费套餐,而且短暂的误公开很常见,这或许能解释记忆与归档证据之间的冲突。
  • 几位评论者明确称“GitHub 泄露私有仓库”的说法未经证实,且很可能是记忆错误;另一些人则坚持他们和同事确实看到了真正私有的仓库,但没有提供可验证的例子。状态:不明确。

验证工具与取证

  • 建议的检查方法:
    • 使用 Software Heritage 搜索,查看某个仓库是否曾被归档。
    • 使用 GitHub Archive / ClickHouse 查询 PublicEvent,检测某个私有仓库何时被公开。
    • 如有可用,使用 Wayback Machine 快照。
  • GitHub 自己的审计日志仅回溯约 6 个月,因此无法解决更早的案例。

许可与合法性争论

  • 强烈担忧 Software Heritage 和 The Stack 不论许可证如何都摄取代码,包括仍然完全受版权保护的专有代码和未授权代码。
  • 围绕将仓库公开是否会对爬取、归档和搜索形成“默示许可”展开争论;有人引用美国判例法和合理使用,另一些人则认为这并不成立,尤其是在法国法下(针对 Software Heritage)。
  • 有人质疑,在不保留许可证声明的情况下重新分发训练数据集,是否会违反 copyleft 或署名要求。
  • 有人认为任何人类允许的“阅读和学习”也应该允许 AI 进行;另一些人回应说,这回避了许可证条款,而这些条款明确限制某些用途,例如训练、军事用途等。

同意、伦理与退出机制

  • 对“退出式”同意提出强烈批评:尤其在商业 AI 场景下,“同意不是退出”。
  • 退出界面被描述为居高临下且速度很慢;据称至少有一个早期退出请求问题仍未解决。
  • 几位人士表示,将仓库设为非公开或删除应被视为对未来数据集版本的强烈“不要使用”信号,即使它在技术上曾经是公开的。

Software Heritage 的做法与抵制

  • 有人分享说,他们收到一封邮件,称其自托管 forge 将被定期归档;他们以版权为由提出异议并取消了该请求,但被告知其他人仍然可以“立即保存代码”。
  • 另一些人报告称,他们成功要求下架数百个仓库,和/或封锁了 Software Heritage 的 IP 或 user agent。
  • 有人呼吁 forge 或主机默认阻止 Software Heritage 爬虫。

对 GitHub、AI 与风险的态度

  • 许多人认为这反映了一种更广泛的模式:公共托管平台和 AI 项目在未获得有意义的同意或补偿的情况下,从用户代码中提取价值。
  • 另一些人称整件事是个“nothingburger”,认为纳入的只是始终公开的代码,而且没有可信证据表明存在私有仓库泄露——不过他们也承认,外观感受和许可问题仍然很严重。
  • 建议包括:加密私有仓库、迁出 GitHub、构建端到端加密的 git 服务,或作为抗议去“污染”公开仓库(技术细节未展开)。