Фабрис Беллар: как один программист создал инструменты для миллиардов устройств
В 17 лет Фабрис Беллар написал LZEXE — архиватор размером в несколько килобайт, который помещался на дискету. Позже он создал FFmpeg, QEMU и TCC, ставшие основой для миллиардов устройств от YouTube до Android. Его проекты решают задачи там, где корпоративные инструменты оказываются слишком тяжёлыми.
Фабрис Беллар: один, без лишних слов
В 17 лет Беллар написал LZEXE — архиватор для DOS, который помещался в несколько килобайт. Программа сжимала исполняемые файлы, включая саму себя, и расходилась по BBS, где инженеры копировали её на дискеты по 360 КБ. Тогда минимализм был не эстетикой, а инженерной необходимостью: бытовые компьютеры не тянули тяжёлые проприетарные утилиты. Беллар доказал, что скорость и компактность решают задачу лучше коробочных решений от Microsoft или Borland.
FFmpeg он написал за два выходных дня в 2000 году. Задача была простой: обрабатывать видео без коммерческих ограничений. Сегодня эта программа стоит за миллиардами устройств — от YouTube до Netflix, от браузеров до студий монтажа. Вот три команды, которые решают типичные задачи:
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 128k output.mp4
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
ffmpeg -i video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output.gif
Это не просто замена десяткам проприетарных инструментов. Это замена, которая работает без лицензионных соглашений и патентных ограничений.
В 2003 году вышел QEMU — эмулятор аппаратного обеспечения, который позже стал основой KVM в Linux. Docker, Android Emulator, AWS, Google Cloud, Azure — инфраструктура современного софта опирается на технологию Беллара. Механизм динамической трансляции кода позволяет эмулировать процессоры с приемлемой производительностью. Корпорации тратят годы и миллионы на аналогичные системы. Беллар сделал это в одиночку.
Tiny C Compiler (TCC) — ещё один пример экстремальной оптимизации. Размер: 100 КБ. Скорость: компилирует себя за секунды, тогда как GCC тратит минуты. Совместимость: ANSI C плюс большая часть C99. Это инструмент для embedded-систем, скриптинга и задач, где мегабайты памяти и гигабайты зависимостей — роскошь.
QuickJS идёт дальше: JavaScript-движок размером 700 КБ, 100% совместимый с ES2020, с поддержкой модулей и async/await. Вот минимальный пример встраивания:
#include "quickjs.h"
int main() {
JSRuntime *rt = JS_NewRuntime();
JSContext *ctx = JS_NewContext(rt);
const char *script = "console.log('Hello from QuickJS!');";
JS_Eval(ctx, script, strlen(script), "<input>", JS_EVAL_TYPE_GLOBAL);
JS_FreeContext(ctx);
JS_FreeRuntime(rt);
return 0;
}
Эти инструменты не для корпоративных монолитов. Они для тех, кто строит что-то быстро, с минимальными зависимостями и без коробочных ограничений.
В 2009 году Беллар установил рекорд по вычислению числа π: 2,699 трлн знаков на бытовом ПК стоимостью менее 2000 евро за 103 дня. Алгоритм Чудновского и собственный метод умножения больших чисел (на основе FFT) работали быстрее GMP. Но прикладная ценность такого рекорда спорна: криптография не использует такие объёмы знаков π, а тестирование алгоритмов уже давно не нуждается в подобных демонстрациях. Сумма π и e до сих пор не доказана как трансцендентная. Так что рекорд остаётся красивым достижением, но не инструментом.
TSAC — последний анонс Беллара. Звуковой кодек с качеством, близким к коммерческим аналогам, выпущен под лицензией MIT. Но часть комментариев указывает на бинарный блоб без опубликованных исходников. Это вызывает споры: если код не открыт, то соответствует ли лицензия MIT её духу? Открытость — это не только текст лицензии, но и доступность исходников. Даже гении не застрахованы от этого противоречия.
Беллар учился в Политехнической школе Парижа (Ecole Polytechnique) и Télécom Paris, стажировался в IRISA. В 1998 году начал работу над VReng — 3D-движком для виртуальной реальности, который позже лёг в основу TinyGL (графическая платформа размером 40 КБ). В 2018 году он выиграл конкурс минималистичного кода на C за лучшее сжатие изображения. В 2011 году получил O’Reilly Open Source Award. Беллар не имеет страниц в соцсетях, редко появляется на публике и дал только одно интервью.
Его проекты всегда требовали фундаментальных знаний: в 1995 году он реализовал на C метод Полларда для эффективного умножения с помощью FFT, а в 1997 году опубликовал формулу Беллара для вычисления n-го шестнадцатеричного знака числа π без расчёта предыдущих (O(n²) против O(n³(log n)³) до этого). В 2001 году он выиграл конкурс минималистичного кода на C с компилятором TCC размером 3 КБ, который компилировал себя за секунды (GCC — за минуты).
Есть напряжение между Белларом и индустрией. Он работает в одиночку, но его проекты стали фундаментом для миллиардов устройств и миллионов разработчиков. FFmpeg, QEMU, TCC, QuickJS — всё это требует коллективной поддержки, документации, исправления багов. Один человек может пробить стену, но собрать осколки — задача команды.
Где работают его инструменты? В задачах, где нужна скорость, минимализм и открытость: embedded-системы, виртуализация, обработка мультимедиа, скриптинг. Где не работают? В проектах, требующих длительной поддержки, документации и коллективной разработки. TSAC без исходников — тому пример.
Проекты Беллара идеальны для стартапов и исследователей, которые хотят надёжные инструменты без корпоративных ограничений. Но даже он не может заменить команду там, где нужна документация, поддержка и прозрачность.