1. iFay Project Governance
iFay adopts a layered governance model to ensure transparent decision-making and community participation. As an open standards ecosystem encompassing multiple independent sub-projects (FayID, Ego, various protocols, FayGer, iFACTS, etc.), a clear governance structure is essential for coordinating contributions and maintaining specification consistency.
Governance Hierarchy
Contributors
Any individual who contributes to the iFay ecosystem is a contributor. Contributions include but are not limited to:
- Submitting Issues to report problems or make suggestions
- Submitting Pull Requests to contribute code or documentation
- Participating in GitHub Discussions and SEP discussions
- Assisting with document translation
- Helping other members in the community
Maintainers
Maintainers are responsible for the day-to-day management and technical decisions of specific sub-projects or working groups. iFay maintainers are organized by domain, for example:
- FayID Maintainers: responsible for the identity system
- Ego Maintainers: responsible for the personalization model
- Protocol Maintainers: responsible for Faying, Telepathy, ICP, CAP, DTP, SSP, and other protocols
- FayGer Maintainers: responsible for the runtime environment
- iFACTS Maintainers: responsible for the compliance test suite
- Documentation Maintainers: responsible for documentation and multilingual translation
Maintainers can make technical decisions independently within their respective domains, but should escalate decisions to the Core Maintainer level when they involve cross-domain impact or significant changes.
Core Maintainers
Core Maintainers are responsible for the overall direction and evolution of the iFay specification. Their responsibilities include:
- Approving SEPs (Specification Enhancement Proposals)
- Coordinating consistency across sub-projects
- Developing and adjusting the project roadmap
- Approving the addition of new maintainers
Core Maintainers can override a Maintainer's decision through majority vote to ensure overall specification consistency and quality.
Lead Maintainer (BDFL)
The Lead Maintainer is the final decision-maker for the project, currently held by the project founder. When Core Maintainers cannot reach consensus, the Lead Maintainer has the final say.
Core Principles
- Membership belongs to individuals, not companies. Maintainers prioritize the interests of the protocol and community over the commercial interests of their employers. This ensures the neutrality of iFay as an open standard.
- All decisions are transparently recorded. The discussion process and outcomes of important decisions are publicly recorded on GitHub, accessible to any community member.
- Maintainers can decide independently, but can escalate. Maintainers have autonomy within their respective domains, but when decisions involve cross-domain impact or are controversial, they can be escalated to the Core Maintainer level for discussion.
- Core Maintainers can override Maintainer decisions. Core Maintainers can override a Maintainer's decision through majority vote — this is a safeguard mechanism to ensure overall specification consistency.
Maintainer Responsibilities
Each maintainer should fulfill the following responsibilities:
- Actively engage with community contributors, responding promptly to Issues and PRs
- Maintain and improve the code and specifications in their respective areas
- Support documentation writing and roadmap planning
- Communicate community ideas and feedback to Core Maintainers
- Participate in the discussion and review of relevant SEPs
How to Become a Maintainer
The process for becoming a maintainer:
- Make sustained, high-quality contributions to a sub-project or domain
- Be nominated by an existing maintainer
- Core Maintainers review and approve the nomination
We encourage all contributors to participate actively and demonstrate their technical ability and collaborative spirit. Maintainer status is a recognition of sustained contribution, not a privilege.
