简述:

  • Codeberg e. V. 成员对两项有关「人工智能」和大语言模型 (LLM) 的动议进行了投票,并均获通过。
  • 我们承诺不会使用您的任何数据来训练 LLM,并解释拟议的《使用条款》变更对「氛围编程」项目的影响。
  • 我们认为,大语言模型危及整个自由/开源软件生态。

Codeberg e. V. 年度大会是让我们的活跃成员掌握权力的会议。提案会在现场讨论,随后进行异步投票。

由于大语言模型 (LLM) 是一项新兴但备受争议的技术,因此两项投票均涉及 Codeberg 对该技术的立场也就不足为奇。14 天投票期于昨日结束,两项提案均获通过。

第一项投票是关于 Codeberg e. V. 使用您的数据训练大语言模型的立场声明。

正如我们的隐私政策所述,「我们不希望需要您的数据」,这一点也适用于将我们的用户和项目数据用于训练生成式「人工智能」:Codeberg 代码托管平台及其关联服务现在和将来都不会使用项目和用户的代码或数据来训练「人工智能」工具,例如大语言模型,其目的是创建以训练输入为模型的输出。作为一个协会,我们认为这些技术与负责任地创建和维护自由开源软件是不相容的。

第二项投票争议更大,但最终以 358 票赞成、144 票反对(14 票弃权)的结果获通过,活跃成员投票率约为 50%。这意味着我们的使用条款将发生变更,禁止「氛围编程」项目。我们将在文章末尾分享关于实际影响的看法。

我们都在为贪婪的大语言模型买单

大语言模型是一项成本高昂的技术,而随着提供商不得不开始收回投资,成本还在不断攀升。这些成本不仅由使用并明确订阅这些服务的人承担。成本也不仅隐藏在「普通」云服务和订阅中,这些服务交叉补贴了您从未要求的「创新新功能」。大语言模型的成本高到公司将成本大规模外部化——转嫁给那些不使用它们的人以及整个社会。硬件价格上涨、能源消耗和环境破坏——我们都在为此买单!

无意义爬取导致服务器过载

在之前的文章中,我们已经概述了 Codeberg 的基础设施如何定期因计划将 Codeberg 上托管的所有代码摄取用于训练大语言模型的公司的网络爬虫而承受重载

在 Codeberg,我们乐于提供免费开放的代码访问。只需运行 git clone 即可享受。

不幸的是,这些爬虫反而试图读取 Codeberg 的每一页,无论是否有意义。这包括所有不同的 issue 过滤器变体、Git 历史记录,以及 Git 历史中任意时间点的实际文件——即使它们仍然相同。

这些不必要的访问会产生昂贵的数据库查询,降低我们所有人的服务质量,需要系统管理员投入大量工作,并迫使我们花费时间构建防御机制而非开发酷炫的新功能。这些机制也会影响新的和现有的合法用户,因为我们不得不对他们期望的工作流程施加限制或直接屏蔽,给他们带来更差的 Codeberg 使用体验。

不存在的开发团队

使用大语言模型处理代码会让你感到肾上腺素飙升。你可以快速开发,像拥有一个大型团队一样构建项目。只是你实际上没有团队。事实上,你(通常)是独自一人,与一台将能源转化为代码的统计机器合作。

许多「氛围编程者」似乎没有意识到他们实际上并没有社区围绕他们。他们像拥有社区一样构建项目,并相应地消耗资源。我们看到项目有大量代码活动、繁重的 CI/CD 测试、频繁且庞大的发布二进制文件。有时,感觉支持的平台数量超过了实际用户数量。

对我们来说,看到一个只有一名开发人员且几乎没有用户的项目消耗与 Codeberg 上一些最大的社区项目相同甚至更多的资源,而这些社区项目在 CI/CD 和存储资源上却很节俭,这看起来很荒谬。我们不认为 Codeberg 将宝贵的捐赠资金投入到托管大型「幽灵项目」上是合理的。

硬件采购正成为难题

大语言模型的训练和部署大幅提高了购买硬件的成本,特别是 SSD 和内存。举个例子:几年前我们以 700 欧元采购的驱动器类型现在已涨至 3700 欧元——而且经常缺货。因此,在 Codeberg 上托管代码正变得更加昂贵

虽然我们拥有自己的硬件,因此不会直接受到「云」租赁成本上涨的影响,但这意味着更换或扩展我们的硬件现在比过去(也比需要)昂贵得多。虽然我们可能负担得起这些上涨的硬件价格,但这是我们无法用于改善服务和推动 Codeberg 使命的其他地方的资金。

日益扩大的数字鸿沟

这些价格上涨也导致了日益扩大的数字鸿沟:小型甚至大型运营商都受到成本上涨的威胁,而只有最大的云公司才有可靠的硬件协议。网站托管、存储或计算等服务成本的增加对许多小型非政府组织、当地合作社、研究项目以及我们直到最近还认为理所当然的其他数字工具使用来说都可能具有挑战性。

运行数字基础设施不仅变得更加昂贵,甚至计算机和智能手机等更基本的数字工具也受到成本上涨的影响,使个人计算重新成为奢侈品——但如今数字工具已成为参与社会的实际必要条件。计算和存储容量有限的设备剥夺了用户的主权,并将他们推入云提供商向您转售这些设备的成本陷阱。

公民基础设施、用户和环境遭受影响

对基础设施的负面影响不止于此,还涉及更基本的公民基础设施:由于专门为训练大语言模型而构建的数据中心固有的能源和水资源需求,许多社区今天已经经历了电费和饮用水成本的上涨。除了成本上涨之外,居住在数据中心附近的人还直接受到空气和噪音污染加剧的影响

为了能够为这些数据中心供电,其背后的公司也在积极游说以免受环境法规的约束:在法兰克福,数据中心已经消耗了当地 40% 的电力,而且需求还在上升。为了满足这一需求,他们想使用化石燃料。

协作面临危险

受大语言模型使用影响的不仅仅是数字和公民基础设施。我们认为 Codeberg 是其中重要组成部分的自由/开源软件生态,是一种以协作为中心的社会现象。这种工作方式之所以可能,归功于自由共享和相互学习。这甚至包括可以共享和重用并围绕其开始协作的非常小的工具。相比之下,通过采用大语言模型,人们倾向于从头开始编写一次性软件。虽然这导致「共享」代码的增加,但这些代码大多不仅不是由任何人「编写」的,也不是由任何人维护的。

彼此信任的丧失

大语言模型在自由开源软件中的广泛使用,正在成为对贡献者之间信任以及协作理念本身的多维度攻击。维护者因人们提交(通常是善意的)低质量、大语言模型生成的贡献而工作量增加,这些贡献需要大量时间来审查。与此同时,越来越难以区分哪些项目是由经验丰富的开发人员维护的,哪些是由大语言模型生成而没有任何有意义的人类监督和输入的。在 copyleft 项目中,大语言模型还导致「许可清洗」,即通过从训练数据中「生成」copyleft 代码来剥离其互惠要求。

我们观察到相互不信任的趋势日益增长,甚至到了人们投入实际努力分析问题或分享建议时,会被指责使用了大语言模型(即使他们没有使用)。与此同时,其他人指示他们的大语言模型隐藏痕迹并主动避免常见模式,促使其他人在审查贡献和通信时更仔细地寻找机器生成的迹象。

进入恶性循环

这些力量共同使协作不仅变得更加困难,也变得更不值得:随着协作的交易成本增加,人们越来越不可能为创建高质量的软件项目做出贡献,而更有可能「氛围编程」一个针对您需求的、不会进一步发展的的一次性软件。我们陷入了一个恶性循环,协作越来越不值得,而未维护且从未得到任何改进的一次性软件的数量却在上升。

虽然通常是善意的,但分享提示的结果并称其为「自由软件」并不会让世界变得更美好。Codeberg 不是也不想成为倾倒这种生成的、没有人会看的一次性软件的地方。我们是一个让人们协作和共同改进软件的地方。在此背景下,最近的投票可以理解为对这些原则的再次确认:由于我们希望以人类协作为中心,我们不会积极支持或参与创建大语言模型,也不会将我们有限的资源用于存储会污染我们自由开源软件公共资源的一次性软件。

更新我们的条款

更改我们的《使用条款》发出了一个关于我们的使命和我们想要支持的项目的强烈信号。话虽如此,您不会在几天内看到内容的大规模删除。我们的管理团队不会开始生成要删除的受影响仓库的详尽列表。相反,我们将开始使用以下示例等案例来实施新规则。我们是另一端的人类,深切关心自由/开源软件项目和社区。

我们承认许多开发人员已经开始将大语言模型作为工作流程中的工具加以采用。有些人广泛使用它,很少手动编码;有些人只将特定任务委托给它。我们理解您想知道此变更对您未来的项目有何影响。虽然我们无法给出一个简单的答案,但我们将分享一些应该能解决讨论中提出的大多数担忧的评论。

一些初步但非正式的指南

如果您的工作符合以下情况,则您不太可能受到任何影响:

  • 拥有活跃社区关心并维护软件的项目
  • 具有重要的大语言模型前历史的项目
  • 维护者不知情或自愿接受了其他贡献者的大语言模型生成贡献,且您的项目在其他方面不涉及大量使用大语言模型

我们也不会花费大量时间和资源来自动扫描 Codeberg 上的内容。因此,虽然以下用例受到劝阻(类似于私有仓库),但在实践中可能会被容忍:

  • 资源使用量较少的副项目和实验
  • 即使不是由大语言模型生成,也不太可能找到社区的特定工具和自定义脚本

但是,我们也需要诚实地说明某些用例可能不再受 Codeberg 欢迎。如果您发现自己在此列表中,您不需要立即迁移,但可能有其他更适合您需求的地方

  • 由大语言模型「代理」以自主方式创建的项目
  • 大量使用大语言模型编写和维护的项目
  • 资源量(例如存储、CI/CD)显著大于相关人员手工创建量的项目
  • 与大语言模型生态系统紧密相关的项目,例如为简化大语言模型使用而编写的大语言模型工具
  • 违反项目自定义政策发送大语言模型贡献的用户

您可以查看添加到《使用条款》中的具体变更