AI突然间为开源开发者带来巨大实用价值

开源软件运行着几乎所有系统,但多数重要程序仅由单个维护者负责。在1180万个开源项目中,700万个只有一个维护者。最近AI编程工具显著改进,Linux内核维护者等专家注意到AI生成的安全报告质量大幅提升。虽然AI仍无法完全替代程序员,但已能帮助清理旧代码、维护废弃程序和改进现有代码。然而仍存在法律争议、代码质量和维护问题需要解决。

随着开源软件几乎运行在所有系统上,你可能会认为大多数重要程序都由多名开发者在企业赞助商的帮助下维护。但你错了。

正如软件供应链公司Anchore的安全副总裁Josh Bressers去年指出的那样,绝大多数开源项目,即1180万个程序中的700万个,只有一个维护者。你可能认为这些程序已经过时或不再使用。但在这一点上你也错了。

Bressers仔细研究了JavaScript NPM生态系统,发现在每月下载量超过百万次的项目中,"13000个下载量最高的NPM包中约有一半都是由一个人维护的。"

这意味着,成千上万的重要程序距离一次车祸或心脏病发作就可能失去维护。这是非常危险的。

我们能做些什么呢?你不能挥挥魔法棒就神奇地找到成千上万名准备就绪的专业维护者。相反,几位著名的开源维护者一直在考虑使用AI来保持旧代码库的活跃,或让它们更容易维护。

这是可能的,因为信不信由你,AI编码工具最近在编程方面变得更加出色。这不是我的观点。我充其量只是一个普通程序员。不,这是Linux稳定内核维护者Greg Kroah-Hartman的观点。

我和Kroah-Hartman最近在阿姆斯特丹的KubeCon欧洲会议上见面。他告诉我:"几个月前,我们收到的是所谓的'AI垃圾',即明显错误或质量低劣的AI生成安全报告。"

然后,奇妙的事情发生了。"一个月前,"他继续说道,"世界发生了转变。现在我们有了真正的报告。所有开源项目都有用AI制作的真正报告,而且它们很好,很真实。所有开源安全团队现在都在经历这种情况。"

发生了什么?Kroah-Hartman耸了耸肩:"我们不知道。似乎没有人知道为什么。要么是很多工具变得更好了,要么是人们开始说,'嘿,让我们开始关注这个吧。'"

这并不意味着Anthropic Claude很快会取代Linus Torvalds,甚至是你公司的中级程序员。但这确实意味着,如果使用得当——这里不是随意编码——AI可以帮助清理旧但仍在使用的代码;维护被遗弃的程序;并改进现有代码。

例如,威瑞森开源高级总监Dirk Hondhel在LinkedIn上发帖称,虽然AI编码工具还没有准备好维护代码,但他相信很快就会做到。"这在今天几乎是可能的。按照这些工具在过去几个季度的改进速度,我相信在今年某个时候将能够取得可接受的结果。"

他不是唯一一个。Ruby项目维护者Stan Lo写道,AI已经在文档主题、重构和调试方面帮助了他,他明确想知道AI工具是否会"帮助复活无人维护的项目"并"培养新一代贡献者——甚至是维护者"。

确实,已经有一个AI项目,名为传统应用系统自主转译(ATLAS),帮助开发者将传统代码库现代化为现代编程语言。我们可以期待很快看到其他此类AI工具的出现。那里有很多过时但仍在使用的代码可以使用现代化更新。

在开香槟庆祝之前,让我们考虑几个主要问题。首先,如果我们可以用AI改进开源代码,那么有什么能阻止某人复制和重写现有代码,然后将其置于专有许可证下呢?律师们将在这方面大有作为。等等!他们很快就会:一个重要Python库chardet的维护者Dan Blanchard刚刚在MIT许可证下发布了该程序的最新"洁净室"版本,取代了其GNU宽通用公共许可证(LGPL)。他所说的"洁净室"是指他使用Anthropic的Claude完全重写了这个库。Claude现在被列为项目贡献者。

声称是该项目原始开发者的Mark Pilgrim并不高兴。Pilgrim说:"维护者声称这是'完全重写'是无关紧要的,因为他们对原始许可代码有充分的接触。在其中添加一个花哨的代码生成器并不能以某种方式授予他们任何额外的权利。"

然而,Blanchard声称"chardet 7不是早期版本的衍生品。"我有没有提到使用AI修改或克隆开源代码最终会上法庭?

还有另一个问题:虽然AI在修复代码问题方面似乎比过去更有用,但仍有大量AI垃圾存在,开源项目维护者正被淹没其中。只要问问流行开源数据传输程序cURL的创建者Daniel Stenberg就知道了。

几乎每个开源项目维护者都能讲述同样的故事。在某些情况下,AI垃圾被证明是如此有毒,以至于项目本身已经死亡。例如,Python软件基金会的Jannis Leidel,Jazzband的首席维护者,由于"AI生成的垃圾PR和问题的洪流"淹没了项目,关闭了该程序。

Torvalds本人是一个谨慎的AI用户,他警告说,虽然AI生成代码很快,但结果可能"难以维护"。他将AI视为提高生产力的工具,但当事情出现问题时,它不能取代真正理解程序中发生什么的需要。而且,我向你保证,事情会出现问题。

Linux基金会的安全组织,Alpha-Omega项目和开源安全基金会(OpenSSF),正在通过免费向维护者提供AI工具来解决这个问题。Kroah-Hartman说:"OpenSSF拥有支持众多项目所需的活跃资源,这些项目将帮助那些过度工作的维护者处理和分类他们目前收到的不断增加的AI生成安全报告。"

虽然AI对开源开发者和维护者正在变得真正有用,但在AI和开源编程真正和谐合作之前,仍有很多法律、编码和质量问题需要解决。

Q&A

Q1:为什么说AI突然变得对开源开发者更有用了?

A:据Linux内核维护者Greg Kroah-Hartman观察,几个月前AI还在产生明显错误的"垃圾报告",但一个月前情况发生了转变,现在AI生成的安全报告质量很高且真实有用,所有开源安全团队都在体验这种改进。

Q2:开源项目的维护现状有什么问题?

A:目前1180万个开源程序中有700万个只有单一维护者,即使是每月下载量超过百万次的热门NPM包中,约有一半也只由一个人维护。这意味着成千上万重要程序可能因维护者的意外而失去维护。

Q3:AI在开源代码维护中会面临哪些挑战?

A:主要挑战包括法律问题(如用AI重写代码可能引发许可证争议)、AI垃圾信息泛滥导致项目被迫关闭,以及AI生成的代码虽然产出快但可能难以维护等问题。

来源:ZDNET

0赞

好文章,需要你的鼓励

2026

04/02

08:58

分享

点赞

邮件订阅