数十亿部手机运行着由少数人维护的代码,我们从代码本身统计。手机上显示时间的东西都得知道你在哪里。底下是每部 Android 手机、每部 iPhone 和互联网上大多数服务器,它们从一个文本文件,即时区数据库(time zone database),获取本地时间,含政府宣布过的所有时钟规则。加州大学洛杉矶分校(UCLA)讲师保罗·埃格特(Paul Eggert)业余维护它,2012 年起任官方协调员。40 亿部 Android 手机和 iPhone 使用他的文件。
正文
数十亿部手机运行的代码,由少数几个人照看。我们直接从代码本身数了一遍。
你的闹钟、登机牌、在另一个国家开的会、工资到账的那一天:手机上任何显示时间的东西,都必须知道你身在何处。它下面垫着每一台 Android 手机、每一台 iPhone 和互联网上的大部分服务器。它们都从一个文本文件取本地时间——时区数据库,里面装着各国政府宣布过的所有时钟规则。UCLA 讲师 Paul Eggert 业余维护着这个文件。

Paul Eggert 在 LibrePlanet 2022 上讲解时区数据库。Free Software Foundation,CC BY-SA 3.0。
Paul Eggert
在 UCLA 教计算机科学,2012 年起担任时区文件的官方协调人。
40 亿
Android 手机和 iPhone 在使用他的文件。我们没算服务器、Mac 和笔记本,算了这个数字会更高。
9 月 29 日,Paul 发布了文件的 2026e 版。注释第一行说,曼尼托巴省 10 月 31 日永久转为 -05,这意味着温尼伯的手机 11 月 1 日不必把时钟拨回去——这行字是两名志愿者提前一个月录入的。过去一年对该文件的 251 处改动中,218 处是他做的,28 处是 Tim Parenti 做的。
2011 年,一家占星软件公司起诉 Paul 和 Arthur Olson(后者 1986 年在 NIH 创建了这个文件),称文件的部分历史来自该公司拥有的一本地图集。文件的邮件列表和下载站被关停,直到当月 IANA(保管互联网主列表的机构)接手。电子前哨基金会免费为他们辩护,2012 年 2 月公司撤诉。
"万一我因退休或别的什么原因不能再做下去。"
Paul Eggert 请 tz 邮件列表把 Tim Parenti 设为他的后备,2020 年 5 月 20 日。

xkcd 2347《Dependency》,Randall Munroe 作。CC BY-NC 2.5,颜色反转。
每次出事,人们就贴出这张漫画。塔上标着"所有现代数字基础设施",它立在一小块积木上,那块积木写着"某个内布拉斯加的随机人士从 2003 年起一直无偿维护的项目"。
我们想知道这话离事实有多近。我们下载了手机、浏览器和服务器所依赖的 23 款软件的完整历史,数出 2025 年 10 月到 2026 年 10 月间对每个项目做出十次及以上改动的人。然后我们列出 Android 手机、iPhone 和 Windows PC 上实际装了什么。
23 个项目中,11 个是一两个人在干日常的活。
"也要记住,这是一个不给钱的业余项目。"
Lasse Collin,xz 邮件列表,2022 年 6 月 8 日。
Lasse Collin
住在芬兰,照看 xz——几乎所有 Linux 服务器上都有、每台 iPhone 里也有的压缩工具。
写这句话的同一封邮件里,他说自己照顾项目的余力"相当有限,主要是因为长期的心理健康问题"。此前几个月,自称 Jigar Kumar 和 Dennis Ens 的账号一直在邮件列表上抱怨进展太慢,而一位叫 Jia Tan 的贡献者持续送来有用的修复。
Lasse 给了 Jia Tan 更多权限。2023 年 Jia Tan 对 xz 做了 304 处改动,Lasse 做了 172 处。2024 年 2 月,Jia Tan 发布的版本里藏着潜入 Linux 服务器的后门。微软工程师 Andres Freund 在 3 月 29 日发现——他的登录消耗的处理器时间超出应有水平——那时大多数 Linux 系统还没装上这个版本。没有人查出 Jia Tan 是谁。
2021 年 1 月以来 xz 的每一次改动,一格一处,2021 年几乎全是 Lasse 的。2022 年 1 月 28 日,Jia Tan 写的第一处改动进入。到 2023 年,Jia Tan 的改动超过 Lasse,304 对 172。2024 年 2 月,Jia Tan 发布两个内藏后门的版本,3 月 29 日 Andres Freund 发现。之后又是 Lasse 独自一人,2025 年他写了 97% 的改动。
每月 57 美元
Denis Pushkarev 为维持 core-js 而请求捐款时筹到的数目。
Denis Pushkarev
写了 core-js,让新的 JavaScript 能在旧浏览器里跑。按他自己的统计,全球最忙的一千个网站中约有一半在用它。
2019 年,他全职无薪做 core-js,住在俄罗斯,因为那里便宜。据他自述,一次大版本发布三周后,他凌晨三点开车回家,漆黑的路面上两名年轻女子卷入他的车下,其中一人死亡。家属索赔约 8 万美元,检察官求刑七年。
他加了一条消息,任何人安装 core-js 时都会在终端看到,请求帮助或一份工作。数百万开发者看到了它,很多人抱怨这条消息。他 2020 年 1 月入狱,约十个月后提前获释。
2019 年 6 月起 core-js 每周的改动,几乎全是他的。2019 年 12 月一个月做了 101 处。2020 年 1 月他入狱,之后的几周几乎空白。2020 年 10 月他出狱复工。他在狱中时下载量几乎翻倍。今年他写了 95% 的改动,GitHub 上有两家赞助。
5,409 处中的 5,408 处
2008 到 2018 年间 sudo 的改动,由 Todd Miller 做的。
"我目前正在找赞助人,以资助 sudo 的继续维护和开发。"
Todd C. Miller,millert.dev,2026 年 2 月。
Todd Miller
从上世纪 90 年代初起维护 sudo——在 Mac 或 Linux 服务器上给你管理员权限的那条命令。
sudo 最初约 1980 年写于纽约州立大学布法罗分校,Todd 照看它的年头比 Linux 存在的年头还长。The Register 2 月报道他的说明之后,项目的 Open Collective 预算达到每年约 61,700 美元,GitHub 上有 30 人赞助,这让 sudo 成为我们统计中资金最充裕的单人项目。
Android 16 手机上 libjpeg.so 里的文字:
Copyright (C) 1991-2022 The libjpeg-turbo Project and many others
DRC
维护 libjpeg-turbo,Android 手机以及 Chrome、Edge 里每一张 JPEG 都由它打开,他发邮件用姓名缩写署名。
2010 年他把 1990 年代的 JPEG 代码拿来改写,提速两到六倍,2019 年它成为 ISO 和 ITU 的 JPEG 参考版本。他一个人把它当小生意经营,项目自述"仅靠赞助与资助开发维持"。他曾写道,一般性资金"大约够每月 8 到 10 小时的劳动"。今年他写了 98% 的改动。
A B C D
SQLite 团队
过去一年有四个人改动 SQLite。它存在于每一台 Android 手机、每一台 iPhone、每一台 Mac、每一份 Windows 10 和 Windows 11,以及所有主流浏览器。
"世界上有很多疯子,可能会滥用这些信息。"
sqlite.org,解释为什么撤下列出开发者姓名和照片的页面。
D. Richard Hipp 在 2000 年写出 SQLite。此前他为一艘美国海军驱逐舰写软件,那个数据库只要另一台服务器宕机就垮,于是他做了一个装在单个文件里的数据库。你打开 WhatsApp 时,聊天记录就是从这样一个文件里加载的。项目自己估计,在用的 SQLite 数据库超过一万亿个;团队靠 Hipp 的公司卖支持服务来支付开发。

Mark Adler 在喷气推进实验室,2002 年。NASA,公有领域。
Mark Adler
1995 年和 Jean-loup Gailly 一起写了 zlib。他的另一份工作,是把 NASA 的"勇气号"火星车送上火星。
zlib 把文件变小。它在 PNG 图片、网页、Git、Android、iPhone 和 Chrome 里,Debian 统计有 291,615 台上报机器装了它,基本等于全部。过去一年主要是两个人在干活:Mark,和一位网名 Vollstrecker 的贡献者。Mark 没有赞助页面,zlib 也不在我们查过的任何公共资助名单上。
25 年
从成为 Shellshock 的那行代码进入 bash,到有人报告它,中间隔了这么久。
Chet Ramey
大约 1990 年起维护 bash——Linux 上的 shell,以及 2003 到 2019 年 Mac 上的 shell——同时他在俄亥俄州凯斯西储大学的网络组有一份工作。
2014 年 9 月,Stéphane Chazelas 向 Chet 报告了 bash 的一个 bug。任何人都能用它在一台服务器上执行命令,只要发过去一段特殊形状的文本。9 月 24 日它以 Shellshock 之名公开,影响数亿台机器。担下这行的代码,1989 年 8 月 5 日就进了 bash。bash 公开历史中的每一处改动都是 Chet 做的,包括官方修复。

Behdad Esfahbod,2016 年。CC0。
Behdad Esfahbod
重写了 HarfBuzz,由它决定 Android、Chrome、Firefox、Edge、Kindle 和 Figma 里字母如何连写、如何落位。
हिन्दी
用 HarfBuzz
同样的字母,未整形
مرحبا
用 HarfBuzz
同样的字母,未整形
对英文来说,这件事大体简单。在印地语、阿拉伯语、泰米尔语和世界上大多数文字里,字母会随邻居改变形状,不做整形,一个词出来就是一排碎块。Behdad 大约 2012 年在 Google 时开始重写。今年他写了 85% 的改动,另有五个人做日常工作。

Daniel Stenberg,2015 年。摄影:Daniel Stenberg,CC BY 4.0。
Daniel Stenberg
1996 年在瑞典开始做 curl。它为手机、汽车、电视搬运数据,Windows 从 2018 年起内置了它。
今年有 11 人定期参与 curl 的开发。Viktor Szakats 改动最多,其次是 Daniel,Stefan Eissing 有 445 处。Daniel 在 2025 年的回顾中写道,其他人给 curl 添的代码行数已经超过了他。他全职做这件事,因为公司为支持付费,项目通过 Open Collective 每年收到约 89,700 美元,德国面向开源的公共基金为 curl 的工作支付了 19.5 万欧元。
过去十二个月 curl 的每一次改动按周排列,改动十次以上的人每人一色。
Heartbleed
OpenSSL 为网络上很大一部分站点挂上那把锁。2014 年 4 月,一个叫 Heartbleed 的 bug 让任何人都能从约 17% 的可信安全服务器内存里读出密码和私钥——按 Netcraft 的统计。那一周,OpenSSL 基金会主席 Steve Marquess 写道,它每年收到约 2,000 美元捐款;他告诉 NPR,只有一个人全职在做。
两个月内,Linux 基金会从科技公司募到 540 万美元,OpenSSL 得到两名带薪开发者和一次审计。2013 年它有六人做日常工作,2014 年是十四人。
那一年做出十次以上改动的人,OpenSSL 与 xz。2014 年之前,OpenSSL 每年有三到七人做日常工作,xz 只有一人。2014 年 4 月 Heartbleed 之后钱来了,OpenSSL 从六人变成十四人。2024 年 3 月 xz 后门被发现,我们找不到随之而来的新资金。2026 年 OpenSSL 有 32 人做日常工作,xz 只有一人。
钱
德国主权技术署自 2022 年以来资助了约九十个开源项目,Alpha-Omega 基金去年发放近 600 万美元,其中大部分给了 Python、Ruby 等基金会的安全工程师。两者都把钱给能够申请并做出汇报的组织。
主权技术署资助的项目:
- log4j 596,160 欧元
- FFmpeg 437,930 欧元
- OpenSSL 405,888 欧元
- OpenSSH 200,000 欧元
- curl 195,000 欧元
我们找不到公共资助的项目:
- 时区数据库 0 欧元
- SQLite 0 欧元
- zlib 0 欧元
- libxml2 0 欧元
- libjpeg-turbo 0 欧元
- HarfBuzz 0 欧元
- xz 0 欧元
- bash 0 欧元
- nghttp2 0 欧元
- expat 0 欧元
GitHub Sponsors 上,Daniel Stenberg 有 64 位赞助者。Paul Eggert、Lasse Collin、DRC 和 Mark Adler 没有赞助页面。
85 天
去年 libxml2 没有维护者的时间,而它在 56 亿台手机和电脑上。
libxml2 读取 XML——很多文档、订阅源和设置背后的格式,它在 Android 手机、iPhone 和 Chrome 里。2025 年 9 月 15 日,它的维护者 Nick Wellnhofer 在 GNOME 论坛上写道他要退出,"这意味着这个项目眼下基本处于无人维护的状态"。12 月 9 日,两名志愿者 Daniel Garcia Moreno 和 Iván Chavero 接手,Chavero 在 PostgreSQL 邮件列表上宣布:"欢迎贡献!"
2025 年 6 月起 libxml2 每周的改动。2025 年 9 月 15 日 Nick Wellnhofer 退出。志愿者继续提交修复,但没人主事。12 月 9 日 Daniel Garcia Moreno 和 Iván Chavero 接手。libxml2 在 56 亿台手机和电脑上。
2026e 版文件注释的第一行,由 Paul Eggert 于 2026 年 9 月 29 日发布。
我们是怎么数的
每个点是一个项目。横轴是它默认搭载的手机和电脑数量下限。纵轴是过去十二个月做出十次以上改动的人数。
我们取每个项目的完整公开历史,保留 2025 年 10 月 7 日到 2026 年 10 月 7 日之间的改动,去掉合并和机器人。某人做出十次以上改动才计入。改动的作者不一定是维护者,其中一些项目发布的历史是另一套系统的副本。
设备方面,只有能确认时我们才算某个项目在某平台上。Android 上我们列出 Android 16 镜像的系统库并读进去,也因此发现 Android 的"liblzma"是 7-Zip 的代码,不是 xz。iPhone 上我们读 Apple iOS 26.2 开发者工具包列出的系统库。Windows 上用微软关于 curl 的公告,以及每份 Windows 都带的 Edge 里的代码。Android 有超过 30 亿台活跃设备(Google,2022),iPhone 超过 10 亿台(Apple,2021),Windows 每月 16 亿台(微软,2026)。Mac、iPad、服务器、汽车和电视不计入,所以这里的每个设备数都低于真实值。
"无公共资助"指没有来自主权技术署、Alpha-Omega、Open Collective 或 GitHub Sponsors 的资助,不是说从来没有人付钱给这些人。如果我们把你的项目弄错了,告诉我们,我们会改。
评论
社区普遍赞赏文章揭示了开源底层维护者被大公司白嫖的困境,但分歧在于该归咎公司、社区还是文章本身偏颇,亦有声音质疑依赖性质被夸大或表现形式差。
认为开源维护者被大公司白嫖、应改许可证或获补偿
- 许多人共鸣于万亿级私人公司靠免费基础软件盈利,维护者却难获基本收入;主张默认有限商业或 AGPL 许可证让维护者分成或成果开放(较多人) > 全球万亿私人公司运行在理想主义开源者免费构建的软件上,而他们连基本收入都挣扎,原罪是没早用 AGPL 等许可证(@mentalgear)
认为文章偏袒开源开发者而忽略企业雇员
- 指出文章视角单一,无视骨干网络里真正支撑互联网的公司员工(少数人) > 文章偏向开源开发者,忽略了那些在一级骨干网络中真正维系互联网运转的雇员(@charcircuit)
认为这是社区失败而非公司失败,应由非营利组织支持
- 觉得全交公司更糟,建议 ISOC 或 IETF 等 NPO 支持私人开源参与基础设施(少数人) > 不是公司失败而是社区失败,若全由企业控制基础设施会更糟,应由 ISOC 或 IETF 这类组织支持(@Merkur)
认为应直接资助项目及个人开发者
- 开发者硬件老旧、基金会缺款,呼吁除资助项目外也直接小额支持志愿者个人(较多人) > 许多开发者用着五到十年的旧笔记本,即便小额月捐也能改变志愿者处境(@brynet)
认为不求回报的贡献精神才是开源生态基石
- 虽认同认可不足,但不图回报的小贡献精神正赋能了整个生态(少数人) > 虽认同认可与赞赏有问题,但不求回报的小贡献精神才让开源生态受益(@dirkc)
认为不应混淆便利依赖与必要依赖
- 以汽车螺丝类比,底层组件关键但可替换,不应在成就榜摆最前(少数人) > 汽车一颗螺丝虽关键但便宜可替,描述成就不会放顶,要区分便利与必要依赖(@throwfaraway135)
认为文章移动端难读且收益不大
- 指出排版在手机上令人困惑,不过文章主题有趣(少数人) > 这种内容形式在手机上难读又困惑,收益却很小,尽管文章本身似乎有趣(@smashed)
有价值的补充
- xz 事件的反直觉现实:核心维护者 Lasse 在 2025 年写就 97% 改动,唯一主动帮忙的人竟意图植入后门,凸显单人维护脆弱(@kabakakaba)
- 低曝光“引擎技术”的识别难题:新技术吸睛,但重要不显眼的底层技术如何筛选补偿无方,且设委员会易变熟人圈子(@jdw64)
- 补充被忽略的贡献者:如带来阅读模式的 Gijs Kruitbosch 等人同样关键(@interloxia)
- 硬件实证:OpenBSD 开发者多使用 5-10 年旧设备,其基金会距 2026 目标尚缺 23%(@brynet)