Больше 40% сайтов планеты крутятся на WordPress, а тот написан на PHP. Дальше по списку: две трети, а то и три четверти всего веба — тоже PHP, от Википедии до тысяч корпораций с их внутренними системами. И вот свежая новость: уязвимость в PHP, которую исследователь раскрыл по всем правилам, — по имеющимся данным, до сих пор без патча, хотя смягчающие меры давно известны. Забавный курьёз? Увы, симптом: на открытом коде компании зарабатывают миллиарды, а платят за него, как за воздух.
PHP начинался в середине девяностых как личные скрипты Расмуса Лердорфа — а вырос в рабочую лошадь интернета. На нём были первые годы Facebook, через MediaWiki на нём до сих пор работает Wikipedia, а вокруг WordPress выросла целая экономика: агентства, хостинги, магазины. Только вот десятилетиями язык чинили и развивали энтузиасты — в свободное от основной работы время.
В 2021-м ключевые контрибьюторы стали отходить от дел, и сообщество наспех сколотило PHP Foundation: JetBrains, Automattic, Zend и ещё десятки компаний скинулись на зарплаты нескольким разработчикам ядра. Бюджет у фонда при этом стабильно скромный — примерно как содержание пары штатных инженеров крупной IT-компании. А работы — на десятерых: интерпретатор, расширения, порты, стандарты.
История с уязвимостью показала, какой тонкой выходит конструкция. Исследователь всё сделал как положено: раскрыл проблему через официальный процесс. И — судя по всему — исправления так и не дождался, хотя смягчающие меры лежали под рукой. Мораль нехитрая: даже у языка, на котором держится большая часть веба, реакция на критичные баги упирается в банальную нехватку рук и денег.
Честно говоря, ничего нового. Это уже третий заход — и каждый с последствиями на миллиарды.
Heartbleed, 2014. OpenSSL — библиотека, через которую шифровалась если не половина, то большая часть интернета — жила на пожертвованиях. В штате фактически один штатный инженер, а руководство фонда писало о донатах с той горькой иронией, за которой прячется отчаяние. Ошибка в одной функции позволяла читать память серверов: пароли и ключи утекали пачками. После скандала корпорации через Linux Foundation собрали целевую программу финансирования критичных библиотек.
Log4Shell, 2021. Логгер Log4j стоит в бесчисленных Java-приложениях, а поддерживали его несколько человек — вечно урывками, после основной работы. Найденная уязвимость позволяла исполнить произвольный код на сервере; лататься пришлось всему миру, от игр до облачных гигантов. Мейнтейнеры не стеснялись в формулировках: пожертвования копеечные, ответственность планетарная.
xz, 2024. Библиотека сжатия, встроенная в Linux-дистрибутивы, держалась на одном выгоревшем добровольце. Чем это кончилось? Атакующий годами нарабатывал доверие сообщества, получил права мейнтейнера и вшил бэкдор — через цепочку зависимостей тот добирался до ssh. Поймали чисто случайно: инженер Microsoft заметил лишние полсекунды задержки при входе на сервер. И урок тут шире, чем «проект надо финансировать»: недофинансированный проект — это не только баги, это готовая поверхность для атаки.
Рабочие модели у всех на виду — просто мало кто их тиражирует.
Прямое трудоустройство. Компания нанимает мейнтейнера своей ключевой зависимости и разрешает ему работать наверх. Shopify содержит разработчиков Ruby on Rails, wolfSSL платит лидеру curl, у Microsoft и Google — десятки инженеров в апстримах, от которых зависят их продукты. Логично до безобразия.
Фонды со штатом. Linux Foundation, Apache, OpenJS и тот же PHP Foundation собирают корпоративные деньги и раздают их по критичным точкам. OpenSSF со своими проектами Alpha-Omega целенаправленно финансирует безопасность важнейших библиотек.
Государственные деньги. Немецкий Sovereign Tech Fund выдаёт гранты инфраструктурным проектам — от curl до систем сборки; в ЕС работает программа Next Generation Internet. Идея не хитрая: цифровой суверенитет начинается с оплаты кода, которым ты пользуешься.
Рынок и регулятор. Tidelift продаёт подписку в духе «open-source как сервис с гарантиями», GitHub Sponsors и Open Collective собирают пожертвования. А европейский Cyber Resilience Act вообще переводит разговор из этики в юриспруденцию: раз поставщик ПО отвечает за уязвимости в зависимостях, бизнесу впервые становится выгодно платить апстриму. Некоммерческим мейнтейнерам предусмотрели послабления, но корпорации давление уже чувствуют.
Для рунета PHP — не абстракция, а производственная база. ВК годами работал на PHP, дотащил компиляцию языка до собственного компилятора KPHP и открыл его исходники. На PHP построены медиасервисы, интернет-магазины и здоровенный рынок агентств вокруг WordPress и 1С-Битрикс. Российские инженеры заметны и в ядре языка: Дмитрий Стогов годами развивал движок Zend, opcache и JIT, а Никита Попов долго оставался одним из самых результативных контрибьюторов PHP — работал в JetBrains, компании, ставшей одним из главных спонсоров PHP Foundation.
Модель «открытое ядро плюс платная поддержка» у нас прижилась. Postgres Professional развивает собственную ветку PostgreSQL и продаёт её сопровождение государству и корпорациям, Astra Linux стоит на наработках Debian. Это ровно та экономика, которой так не хватает мировому мейнтенерству: заказчик платит не за идею, а за гарантии и обновления.
Дальше — сложнее. Российские форки редко отдают изменения наверх, поэтому страна по-прежнему чаще потребляет open-source, чем его финансирует. Международные каналы — гранты, GitHub Sponsors, зарубежные фонды — для здешних разработчиков частично закрыты или упираются в платёжные барьеры. Перспективы — в корпоративных лабораториях, публикующих собственные проекты (от KPHP и CatBoost до семейства языковых моделей), и в государственных грантах. А если связать реестр отечественного ПО и госзакупки с обязательством вносить изменения в апстрим — Россия могла бы из крупнейшего потребителя открытого кода превратиться в системного донора.
Кризис финансирования open-source — классический провал рынка: выгода размазана по миллиардам пользователей, издержки — на одиночках. Чем кончается такой расклад, PHP, OpenSSL и Log4j уже показали: инцидентами. А xz показал, что найдётся и кто-то злонамеренный. Регуляция в ЕС и фонды вроде OpenSSF потихоньку сдвигают стимулы в нужную сторону, но пока раскрытые уязвимости PHP сидят без патчей, весь веб остаётся должником горстки людей. Лекарство банально до неприличия: закладывать открытые зависимости в бюджет — так же, как серверы и электричество. Это дешевле одного серьёзного сбоя.