跳转到内容

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

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 年,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

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 曾公开说:

“我很钦佩 Fabrice Bellard。他几乎可以肯定是比我更全面的程序员。”

这句话在程序员圈子里流传很广——因为 Carmack 本人就是公认的天花板级人物。


Hacker News 上有人总结过 Fabrice 作品的共同规律:

“他做的事情,本质上都是把规格说明书翻译成 C 语言。FFmpeg 是编解码规范,QEMU 是指令集规范,QuickJS 是 ECMAScript 规范,TCC 是 C 语言规范,Amarisoft 是 LTE/5G 规范。”

这个说法有争议——毕竟”实现规范”说起来容易,真正做到需要对计算机体系结构、编译原理、操作系统、数学都有深入理解。但它揭示了一个特点:Fabrice 是一个极其擅长把复杂标准转化为干净实现的人。


Fabrice Bellard 没有创业神话,没有上市敲钟,没有封面故事。

他住在法国,不接受采访,偶尔更新一下 bellard.org,然后继续写下一个项目。

而他写出来的东西,悄悄地撑着你每天用的互联网。

“当别人说某件事不可能的时候,我觉得那很有趣,我想证明他们错了。” — Fabrice Bellard


#FFmpeg #QEMU #程序员人物 #开源 #计算机历史