Poul-Henning Kamp
Poul-Henning Kamp (род. 14 июля 1966, Дания) — датский инженер-программист, известный своим вкладом в разработку операционной системы FreeBSD и ряда ключевых утилит для Unix-подобных систем. Он является автором или соавтором таких широко используемых компонентов, как библиотека MD5, система управления пакетами в FreeBSD, а также эталонная реализация алгоритма шифрования Blowfish. Камп известен своей активной позицией по вопросам интеллектуальной собственности, патентного права и качества программного обеспечения, а также участием в проекте Varnish Cache.
Биография
Ранние годы и образование
Poul-Henning Kamp родился в 1966 году в Дании. О его раннем детстве и образовании в открытых источниках известно немного. Интерес к программированию проявился в юности, что привело его к изучению компьютерных наук. В 1990-х годах он начал активно участвовать в разработке открытого программного обеспечения, в частности, в проекте FreeBSD, который стал его основной профессиональной сферой.
Карьера и вклад в open-source
Кампа часто называют «главным архитектором» FreeBSD, хотя он не является единственным разработчиком. Его участие в проекте началось с портирования ядра FreeBSD на архитектуру Alpha. Впоследствии он стал одним из ключевых членов Core Team (управляющего совета) проекта FreeBSD, где отвечал за архитектурные решения и стабильность кода.
В 1990-х годах Камп разработал библиотеку MD5, которая стала стандартной реализацией хеш-функции MD5 во многих Unix-системах, включая FreeBSD. Эта библиотека используется для проверки целостности данных, хранения паролей и в криптографических протоколах. Позже он также создал эталонную реализацию алгоритма шифрования Blowfish, разработанного Брюсом Шнайером.
В 2004 году Камп опубликовал статью «You're Doing It Wrong» (вы делаете это неправильно), в которой подверг критике подходы к разработке системных утилит, в частности, к работе с файловыми системами. Эта статья стала одной из самых цитируемых в сообществе Unix-разработчиков.
Проект Varnish Cache
В 2005 году Камп основал проект Varnish Cache — высокопроизводительный HTTP-акселератор, предназначенный для ускорения работы веб-серверов. Varnish был написан с нуля на языке C и стал одним из самых популярных решений для кэширования контента в веб-инфраструктуре. Камп разработал архитектуру Varnish, включая его уникальный язык конфигурации VCL (Varnish Configuration Language), который позволяет гибко настраивать правила обработки запросов. Проект до сих пор активно развивается сообществом.
Основные достижения
Вклад в FreeBSD
- Портирование на Alpha: Камп адаптировал ядро FreeBSD для работы на процессорах Alpha, что расширило аппаратную поддержку системы.
- Система управления пакетами: Он разработал и внедрил систему pkg_install, которая стала стандартом для управления пакетами в FreeBSD до появления pkgng.
- Архитектура ядра: Камп участвовал в разработке подсистемы виртуальной памяти (VM) и файловой системы UFS/FFS, а также в создании системы синхронизации потоков (mutexes).
- Библиотека MD5: Реализация, ставшая де-факто стандартом для Unix-систем.
Криптография и безопасность
- Blowfish: Эталонная реализация алгоритма, используемая в FreeBSD для шифрования паролей (в модуле crypt_blowfish).
- Критика патентной системы: Камп активно выступает против патентования программного обеспечения, считая это препятствием для инноваций. Он неоднократно критиковал патентные тролли и судебные иски, связанные с нарушением патентов на ПО.
Varnish Cache
- Архитектура: Varnish использует асинхронную модель ввода-вывода, что позволяет обрабатывать тысячи запросов в секунду.
- VCL: Язык конфигурации, позволяющий писать сложные правила кэширования без перекомпиляции сервера.
- Производительность: Varnish считается одним из самых быстрых HTTP-акселераторов, способным работать с нагрузками до 10 000 запросов в секунду на одном сервере.
Публичная деятельность и взгляды
Критика современных практик
Камп известен своими резкими высказываниями в адрес индустрии программного обеспечения. Он критикует:
- Сложность современных систем: Камп считает, что многие современные технологии (например, Kubernetes, Docker) излишне усложняют разработку и эксплуатацию.
- Патентное право: Он называет патентование алгоритмов «налогом на инновации» и призывает к реформе патентной системы.
- Качество кода: Камп выступает за тщательное тестирование и документирование кода, осуждая «быструю разработку» в ущерб надежности.
Статья «You're Doing It Wrong»
В 2004 году Камп опубликовал статью на своем сайте, в которой проанализировал типичные ошибки при разработке системных утилит. Он указал на проблемы с обработкой ошибок, управлением памятью и проектированием API. Статья вызвала широкий резонанс и стала обязательной к прочтению для многих разработчиков Unix-систем.
Участие в конференциях
Камп регулярно выступает на конференциях, посвященных открытому ПО, таких как BSDCan, EuroBSDCon и FOSDEM. Его доклады часто посвящены архитектуре Varnish, истории FreeBSD и критике современных тенденций в разработке.
Интересные факты
- Камп является автором утилиты md5(1), которая входит в состав FreeBSD и многих других Unix-систем.
- Он разработал libmd — библиотеку для работы с хеш-функциями, которая используется в OpenBSD и других проектах.
- В 2008 году Камп получил премию FreeBSD Foundation Award за вклад в развитие проекта.
- Он известен своим нежеланием использовать систему контроля версий Git, предпочитая CVS и Subversion.
Критика
Несмотря на уважение в сообществе, Камп неоднократно подвергался критике за:
- Авторитарный стиль управления: Некоторые разработчики FreeBSD отмечали, что Камп часто принимает решения без консультации с сообществом.
- Консервативность: Он выступает против внедрения новых технологий (например, systemd в Linux), что иногда воспринимается как сопротивление прогрессу.
- Резкость высказываний: Его критические статьи и выступления иногда воспринимаются как излишне агрессивные.
Источники
- Официальный сайт Poul-Henning Kamp (phk.freebsd.dk)
- Статья «You're Doing It Wrong» (2004)
- Документация проекта Varnish Cache (varnish-cache.org)
- Архивы списков рассылки FreeBSD
- Интервью с Poul-Henning Kamp (BSDCon, 2007)
- FreeBSD Foundation (freebsdfoundation.org)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →