1. Gouvernance du projet

iFay adopte un modèle de gouvernance à plusieurs niveaux pour garantir une prise de décision transparente et la participation de la communauté. En tant qu'écosystème de standards ouverts englobant plusieurs sous-projets indépendants (FayID, Ego, divers protocoles, FayGer, iFACTS, etc.), une structure de gouvernance claire est essentielle pour coordonner les contributions et maintenir la cohérence des spécifications.

Hiérarchie de gouvernance

Contributeurs (Contributors)

Toute personne qui contribue à l'écosystème iFay est un contributeur. Les contributions incluent, sans s'y limiter :

  • Soumettre des Issues pour signaler des problèmes ou faire des suggestions
  • Soumettre des Pull Requests pour contribuer au code ou à la documentation
  • Participer aux GitHub Discussions et aux discussions SEP
  • Aider à la traduction de documents
  • Aider les autres membres de la communauté

Mainteneurs (Maintainers)

Les mainteneurs sont responsables de la gestion quotidienne et des décisions techniques de sous-projets ou groupes de travail spécifiques. Les mainteneurs d'iFay sont organisés par domaine, par exemple :

  • Mainteneurs FayID : responsables du système d'identité
  • Mainteneurs Ego : responsables du modèle de personnalisation
  • Mainteneurs des protocoles : responsables de Faying, Telepathy, ICP, CAP, DTP, SSP et autres protocoles
  • Mainteneurs FayGer : responsables de l'environnement d'exécution
  • Mainteneurs iFACTS : responsables de la suite de tests de conformité
  • Mainteneurs de la documentation : responsables de la documentation et de la traduction multilingue

Les mainteneurs peuvent prendre des décisions techniques de manière indépendante dans leurs domaines respectifs, mais doivent escalader les décisions au niveau des Core Maintainers lorsqu'elles impliquent un impact inter-domaines ou des changements significatifs.

Core Maintainers

Les Core Maintainers sont responsables de la direction générale et de l'évolution de la spécification iFay. Leurs responsabilités incluent :

  • L'approbation des SEPs (Specification Enhancement Proposals)
  • La coordination de la cohérence entre les sous-projets
  • L'élaboration et l'ajustement de la feuille de route du projet
  • L'approbation de l'ajout de nouveaux mainteneurs

Les Core Maintainers peuvent annuler la décision d'un mainteneur par vote à la majorité pour garantir la cohérence et la qualité globales de la spécification.

Lead Maintainer (BDFL)

Le Lead Maintainer est le décideur final du projet, poste actuellement occupé par le fondateur du projet. Lorsque les Core Maintainers ne parviennent pas à un consensus, le Lead Maintainer a le dernier mot.

Principes fondamentaux

  • L'adhésion appartient aux individus, pas aux entreprises. Les mainteneurs donnent la priorité aux intérêts du protocole et de la communauté plutôt qu'aux intérêts commerciaux de leurs employeurs. Cela garantit la neutralité d'iFay en tant que standard ouvert.
  • Toutes les décisions sont enregistrées de manière transparente. Le processus de discussion et les résultats des décisions importantes sont enregistrés publiquement sur GitHub, accessibles à tout membre de la communauté.
  • Les mainteneurs peuvent décider de manière indépendante, mais peuvent escalader. Les mainteneurs ont une autonomie dans leurs domaines respectifs, mais lorsque les décisions impliquent un impact inter-domaines ou sont controversées, elles peuvent être escaladées au niveau des Core Maintainers pour discussion.
  • Les Core Maintainers peuvent annuler les décisions des mainteneurs. Les Core Maintainers peuvent annuler la décision d'un mainteneur par vote à la majorité — c'est un mécanisme de protection pour garantir la cohérence globale de la spécification.

Responsabilités des mainteneurs

Chaque mainteneur doit remplir les responsabilités suivantes :

  • Interagir activement avec les contributeurs de la communauté, en répondant rapidement aux Issues et PRs
  • Maintenir et améliorer le code et les spécifications dans leurs domaines respectifs
  • Soutenir la rédaction de la documentation et la planification de la feuille de route
  • Communiquer les idées et les retours de la communauté aux Core Maintainers
  • Participer à la discussion et à la révision des SEPs pertinents

Comment devenir mainteneur

Le processus pour devenir mainteneur :

  1. Apporter des contributions soutenues et de haute qualité à un sous-projet ou un domaine
  2. Être nominé par un mainteneur existant
  3. Les Core Maintainers examinent et approuvent la nomination

Nous encourageons tous les contributeurs à participer activement et à démontrer leurs compétences techniques et leur esprit de collaboration. Le statut de mainteneur est une reconnaissance de la contribution soutenue, pas un privilège.