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

Пол Эггерт

Пол Эггерт (англ. Paul Eggert; род. 29 июля 1955, Лос-Анджелес, Калифорния, США) — американский учёный в области информатики, известный прежде всего как ведущий разработчик и текущий мейнтейнер базы данных часовых поясов (tz database, также известной как IANA Time Zone Database). Он является автором значительных алгоритмов в области обработки текста, в частности алгоритма сжатия данных LZSS (модификация LZ77), а также внёс вклад в развитие систем управления версиями и стандартизацию времени в компьютерных системах.

Биография

Пол Эггерт родился в 1955 году в Лос-Анджелесе. Получил степень бакалавра по математике (1977) и докторскую степень (PhD) по информатике (1982) в Калифорнийском университете в Лос-Анджелесе (UCLA). Его диссертация была посвящена вопросам сжатия данных и обработки строк.

После завершения обучения Эггерт работал в ряде академических и коммерческих организаций, включая корпорацию Hewlett-Packard (HP) и компанию Sun Microsystems. В HP он занимался разработкой компиляторов и инструментов для разработки программного обеспечения. В 1990-х годах он присоединился к Sun Microsystems, где участвовал в создании операционной системы Solaris и работал над системой управления версиями SCCS (Source Code Control System).

В 2000-х годах Эггерт перешёл в компанию Google, где продолжил работу над системами управления версиями и стандартизацией времени. В настоящее время он является сотрудником Google, но его наиболее известная деятельность — поддержка базы данных часовых поясов — осуществляется на добровольной основе.

Научный вклад

Сжатие данных: алгоритм LZSS

В 1987 году Пол Эггерт опубликовал статью, в которой описал улучшение алгоритма LZ77, предложенного Абрахамом Лемпелем и Якобом Зивом. Модификация, получившая название LZSS (Lempel-Ziv-Storer-Szymanski, хотя сам Эггерт не является соавтором аббревиатуры), была реализована в программе сжатия текста, написанной на языке C. Основное нововведение заключалось в использовании битового флага для различения ссылок на повторяющиеся последовательности и непосредственно хранящихся символов, что позволило повысить эффективность сжатия. Алгоритм LZSS стал основой для многих последующих форматов сжатия, включая PKZIP, ARJ, и более поздний LZMA.

Системы управления версиями

Эггерт внёс существенный вклад в развитие системы SCCS, которая была одной из первых систем управления версиями для программного кода. Он разработал алгоритмы для эффективного хранения изменений (дельта-кодирования) и слияния веток. Впоследствии он участвовал в создании системы управления версиями BitKeeper, а также в разработке Git, хотя его роль в последнем была менее заметной. Его работа в этой области повлияла на стандартизацию подходов к контролю версий в индустрии.

База данных часовых поясов (tz database)

Наиболее значимым и широко известным вкладом Пола Эггерта является его работа с базой данных часовых поясов. Эта база данных содержит информацию о всех исторических и текущих изменениях часовых поясов по всему миру, включая переходы на летнее время и политические изменения границ зон.

Эггерт взял на себя роль мейнтейнера проекта в 1990-х годах, после того как его основатель Артур Дэвид Олсон отошёл от дел. С тех пор Эггерт отвечает за выпуск новых версий базы, обработку изменений, поступающих от сообщества, и поддержание точности данных. Его работа критически важна для корректной работы операционных систем (включая Linux, macOS, BSD, Solaris и многие другие), языков программирования (Java, Python, C# и т.д.) и интернет-сервисов, которые полагаются на точное время.

Эггерт также разработал и поддерживает программное обеспечение для работы с tz database, включая утилиты zic (time zone compiler) и zdump (time zone dumper). Он активно участвует в обсуждениях по стандартизации времени, в том числе в рамках IETF (Internet Engineering Task Force) и IANA (Internet Assigned Numbers Authority), которая с 2011 года является официальным хранителем базы данных.

Критика и споры

Деятельность Пола Эггерта как мейнтейнера tz database неоднократно вызывала споры. Основные претензии касались его консервативного подхода к включению изменений и строгих требований к документации. Некоторые участники сообщества критиковали его за медлительность в обработке запросов и за отказ включать данные, которые, по его мнению, были недостаточно обоснованными. В 2011 году, после передачи управления базой данных от Олсона к IANA, возникли разногласия относительно лицензирования и авторских прав на данные, что привело к временному расколу сообщества. Однако Эггерт остался на посту мейнтейнера, и его авторитет в вопросах точности времени в компьютерных системах остаётся непререкаемым.

Награды и признание

В 2019 году Пол Эггерт был удостоен премии ACM Software System Award за создание и поддержку базы данных часовых поясов. Эта награда присуждается Ассоциацией вычислительной техники (ACM) за разработку программных систем, оказавших долгосрочное влияние на индустрию. В 2021 году он получил награду Internet Society’s Jonathan B. Postel Service Award за выдающийся вклад в развитие интернет-инфраструктуры.

Интересные факты

  • Пол Эггерт является автором нескольких RFC (Request for Comments), в том числе RFC 8536 (формат файлов данных tz) и RFC 9557 (расширение формата даты и времени для указания часовых поясов).
  • Он известен своим требовательным отношением к точности: в его базе данных учтены даже часовые пояса, существовавшие лишь несколько дней (например, в некоторых регионах после распада СССР).
  • Эггерт активно использует систему контроля версий Git для управления tz database, и его репозиторий является одним из старейших и наиболее активно поддерживаемых в мире.

Источники

  • Eggert, P. (1987). "A Technique for High-Performance Data Compression". Proceedings of the 1987 Summer USENIX Conference.
  • RFC 8536 — The Time Zone Information Format (tzfile).
  • ACM Software System Award 2019 — Paul Eggert.
  • Internet Society Postel Service Award 2021 — Paul Eggert.
  • IANA Time Zone Database — официальная документация.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →