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
Как стать мейнтейнером
Процесс становления мейнтейнером:
- Вносите устойчивый, качественный вклад в подпроект или домен
- Получите номинацию от существующего мейнтейнера
- Core Maintainers рассматривают и утверждают номинацию
Мы призываем всех участников активно участвовать и демонстрировать свои технические способности и дух сотрудничества. Статус мейнтейнера — это признание устойчивого вклада, а не привилегия.
