Fabrice Bellard:一个人,重写了整个互联网的底层

Fabrice Bellard(1972— ),法国程序员。
你大概从没听说过他的名字。但你今天看的每一个视频、用的每一朵云、跑的每一台虚拟机,几乎都在运行他写的代码。
他不接受采访,没有社交媒体,没有 TED 演讲。他的个人网站只有一个朴素的项目列表。他只是不停地写代码,然后把它们免费送给世界。
一、17 岁:第一个送给世界的作品
Section titled “一、17 岁:第一个送给世界的作品”1989 年,Fabrice 还是法国蒙彼利埃 Lycée Joffre 中学的一名 17 岁学生。
那是软盘的年代。一张 5.25 英寸软盘只有 360KB,DOS 程序动辄超出这个限制,分发极为不便。
Fabrice 写出了 LZEXE——一个能压缩 DOS 可执行文件(.EXE)的工具,压缩后的程序在运行时自动解压,用户完全感知不到。这是同类工具里最早、最好用的之一,在 DOS 社区广泛流传。
二、数学插曲:他顺手推导了一个 π 公式
Section titled “二、数学插曲:他顺手推导了一个 π 公式”1997 年,他在巴黎电信学院读研期间,推导出了一个计算 π 的新公式——Bellard 公式。
这个公式是 Bailey–Borwein–Plouffe 公式的变体,计算速度比原公式快约 43%,可以直接提取 π 的第 n 位十六进制数字,而不需要计算前面所有的位数。
这不是他的主业,只是他顺手做的事情。
三、2000 年:FFmpeg 诞生
Section titled “三、2000 年:FFmpeg 诞生”2000 年,Fabrice 启动了 FFmpeg 项目。
目标很简单:写一个能处理所有音视频格式的开源工具库,在所有操作系统上运行。
在此之前,视频编解码的世界一片混乱——每种格式各有私有实现,互不兼容,质量参差不齐。FFmpeg 第一次把这一切统一在一个开源库里。
他独自主导这个项目数年,奠定了整个架构。
今天,FFmpeg 的身影出现在:
| 你用的产品 | FFmpeg 的角色 |
|---|---|
| YouTube | 视频转码与处理 |
| Netflix | 串流编码 |
| VLC | 核心解码引擎 |
| Chrome / Firefox | 媒体播放 |
| 每一台 Android 手机 | 系统级媒体框架 |
| 每一台 iPhone | 底层多媒体处理 |
| 每一台智能电视 | 视频解码 |
四、2003 年:QEMU——让一台电脑变成任何电脑
Section titled “四、2003 年:QEMU——让一台电脑变成任何电脑”FFmpeg 还在运转的时候,他又开始写 QEMU。
QEMU 是一个通用机器模拟器和虚拟化工具,可以让你在任何硬件上运行任何操作系统——x86 跑 ARM,Linux 跑 Windows,Windows 跑 macOS。
他一个人写到 2005 年的 0.7.1 版本,完成了核心架构。
QEMU 后来成为现代云计算基础设施的地基:
- KVM(Linux 内核虚拟化模块)建立在 QEMU 之上
- AWS、Google Cloud、Azure、阿里云的虚拟机,底层都跑着 QEMU
五、TinyCC:3KB 的 C 编译器
Section titled “五、TinyCC:3KB 的 C 编译器”2001 年,他参加 国际混淆 C 代码大赛(IOCCC),提交了一个只有 3KB 的 C 语言编译器,获得”最佳规则滥用奖”。
这个玩具项目后来长成了 TinyCC(TCC)——一个完整的 ISOC99 C 编译器,体积极小,编译速度极快,可以直接把 C 当脚本语言用。
TCC 能在 15 秒内从源码编译并启动一个 Linux 内核。
六、2009 年除夕:用台式机打破超级计算机的世界纪录
Section titled “六、2009 年除夕:用台式机打破超级计算机的世界纪录”2009 年 12 月 31 日,全世界都在跨年,Fabrice 发布了一条公告:
他用一台普通台式机,计算出了 π 的 2.7 万亿位小数,打破了当时由日本 T2K 超级计算机(造价数千万美元、重达 63 吨)保持的世界纪录。
他用的设备:
- Intel Core i7,2.93GHz
- 内存 6GB
- 硬盘 7.5TB
- 总价约 2000 美元
七、JSLinux、QuickJS 和停不下来的输出
Section titled “七、JSLinux、QuickJS 和停不下来的输出”2011 年,他发布了 JSLinux——一个完全用 JavaScript 写的 PC 模拟器,可以在浏览器里直接运行 Linux。没有插件,没有 WebAssembly(那时候还没有),纯 JavaScript。
2014 年,他发布 BPG——一种基于 HEVC 编码的图片格式,比同画质的 JPEG 体积小约 50%。没有被广泛采纳,但技术上远超当时的标准。
2019 年,他发布 QuickJS——一个完整支持 ES2020 标准的 JavaScript 引擎,单个可执行文件,嵌入式友好。
2012 年,他联合创办了 Amarisoft,为 4G LTE 和 5G NR 基站写软件——用普通 PC 跑基站,而不是专用硬件。
近年他还在持续更新:NNCP(神经网络无损压缩)、TSAC(超低码率音频压缩)、Micro QuickJS(10KB RAM 的微控制器 JS 引擎)……
八、John Carmack 怎么评价他
Section titled “八、John Carmack 怎么评价他”《毁灭战士》的作者、公认的顶级游戏引擎工程师 John Carmack 曾公开说:
“我很钦佩 Fabrice Bellard。他几乎可以肯定是比我更全面的程序员。”
这句话在程序员圈子里流传很广——因为 Carmack 本人就是公认的天花板级人物。
九、他的工作方式
Section titled “九、他的工作方式”Hacker News 上有人总结过 Fabrice 作品的共同规律:
“他做的事情,本质上都是把规格说明书翻译成 C 语言。FFmpeg 是编解码规范,QEMU 是指令集规范,QuickJS 是 ECMAScript 规范,TCC 是 C 语言规范,Amarisoft 是 LTE/5G 规范。”
这个说法有争议——毕竟”实现规范”说起来容易,真正做到需要对计算机体系结构、编译原理、操作系统、数学都有深入理解。但它揭示了一个特点:Fabrice 是一个极其擅长把复杂标准转化为干净实现的人。
Fabrice Bellard 没有创业神话,没有上市敲钟,没有封面故事。
他住在法国,不接受采访,偶尔更新一下 bellard.org,然后继续写下一个项目。
而他写出来的东西,悄悄地撑着你每天用的互联网。
“当别人说某件事不可能的时候,我觉得那很有趣,我想证明他们错了。” — Fabrice Bellard
#FFmpeg #QEMU #程序员人物 #开源 #计算机历史