This document outlines how the Semaphore project is governed.
Semaphore follows a governance model that balances commercial stewardship with community participation. The project is primarily maintained by Semaphore (the company) while encouraging active community involvement.
- Sets project vision and roadmap
- Makes final decisions on features
- Manages security response team
- Controls release process
- Manages maintainer appointments
- Review and merge pull requests
- Triage issues and pull requests
- Guide architectural decisions
- Mentor contributors
- Help enforce code of conduct
- Submit pull requests
- Report bugs
- Suggest features
- Help other users
- Improve documentation
-
Discussion Phase
- Open GitHub Discussion or Issue
- Community feedback period
- Technical design review
-
Implementation Phase
- Pull Request submission
- Code review
- Testing and validation
-
Final Review
- Maintainer approval
- Company review for strategic alignment
- Merge decision
-
Community Edition
- Community proposals welcome
- Discussed openly
- Must align with project goals
- Final decision by maintainers
-
Enterprise Edition
- Company-driven roadmap
- Customer feedback prioritized
- Community input considered
- Final decision by Semaphore
- Consistent contribution history
- Deep understanding of the project
- Good standing in community
- Commitment to project's success
- Nomination by existing maintainer
- Review of contribution history
- Discussion among current maintainers
- Trial period (3 months)
- Final approval by Project Owner
- GitHub Issues and Discussions
- Project Documentation
- Discord Server
- Technical decisions documented in issues/PRs
- Architecture decisions documented in RFCs
- Roadmap publicly available
All participants must follow our Code of Conduct.
- Core functionality remains open source
- Community features reviewed fairly
- Transparent decision making
- Open development process
- Enterprise features in
ee/
directory - Clear feature distinction
- Commercial viability maintained
- Customer needs balanced with community
- Propose changes via GitHub Discussion
- 2-week comment period
- Maintainer review
- Project Owner approval
- Document update