1. Управление проектом

iFay использует многоуровневую модель управления для обеспечения прозрачного принятия решений и участия сообщества. Как экосистема открытых стандартов, охватывающая множество независимых подпроектов (FayID, Ego, различные протоколы, FayGer, iFACTS и др.), чёткая структура управления необходима для координации вкладов и поддержания согласованности спецификации.

Иерархия управления

Участники (Contributors)

Любой человек, вносящий вклад в экосистему iFay, является участником. Вклад включает, но не ограничивается следующим:

  • Создание Issues для сообщения о проблемах или внесения предложений
  • Отправка Pull Requests для внесения вклада в код или документацию
  • Участие в GitHub Discussions и обсуждениях SEP
  • Помощь в переводе документации
  • Помощь другим членам сообщества

Мейнтейнеры (Maintainers)

Мейнтейнеры отвечают за повседневное управление и технические решения конкретных подпроектов или рабочих групп. Мейнтейнеры iFay организованы по доменам, например:

  • Мейнтейнеры FayID: отвечают за систему идентификации
  • Мейнтейнеры Ego: отвечают за модель персонализации
  • Мейнтейнеры протоколов: отвечают за Faying, Telepathy, ICP, CAP, DTP, SSP и другие протоколы
  • Мейнтейнеры FayGer: отвечают за среду выполнения
  • Мейнтейнеры iFACTS: отвечают за набор тестов на соответствие
  • Мейнтейнеры документации: отвечают за документацию и многоязычный перевод

Мейнтейнеры могут самостоятельно принимать технические решения в своих доменах, но должны эскалировать решения на уровень Core Maintainers, когда они затрагивают межпредметные области или существенные изменения.

Core Maintainers

Core Maintainers отвечают за общее направление и развитие спецификации iFay. Их обязанности включают:

  • Утверждение SEP (Specification Enhancement Proposals)
  • Координацию согласованности между подпроектами
  • Разработку и корректировку дорожной карты проекта
  • Утверждение добавления новых мейнтейнеров

Core Maintainers могут отменить решение мейнтейнера путём голосования большинством для обеспечения общей согласованности и качества спецификации.

Lead Maintainer (BDFL)

Lead Maintainer является окончательным лицом, принимающим решения по проекту; в настоящее время эту роль выполняет основатель проекта. Когда Core Maintainers не могут достичь консенсуса, Lead Maintainer имеет решающее слово.

Основные принципы

  • Членство принадлежит отдельным лицам, а не компаниям. Мейнтейнеры ставят интересы протокола и сообщества выше коммерческих интересов своих работодателей. Это обеспечивает нейтральность iFay как открытого стандарта.
  • Все решения прозрачно документируются. Процесс обсуждения и результаты важных решений публично фиксируются на GitHub и доступны любому члену сообщества.
  • Мейнтейнеры могут принимать решения самостоятельно, но могут эскалировать. Мейнтейнеры обладают автономией в своих доменах, но когда решения затрагивают межпредметные области или являются спорными, они могут быть эскалированы на уровень Core Maintainers для обсуждения.
  • Core Maintainers могут отменять решения мейнтейнеров. Core Maintainers могут отменить решение мейнтейнера путём голосования большинством — это защитный механизм для обеспечения общей согласованности спецификации.

Обязанности мейнтейнеров

Каждый мейнтейнер должен выполнять следующие обязанности:

  • Активно взаимодействовать с участниками сообщества, оперативно отвечая на Issues и PR
  • Поддерживать и улучшать код и спецификации в своих областях ответственности
  • Содействовать написанию документации и планированию дорожной карты
  • Передавать идеи и отзывы сообщества Core Maintainers
  • Участвовать в обсуждении и рецензировании соответствующих SEP

Как стать мейнтейнером

Процесс становления мейнтейнером:

  1. Вносите устойчивый, качественный вклад в подпроект или домен
  2. Получите номинацию от существующего мейнтейнера
  3. Core Maintainers рассматривают и утверждают номинацию

Мы призываем всех участников активно участвовать и демонстрировать свои технические способности и дух сотрудничества. Статус мейнтейнера — это признание устойчивого вклада, а не привилегия.