绝大多数开源项目,包括许多被广泛使用的关键软件,实际上都由一个人在维护。将焦点放在维护者的国籍上是一种误导,真正的风险在于这些独立的维护者普遍面临资源不足、薪酬过低和工作过度的困境。我们应该停止指责个人开发者,并认识到开源生态的脆弱性根源于其维护模式,而非维护者的国籍。
开源的真相:一个人的江湖
一个普遍的误解是,重要的开源项目背后都有一个庞大的团队。然而,数据揭示了一个截然不同的现实。
- 一个名为
ecosyste.ms的项目追踪了约 1180 万个开源项目。 - 在这些项目中,有明确维护者信息的项目中,大约有 700 万个项目仅由一个人维护。
- 这个模式在不同的生态系统中普遍存在,并非特例。
几乎所有的开源软件,从根本上说,都是一个人的项目。无论我们如何分析数据,这个“一人模式”都反复出现。
即便是最流行的软件也一样
有人可能会认为,这 700 万个单人项目都是没人用的小工具。但事实并非如此。即使在最流行、下载量最大的项目中,情况依然令人惊讶。
以 NPM(JavaScript 的包管理器)生态系统为例:
- 在每月下载量超过 100 万次的热门项目中,由单人维护的项目和由多人维护的项目数量几乎是 50/50 的比例。
- 这意味着,我们日常依赖的成千上万个关键软件包,其中约一半的命运都系于一人之手。
许多维护者还同时负责多个软件包,这进一步加剧了他们的负担。例如,在 NPM 的 400 万个单人项目中,维护者总数仅约 90 万人。
真正的风险是什么?
将一个项目的风险归咎于其维护者的国籍是短视且错误的。真正的国家级攻击者不会愚蠢到使用一个身份明确的本国开发者来植入后门。
如果你想谈论供应链中潜在的风险,那么一个薪酬过低、工作过度的单一维护者,这才是风险。他们来自哪个国家无关紧要。
哈佛大学的一项研究指出,开源软件的经济价值高达 8.8 万亿美元。然而,支撑起这个巨大价值体系的,却是无数个孤独、缺乏资源的个人开发者。这才是我们软件供应链中最脆弱的一环。
我们能做什么?
将矛头指向并妖魔化这些单枪匹马的维护者,不仅不公平,也解决不了任何问题。
虽然目前没有简单的解决方案,但第一步是停止错误的指责。我们必须认识到,问题的根源在于开源生态系统性的脆弱,而不是某个开发者的个人身份。解决之道在于如何为这些至关重要的维护者提供他们应得的资源和支持,而不是在恐慌中寻找替罪羊。