
Элвуд Чарльз Дауни (Elwood C. Downey), позывной WB0OEW, скончался 29 января 2026-го. Или, как говорят радиолюбители, стал Silent Key: его телеграфный ключ умолк навсегда. Вместе с этим был запущен обратный отсчет работы HamClock, которым пользуются десятки тысяч радиолюбителей во всем мире.
В июне 2026 года все экземпляры приложения на всех платформах полностью прекратят свою работу. А пока оригинальный сервер еще функционирует, давайте вспомним его автора и подумаем, какие альтернативы помогут сохранить HamClock. Ну и обсудим, как так получилось, что решение с открытым исходным кодом может быть закрыто.
Наследие Элвуда Дауни
Программирование и астрономия занимали существенную часть жизни Элвуда еще до проекта HamClock. Радиолюбительскую лицензию и позывной WB0OEW ему выдали в 1974 году. Спустя три года он получил степень бакалавра по электротехнике в Университете Пердью (Purdue University). Это один из лучших университетов в штате Индиана, ставший альма-матер для таких знаменитых людей, как Ян Мердок (основатель Debian), Нил Армстронг (первый человек на Луне) и Акира Судзуки (Нобелевский лауреат, решивший одну из основных задач в органической химии).
Обучение помогло Элвуду начать карьеру инженера-электронщика и программиста с фокусом на системах управления телескопами и астрономического ПО. Среди любителей и профессионалов астрономии широко известен софт XEphem — Дауни разрабатывал его на протяжении трех десятков лет:

С его помощью можно отображать карты звездного неба, отслеживать положения различных небесных тел и объектов глубокого космоса, планировать наблюдения и, что самое главное, управлять компьютеризированными монтировками телескопов по протоколам INDI/ASCOM. В течение долгого времени это приложение находилось в статусе коммерческого ПО, однако с 2020 года исходный код был открыт. Даже сейчас, в 2026 году, XEphem актуален благодаря своей точности эфемерид и совместимости с Unix-системами.
Элвуд частично участвовал и в разработке самого протокола INDI (Instrument Neutral Distributed Interface). Он написал большую часть ядра библиотеки INDI, которая спустя время стала стандартом для управления монтировками, камерами и прочим астрономическим оборудованием под Linux и macOS.
А вот проект HamClock изначально Дауни задумывал как инструмент для радиолюбительского шэка: отслеживать время, солнечную активность, смотреть карту мира и другие полезные данные. Первую статью о реализации HamClock на базе Adafruit HUZZAH ESP8266 с 7-дюймовым ЖК-дисплеем опубликовали в журнале QST в октябре 2017 года.
HamClock изнутри

ESP8266 — это отличный микроконтроллер, но чтобы проект мог расти, его пришлось портировать на Linux, в том числе для работы на одноплатниках вроде Raspberry Pi. Как говорил сам автор — он создал отдельный porting layer поверх кода для ESP8266, чтобы не поддерживать две кодовые базы. И это привело к существенным ограничениям в будущем.
Дело в том, что весь интерфейс был отрисован в абсолютных координатах для конкретного экрана 800 × 480. Любые более высокие разрешения можно получить простым масштабированием. Переписывать весь рендеринг под произвольные значения экранов Дауни не стал, поэтому набор был ограничен x4 от базового (1600 × 960, 2400 ×1440 и 3200 × 1920).
Но самое спорное, по мнению многих радиолюбителей, решение было принято еще на этапе планирования. HamClock — это клиент-серверное приложение, где исходный код клиента открыт, но при этом целиком зависит от работы центрального бэкэнд-сервера на clearskyinstitute.com. Последний играл роль сборщика более 40 потоков данных (карты, споты, солнечная активность и так далее) с разных интернет-ресурсов. Каждый экземпляр HamClock находится на связи с бэкэндом, обновляя оттуда данные и отображая их на информационной панели.
Именно поэтому все экземпляры HamClock перестанут работать, как только отключат бэкэнд-сервер. А поскольку закрыт его исходный код, запустить собственный домашний сервер для HamClock тоже не выйдет. Тем не менее в самом последнем релизе Элвуд предусмотрительно добавил флаг -b — с его помощью можно сменить адрес бэкэнда на любой произвольный.
Реак��ия сообщества
Большинство пользователей HamClock узнало о печальном событии на официальном сайте, который пока что работает. Посмотрев на код и осознав всю глубину проблемы, разработчики поделились на два лагеря.
Альтернативный сервер hamclock.com
Брюс Эдрич (Bruce Edrich) W4BAE из Южной Флориды решил поднять отдельный сервер — он скрупулезно воссоздал все потоки данных, которые были на оригинальном бэкэнде.
Конечно, это вносит аналогичную зависимость, но позволяет сохранить текущий порядок вещей с минимальными изменениями. Особенно это актуально для пожилых радиолюбителей, привыкших к работе HamClock и которым совершенно неинтересно разбираться с тем, как развернуть собственный сервер.
Надо понимать, что данные приходят из множества разных источников. Например, та же NOAA периодически меняет форматы своих API, и это значит, что поломку отображения придется чинить на сервере. Таких потоков много и все их нужно регулярно проверять — создать какое-то единое универсальное решение не получится. Вероятно, как раз из-за этого Элвуд изначально выбрал клиент-серверную архитектуру — гораздо проще было устранять проблемы на бэкэнде, чем каждый раз выпускать отдельный фикс.
Оплата за сервер также играет немаловажную роль во всей этой истории. Брюс выбрал модель доната через PayPal, где каждый радиолюбитель может помочь с оплатой хостинга AWS.
Подключить HamClock к альтернативному серверу Брюса можно флагом -b hamclock.com:80.
Второй способ — добавить адрес в hosts:
# Перенаправление трафика HamClock
3.128.20.228 clearskyinstitute.com
Вскоре Брюс планирует распространять готовые собранные образы для Raspberry Pi 4 и Pi 5. Многие радиолюбители устанавливали HamClock на одноплатник Inovato Quadra, о котором мы рассказывали в нашем блоге. Там тоже можно переключиться через редактирование /etc/hosts.
На момент публикации материала сервер обслуживает 7077 устройств с HamClock.
Проект OpenHamClock
Вторая часть сообщества справилась с проблемой кардинально, решив полностью переписать HamClock с использованием современных технологий. Новое приложение получилось модульным и без зависимостей от отдельного внешнего сервера. Его можно развернуть локально, на одноплатном компьютере или в контейнере Docker. Также доступна онлайн-версия.

Создатель и мейнтейнер проекта Кристофер Хетерингтон (Christopher Hetherington) с позывным K0CJH, отдельно вынес в Credits следующую строку:
Claude AI (Anthropic) — Accelerated development by assisting with bug fixes, code structure, and feature implementation
Таким образом, проект частично написан с помощью AI-ассистента и отличается от оригинала:
нет привязки к оборудованию, разрешение экрана не фиксированное;
адаптивный интерфейс, можно пользоваться на небольших дисплеях для RPI и мониторах 4K.
OpenHamClock построен из независимых модулей, каждый из которых отвечает за конкретный источник данных. Таким образом, выход из строя отдельного модуля не влияет на общую работу приложения. Каждым источником данных управляет собственный цикл обновления. Также OpenHamClock можно интегрировать с логгером N1MM и WSJT-X, чтобы отслеживать данные о проведенных QSO в реальном времени.
Заключение
HamClock был и остается уникальным проектом. За девять лет развития он набрал аудиторию, способную подхватить падающий флаг и продолжить нести его с гордостью и достоинством. Мы всегда будем помнить человека, стоящего за созданием столь важной для каждого радиолюбителя программы, и дадим ей новую жизнь.
Уверены, сложившаяся ситуация — повод задуматься. Никто не знает, когда наш собственный телеграфный ключ замолчит навечно. Вероятно, Элвуд Дауни неслучайно добавил возможность переключения на альтернативный бэкэнд. Скорее всего, это была негласная просьба продолжить его дело.
Отрадно видеть, что как минимум два проекта уже решают эту задачу. А в будущем, возможно, кто-нибудь продолжит работать и над самим кодом HamClock в память о его создателе.
73, WB0OEW — SK
RIP
