В библиотеке libxml2 произошла заметная смена руководства: один из ключевых разработчиков последних лет, Ник Велнхофер (Nick Wellnhofer), окончательно отказался от роли сопровождающего и убрал своё имя из официального списка мейнтейнеров проекта. Формально о намерении отойти от дел он сообщил ещё в сентябре, но тогда речь шла лишь о планах. Сейчас же изменение зафиксировано в репозитории, а обсуждение будущего библиотеки без активного сопровождения закрыто как завершённое.
После ухода Ника на себя ответственность за дальнейшее развитие libxml2 взяли два новых разработчика. Это Даниэль Гарсия Морено (Daniel Garcia Moreno), сотрудник компании SUSE и участник проекта openSUSE, а также Иван Чаверо (Iván Chavero), основатель компании NorTK и бывший инженер Red Hat, ранее работавший над платформами OpenStack и OpenShift. Примечательно, что до этого их имена практически не фигурировали среди тех, кто регулярно вносил патчи в libxml2, однако сейчас они официально добавлены в список сопровождающих и готовятся поддерживать проект на постоянной основе.
Роль Ника Велнхофера в истории библиотеки была весьма значимой. Он участвует в разработке libxml2 с 2016 года, а в 2022 году был включён в число официальных мейнтейнеров. С этого момента и до недавнего времени именно он фактически оставался почти единственным активным разработчиком, который закрывал баги, принимал патчи, занимался релизами и реагировал на отчёты об уязвимостях. По сути, столь критически важная и широко используемая библиотека долгие годы держалась на плечах одного человека, работающего в основном на добровольных началах.
Значимость libxml2 трудно переоценить: это одна из базовых библиотек для работы с XML, которая используется как в составе операционных систем, так и во множестве пользовательских и серверных приложений. В числе компаний, чьи продукты прямо или косвенно завязаны на libxml2, часто упоминают Apple, Google и Microsoft. В экосистеме свободного ПО библиотека стоит в числе критических зависимостей для больших настольных окружений (GNOME, Xfce, Mate, Cinnamon, Budgie), офисного пакета LibreOffice, браузера Epiphany, виртуализационных и инфраструктурных решений вроде libvirt, BIND, VirtualBox, Flatpak и Pacemaker, а также инструментов разработки (lldb, clang-tools, xsltproc) и серверного ПО, включая PostgreSQL, Apache httpd, Zypper, Scribus и многие другие проекты.
На фоне столь широкой распространённости к качеству сопровождения и скорости устранения уязвимостей в libxml2 в последние годы возникало всё больше вопросов. Одним из наиболее заметных последствий стала позиция Google по поводу поддержки XSLT в браузере Chromium. В публичном обсуждении решения отказаться от XSLT разработчики Chromium указывали в числе причин трудности с сопровождением и специфику реакции мейнтейнера XML‑стека на сообщения о проблемах безопасности. Формально XSLT реализуется другой библиотекой — libxslt, однако она тесно связана с libxml2, и общее состояние XML‑подсистемы и её сопровождение оказывали прямое влияние на безопасность браузера.
Особое раздражение у части индустрии вызвало заявление Ника летом, когда он фактически отказался выделять уязвимости в libxml2 в особую категорию проблем. Вместо быстрого приоритетного реагирования он стал рассматривать сообщения об уязвимостях как обычные баги, которые обрабатываются по мере наличия свободного времени. По его словам, от одного-двух добровольцев, не получающих за эту работу оплату, несправедливо ожидать уровня поддержки, сопоставимого с тем, что обеспечивают крупные коммерческие команды безопасности.
При этом Ник открыто критиковал практику, когда корпорации выдвигают дополнительные требования к волонтёрам‑сопровождающим: требуют ускоренного закрытия уязвимостей, детальных отчётов и постоянной доступности, но при этом не готовы финансировать эту деятельность. Для него это стало принципиальным вопросом: если разработчик работает в свободное время и бесплатно, он оставляет за собой право самому расставлять приоритеты и не строить работу исходя из внутренних дедлайнов корпораций.
Ситуация вокруг libxml2 вскрыла давнюю проблему всего опенсорс‑мира: критически важная инфраструктура интернета и настольных систем зачастую опирается на труд немногих энтузиастов, которые не получают за это адекватной компенсации. При этом от них ожидают реакции, сравнимой с уровнем платной техподдержки. В случае Ника конфликт ожиданий достиг точки, когда он предпочёл просто уйти, вместо того чтобы продолжать работать в атмосфере нарастающего давления.
Появление двух новых сопровождающих — Даниэля Гарсии Морено и Ивана Чаверо — даёт шанс перераспределить нагрузку и вывести проект на более устойчивую модель развития. Оба разработчика имеют опыт работы с крупными инфраструктурными решениями и корпоративными дистрибутивами Linux, что важно для такой низкоуровневой и ответственной библиотеки, как libxml2. От них ждут не только быстрой реакции на отчёты о проблемах, но и выстраивания более предсказуемого процесса релизов, улучшения документации и, возможно, пересмотра части старого кода с учётом современных требований к безопасности.
На практике смена мейнтейнеров может привести к нескольким важным изменениям. Во‑первых, вероятно усилится формализация процессов: чёткие правила приёма патчей, политики по безопасности, определённые сроки для реакции на уязвимости. Во‑вторых, есть шанс, что вокруг libxml2 будет сформирована более активная группа разработчиков, а не один‑два человека, что снизит риски «одиночной точки отказа», когда уход одного мейнтейнера ставит под угрозу будущее целой библиотеки. В‑третьих, новые сопровождающие могут активнее взаимодействовать с крупными дистрибутивами и компаниями‑потребителями, добиваясь более справедливого распределения ответственности.
История с XSLT в Chromium при этом показывает, что часть корпораций выбирает иной путь: если зависимость от внешней библиотеки становится слишком рискованной или неудобной, её могут просто исключить или заменить. В случае XML‑стека обсуждаются варианты перехода на другие реализации, в том числе написанные на более безопасных языках вроде Rust, чтобы минимизировать классы уязвимостей, связанные с ручным управлением памятью. Это не отменяет важности libxml2 здесь и сейчас, но ясно демонстрирует тренд: критическая инфраструктура больше не должна полностью зависеть от одного перегруженного волонтёра.
С этической точки зрения ситуация вокруг Ника Велнхофера наглядно показывает, насколько хрупким бывает баланс между ожиданиями пользователей и возможностями отдельных разработчиков. С одной стороны, миллионы пользователей, множество дистрибутивов и приложений рассчитывают на то, что библиотека, от которой они зависят, будет безопасной и своевременно обновляемой. С другой — сопровождение такого проекта в одиночку, без финансирования и официальных обязательств, превращается в постоянный источник стресса и выгорания. В какой‑то момент отказаться от роли мейнтейнера оказывается единственным рациональным решением.
Важный вывод для компаний, зарабатывающих на продуктах, основанных на открытом ПО, состоит в том, что одна лишь бесплатная доступность кода не означает бесплатного обслуживания. Если бизнес‑критичный продукт зависит от библиотеки вроде libxml2, логичным шагом становится либо участие в её финансировании и развитии, либо создание внутренней команды, способной взять на себя часть ответственности — будь то через форк или активный вклад в апстрим. Игнорирование этой реальности приводит к конфликтам и решениям вроде отказа от отдельных технологий, как это произошло с XSLT.
Для самого проекта libxml2 текущий этап можно рассматривать как точку перезапуска. Появление новых сопровождающих — шанс не только поддержать текущий функционал, но и переосмыслить архитектурные решения, накопившиеся за годы технические долги и требования к безопасности. Если вокруг библиотеки удастся сформировать устойчивое сообщество разработчиков и наладить взаимодействие с основными потребителями, это снизит риски повторения ситуации, когда судьба критической для экосистемы зависимости зависит от настроения и ресурсов одного человека.
В итоге смена мейнтейнеров libxml2 — это не просто формальная перестановка имён в списке сопровождающих. Это симптом более широкой проблемы: зависимость всего ИТ‑мира от невидимого труда разработчиков опенсорса. От того, насколько новые сопровождающие сумеют выстроить более устойчивую модель развития, а компании‑потребители — осознать свою долю ответственности, будет зависеть, насколько надёжной и безопасной останется одна из ключевых XML‑библиотек в ближайшие годы.



