Основная команда Nixpkgs самораспустилась из-за конфликта с советом NixOS

Основная команда (core team) репозитория пакетов Nixpkgs, лежащего в основе дистрибутива NixOS, объявила на официальном форуме NixOS Discourse о своём роспуске. За 10 месяцев работы команда реформировала процесс делегирования прав коммитера, ввела в состав 19 новых коммитеров, расширила бот для слияния изменений, восстановила контакт с GitHub и добилась спонсорского апгрейда до GitHub Enterprise Cloud, помогла разобраться с инцидентом безопасности GHSA-67f2-674w-6g63 и его последствиями, а также утвердила первую политику по автоматизации и ИИ.

Но, по словам команды, роль не оказалась тем «лёгким» постом, совместимым с активной технической работой, на который они рассчитывали. Две недели назад участники пришли к выводу, что уйти со своих постов необходимо для их собственного здоровья: нагрузка признана неподдерживаемой, что подтверждается уже начавшимся оттоком членов команды. На призыв найти новых участников откликнулся только один человек, а остальной отклик на попытки набора был смешанным, набрать состав до устойчивого уровня оказалось невозможным. С учётом того, что выборы в Steering Committee (руководящий совет Nixpkgs) должны пройти в ближайшее время, команда решила, что честно объяснить причины роспуска будет полезнее для будущих управленческих инициатив, чем промолчать.

Основная претензия команды, к самому Steering Committee. По их описанию, совет не обладает встроенным чутьём к делегированию полномочий, предусмотренному уставом проекта, и при этом недостаточно вовлечён и слажен, чтобы самостоятельно решать вопросы своего уровня. Это выливается в излишнюю микроменеджерскую опеку над нижестоящими командами и хронически плохую коммуникацию: неясно, когда член совета говорит от своего имени, а когда, от имени всего совета; вопросы приносятся уже с готовым желаемым решением; совет иногда забирает себе целиком вопросы из зоны ответственности других команд, не привлекая их; ответы на обращения приходят недостаточно быстро и не по существу. Итог, слабая координация по Google Summer of Code, грантовым инициативам и политике по ИИ, медленный и трудный прогресс по модерации и реформе владения организацией на GitHub, а также постоянная неопределённость, доверяют ли команде самостоятельно принимать решения в её собственной зоне ответственности.

Команда подчёркивает, что решение о роспуске, не реакция на один инцидент, а итог долго копившихся системных проблем; они не считают вину лежащей на каком-то одном члене совета и признают, что у представительного коллегиального органа объективно ограничены время и силы. Тем не менее, по их оценке, совет не справляется ни с ролью представительного противовеса делегированию, ни с ролью проактивного органа принятия решений.

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

Вопросы, которые были в ведении команды, остаются без прямого владельца, их будет разбирать совет как последняя инстанция, как это было и раньше. Два автора обращения заявили, что сократят своё участие в Nixpkgs и не намерены баллотироваться в Steering Committee.

Ключевые факты

  • Основная команда репозитория пакетов Nixpkgs (NixOS) официально распустилась, объявив об этом на NixOS Discourse
  • За 10 месяцев работы команда онбордила 19 новых коммитеров, расширила бот слияния, добилась спонсорского апгрейда GitHub Enterprise Cloud и утвердила первую политику по автоматизации и ИИ
  • Причина роспуска, неподъёмная нагрузка и провал набора новых членов: на призыв откликнулся только один человек
  • Команда прямо винит руководящий совет Nixpkgs (Steering Committee) в микроменеджменте, плохой коммуникации и неспособности эффективно делегировать полномочия
  • Вопросы из бывшей зоны ответственности команды остаются без прямого владельца; выборы нового Steering Committee ожидаются в ближайшее время

Почему это важно

Nixpkgs, крупнейший в экосистеме Nix репозиторий пакетов, на котором строится дистрибутив NixOS и множество производных проектов; управляющая им команда взяла и открыто, с подробной аргументацией, ушла в отставку. Для мира открытого ПО это редкий случай, когда конфликт волонтёрского управляющего органа с вышестоящим советом раскрыт публично и в деталях, а не тихо угасает.

Кому это важно

Прежде всего, пользователям и мейнтейнерам Nix и NixOS, контрибьюторам Nixpkgs, а также всем, кто следит за управлением крупными открытыми проектами: история показывает, как формально демократическая, но плохо скоординированная структура управления выматывает волонтёров.

Как это применить

Прямого продукта здесь нет, но для тех, кто зависит от Nixpkgs, это сигнал следить за предстоящими выборами в Steering Committee и за тем, кто и как возьмёт на себя оставшиеся без владельца вопросы, от модерации до реформы владения организацией на GitHub; краткосрочно возможны задержки в решении спорных или эскалированных вопросов.

Можно ли доверять

Это официальное заявление самой команды, опубликованное от её имени на официальном форуме NixOS Discourse, первичный источник с высокой степенью доверия к фактам о том, что и когда произошло; оценки причин и вины, естественно, отражают точку зрения только одной стороны конфликта.

Риски и подводные камни

Ключевой риск, образовавшийся вакуум ответственности: вопросы, которые раньше разбирала команда, повисают на совете как "последней инстанции" без назначенного прямого владельца, включая тематику безопасности, модерации и политики по ИИ. Роспуск команды консенсусного управления в пользу мажоритарного совета также может сказаться на скорости и качестве решений по спорным темам.