Открыть сервис

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 →