Предложение по изменению порядка получения статуса мэйнтейнера

До сих пор процесс получения статуса мэйнтейнера в Fedora был довольно непрост. Мало иметь желание, нужно еще и пройти некую запутанную процедуру, представить новый пакет и найти человека, который рецензирует его и поручится за тебя ("sponsor" в принятой в проекте терминологии). Такова теория. В целом это работало, но в последние пару лет ситуация начала ухудшаться.

Давний участник Fedora, Jason L. Tibbitts III представил шокирующую статистику. В проекте Fedora участвуют более тысячи мэйнтейнеров, из которых только 102 имеют право поручаться за других (т.е. 102 человека могут принимать в проект других мэйнтейнеров), но уже 5 из них имеют статус "неактивен" или "отключен". Из этих всех, 14 человек ни разу не приняли ни одного нового мэйнтейнера, и остается ровно 88 (считая отключенных и неактивных). Из оставшихся 88, 42 не приняли никого за прошлый год, и теперь уже осталось 46 более-менее активных поручителей. Из этих-же 46 не поручились ни за кого за последние полгода - 34. Получается, что угольное ушко, в которое надо пролезть потенциальному мэйнтейнеру в проекте, очень узкое. И узкое не из-за объективных технических причин, и лишь из-за социальных проблем внутри Fedora.

Теперь становится понятно, почему мы не видим притока новых мэйнтейнеров, пропорционального интересу к Fedora среди квалифицированных разработчиков (а он очень высок) - пара десятков более-менее активных "спонсоров" просто не может обработать их заявки. Это приводит к печальным последствиям, когда приходит человек, вывешивает заявку в Bugzilla, что он хотел бы быть мэйнтейнером, и ему нужен поручитель, поcле чего его заявка висит до полутора лет без движения и закрывается во время очередной проверки тикетов на актуальность ("true story", как говорится). Опять-же, это очень печально, когда по некоторым причинам мэйнтейнер прекращает участие в проекте, и все его пакеты становятся заброшенными, так как желающие взять их поддержку просто не могут этого сделать вовремя.

Даже без учета того, что активность "спонсоров" крайне низка, нынешняя схема не учитывает очень популярный вариант сотрудничества - человек, желающий подключиться к поддержке какого-то уже существующего пакета, вынужден включить в Fedora еще один, иначе он не получит доступ. Например, если разработчик из upstream решит подключиться к Fedora, пожелав поддерживать в актуальном состоянии его (и только его) приложение, он не сможет этого сделать по упрощенной схеме.

С другой стороны, просто так снижать барьер или полностью его устранять - глупо. Мы - не сборище тинейджеров, форкнувших форк форка форка, и создающие очередной "легкий и простой" дистрибутив (тысячи их!), а производящие высокотехнологичный передовой продукт, многие правила которого с первого взгляда могут быть непонятны для начинающих участников. Поэтому некоторый надзор необходим.

Jason взялся проанализировать, почему в этой области ситуация настолько плоха, и почему она коренным образом отличается от других групп по интересам внутри проекта. Для начала он выделил ряд организационных проблем:
  • "Спонсоры" практически ничего не делают кроме поручительства за других (крайне редко, как видно из собранной статистики) и раз в месяц-два обсуждают новых спонсоров.
  • Нет никаких возможностей узнать, кто-же спонсор, а кто - нет (в отличие от, например, Bugzappers Team). Никакой системы координации их действий тоже нет.
  • Нет формальных критериев для спонсора. Кандидаты в спонсоры самовыдвигаются, и их принимают простым голосованием среди спонсоров (пожелавших участвовать в голосовании) по принципу "нравится - не нравится"
  • Не получается просто раздавать спонсорские права, т.к. в нынешней схеме одновременно с ними человек получает права "proven packager", что даем ему возможность вносить изменения в почти все пакеты (кроме относящихся к продуктам Mozilla - это юридическое требование Mozilla Foundation)
  • Нет никаких требований к спонсорам о том, что надо делать, чтоб не потерять этот статус. Можно его просто получить и больше ничего не делать.
Выделив основные проблемы, Jason предложил пути по нахождению их решений (пока только так). Он предлагает следующее:
  • Возложить обязанности на спонсоров, невыполнение которых приводит к потере статуса.
  • Создать средства для общения/координации спонсоров (лист рассылки, trac)
  • Разделить права "proven packager" и "sponsor" - получение одного не должно автоматически приводить к получению другого.
  • Выработать формальные права для получения статуса спонсора, чтоб снять ярлык "экзамена" или "лотереи" с процесса его получения.
Сейчас его предложение публично обсуждается, и Jason планирует представить его на рассмотрение FESCo.