Как простые подсчеты на Reddit отменили многомиллионную стратегию Microsoft.

GitHub внезапно дал задний ход после волны критики со стороны разработчиков. Платформа, принадлежащая Microsoft, признала, что поспешила с объявлением о том, что будет взимать плату за использование собственных серверов пользователей для запуска GitHub Actions, и решила отложить изменения. О пересмотре планов компания сообщила публично.
В официальном сообщении GitHub пояснила, что внимательно изучила реакцию пользователей и решила взять паузу, чтобы заново оценить выбранный подход. Анонсированное ранее выставление счетов за self-hosted runners откладывается на неопределённый срок. При этом компания дала понять, что полностью от идеи она не отказывается: разработчики сервиса по-прежнему ищут способ компенсировать затраты, связанные с работой инфраструктуры GitHub Actions. Ошибка, по их словам, заключалась не в самой идее, а в том, что значительная часть аудитории не была вовлечена в обсуждение заранее.
Параллельно GitHub открыла отдельную ветку для общественного обсуждения, предложив всем желающим высказаться о возможных вариантах будущих изменений. Формулировки оставляют пространство для трактовок: речь идёт именно об отсрочке, а не об окончательном отказе от монетизации self-hosted runners (собственные исполнители задач CI/CD). Некоторые участники обсуждения сразу обратили внимание, что такой подход может означать лишь перенос неизбежного решения на более удобный момент.
Согласно исходному плану, с марта GitHub собиралась ввести плату в размере 0,002 доллара за минуту работы self-hosted runners, если задания выполняются в приватных репозиториях. Одновременно компания пообещала снизить стоимость раннеров на GitHub с января, представив это как упрощение тарифной сетки и улучшение пользовательского опыта. Для публичных репозиториев бесплатный режим собственных серверов должен был сохраниться.
Сообщение моментально вызвало раздражение у команд, которые на протяжении лет вкладывались в собственную инфраструктуру именно ради контроля над средой и затратами. Разработчики начали пересчитывать бюджеты и делиться результатами. Один из пользователей Reddit в сабреддите DevOps написал, что для его компании новые расценки означали бы рост ежемесячных расходов почти на 3,5 тысячи долларов.
GitHub, судя по всему, ожидала подобную реакцию. Вопрос о том, почему вообще предлагается брать деньги за использование собственного железа, был вынесен первым пунктом в разделе FAQ к блогу с анонсом изменений. Ответ компании сводился к тому, что даже собственные раннеры опираются на инфраструктуру GitHub Actions, обслуживание которой требует постоянных вложений. По утверждению платформы, долгое время эти расходы фактически перекладывались на пользователей инфраструктуры GitHub.
Новая модель, как объяснялось в публикации, должна была привязать стоимость к реальному потреблению ресурсов. GitHub подчёркивала, что подавляющее большинство клиентов якобы не почувствует разницы. По оценке компании, 96% пользователей не столкнулись бы с ростом счетов, а среди оставшихся 4% у 85% затраты даже снизились бы. Для оставшейся небольшой группы медианный рост расходов оценивался примерно в 13 долларов в месяц.
Тем не менее детали, всплывшие в обсуждениях, усилили недовольство. GitHub уточнила, что платное использование self-hosted runners сможет «съедать» бесплатные минуты, включённые в тарифный план. Это означало, что даже выполнение задач на собственном оборудовании будет сокращать бесплатный лимит и потенциально ускорять переход к платным минутам.
Для желающих заранее оценить последствия компания обновила калькулятор цен, добавив в него учёт времени работы собственных раннеров. Одновременно GitHub напоминала, что стоимость многих конфигураций инфраструктуры GitHub снижается, а в ряде случаев свои серверы всё равно остаются выгоднее. Например, минимальный стандартный раннер с одним ядром под Linux обходится в те же 0,002 доллара за минуту и не подешевел в рамках новой схемы.