文章摘要
Daniel Stenberg在2025年欧洲开源峰会上分享了维护curl项目的挑战。尽管curl是一个小项目,但其影响广泛,自1996年启动以来,代码量已增长至18万行,由1400名作者贡献。目前每月有20-25名开发者活跃参与,但Stenberg是唯一的全职员工,面临的压力日益增加。
文章总结
标题:维护curl的挑战
在2025年欧洲开源峰会上,curl项目的维护者Daniel Stenberg在短短的15分钟内分享了许多关于该项目面临的挑战。curl是一个始于1996年的小型项目,最初只有100行代码,如今已发展到18万行代码,由1400名作者贡献。尽管curl被广泛应用于至少10亿台设备中,但支持其开发的公司却寥寥无几。
Stenberg指出,许多公司认为开源软件的开发费用由他人承担,因此他们无需贡献。虽然curl以自由许可证发布,这些公司的行为在法律上没有问题,但他呼吁这些公司应更多地考虑他们所依赖软件的未来。
开源软件的维护工作繁重,大多数项目只有一个维护者,且通常是在业余时间无偿工作。维护工作包括处理安全问题、审查补丁、编写文档、维护网站、管理邮件列表等。偶尔有时间时,才能进行一些功能开发。
公司的一些行为加剧了维护的难度。例如,苹果公司将客户的问题转交给curl项目处理,而一些公司则要求提供项目开发和安全实践的信息,通常要求快速回复。Stenberg通常通过发送支持合同来回应,但往往再无下文。最近,欧洲公司还要求提供curl项目符合《网络弹性法案》的信息。
此外,Stenberg还收到了大量无用的电子邮件,包括威胁邮件和来自汽车用户的求助邮件。最近,越来越多的人使用大型语言模型“发现”curl中的问题,并发送错误报告,这占用了大量时间。
curl项目还面临着来自AI公司的分布式拒绝服务攻击,这些攻击消耗了大量带宽,增加了项目的维护难度。
尽管如此,Stenberg也收到了一些温暖的感谢信,例如一位11岁孩子对curl在其项目中的帮助表示感谢,这让他感到欣慰。
[感谢Linux基金会作为LWN的旅行赞助商,支持我们参加此次活动。]
评论总结
开源软件的资金支持问题
- 观点:大公司使用开源工具但不愿贡献资金。
- 论据:kamaal指出,大公司应赞助维护费用,尤其是当它们依赖这些工具时。
- "I think if you are a billion dollar company using these tools, sponsoring maintenance isn't a lot to ask."
- "Heck internet was made possible because of Perl."
- 论据:Sovereign Tech Agency为项目捐赠了20万欧元。
- "The Sovereign Tech Agency (German federal government) donated about 200k€ to the project."
AI生成内容的滥用
- 观点:AI生成的内容被误用,导致无效的“安全研究”。
- 论据:angst提到,有人用AI生成错误的问题报告,误以为在帮助项目。
- "There is an increasing crowd of people who ask a large language model to 'find a problem in curl, make it sound terrible'."
- 论据:nurettin建议解雇提交AI生成内容的“安全研究员”。
- "Just have a policy of firing these 'security researchers' whenever they submit AI generated BS to curl."
开源项目的“影响力”评估
- 观点:建议建立开源项目的“影响力”评分系统,以指导资金投入。
- 论据:dcsommer提出,通过使用情况和依赖关系评估开源库的影响力。
- "It would be cool to build a 'library clout' measure for all open source software."
- "This clout score might be used to guide investments in a non-profit for funding critical OSS."
AI在开发中的使用
- 观点:AI可以作为开发工具,但必须验证其结果。
- 论据:rhdunn强调,使用AI生成代码时必须验证,否则可能导致错误或维护困难。
- "You can use LLMs as part of the process of identifying bugs, developing features, etc. but you must verify the results."
- "Accepting what the LLM says without testing, checking, and verifying the output is lazy."
开源项目的资金筹集策略
- 观点:通过改变许可证或众筹来筹集资金。
- 论据:kibwen建议通过GoFundMe筹集资金,并威胁将许可证改为AGPL。
- "Step 1: Set up a GoFundMe. Step 2: Announce that, until the aforementioned GoFundMe reaches $10 million, all new commits to curl will be licensed under the AGPL."
总结:评论主要围绕开源软件的资金支持、AI生成内容的滥用、开源项目的影响力评估、AI在开发中的使用以及资金筹集策略展开。大公司应更多贡献资金,AI生成内容需谨慎使用,开源项目的影响力评估有助于资金分配,AI工具需验证结果,而改变许可证或众筹可能是筹集资金的有效策略。