Skip to content

Commit 36a6ecf

Browse files
committed
chore: add GOVERNANCE.md for open source
Ticket: WP-5840
1 parent 23a1d2b commit 36a6ecf

File tree

1 file changed

+236
-0
lines changed

1 file changed

+236
-0
lines changed

GOVERNANCE.md

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
# BitGo Open Source Project Governance Model
2+
3+
## Overview
4+
5+
This document outlines the governance model for BitGo open source software projects. It defines roles, decision-making processes, and community participation guidelines to ensure project sustainability and prevent chaos through forks, abandonment, or other disruptive events.
6+
7+
## Mission and Values
8+
9+
**Mission**: To create secure, reliable, and innovative cryptocurrency infrastructure that empowers developers and institutions worldwide.
10+
11+
**Core Values**:
12+
13+
- Security first: All contributions must prioritize security and reliability
14+
- Transparency: Open communication and decision-making processes
15+
- Inclusivity: Welcoming environment for contributors of all backgrounds
16+
- Quality: High standards for code, documentation, and community interactions
17+
18+
## Governance Model: Hybrid Meritocracy with Project Lead Oversight
19+
20+
BitGo employs a hybrid governance model combining meritocracy principles with clear project leadership structure, suitable for both corporate-backed and community-driven projects.
21+
22+
## Roles and Responsibilities
23+
24+
### Project Lead(s)
25+
26+
- **Appointment**: Selected by BitGo management and community consensus
27+
- **Responsibilities**:
28+
- Final authority on project direction and major decisions
29+
- Oversight of maintainer appointments and removals
30+
- Strategic planning and roadmap development
31+
- Community representation and external communication
32+
- **Term**: 2 years, renewable by consensus
33+
- **Removal**: By BitGo management or 2/3 community vote
34+
35+
### Maintainers
36+
37+
- **Appointment**: By Project Lead(s) based on demonstrated merit and commitment
38+
- **Requirements**:
39+
- 6+ months of consistent contributions
40+
- Demonstrated technical expertise in project domain
41+
- Active community engagement and mentorship
42+
- Security-conscious development practices
43+
- **Responsibilities**:
44+
- Code review and merge authority
45+
- Issue triage and resolution
46+
- Release management
47+
- Community mentorship
48+
- **Removal**: By Project Lead(s) or 2/3 maintainer vote
49+
50+
### Contributors
51+
52+
- **Definition**: Anyone who submits code, documentation, or other project improvements
53+
- **Responsibilities**:
54+
- Follow contribution guidelines
55+
- Participate constructively in discussions
56+
- Respect code of conduct
57+
- **Rights**:
58+
- Propose changes and improvements
59+
- Participate in community discussions
60+
- Vote on certain governance matters
61+
62+
### Community Members
63+
64+
- **Definition**: Users, advocates, and supporters of the project
65+
- **Responsibilities**:
66+
- Provide feedback and bug reports
67+
- Help other users
68+
- Promote project adoption
69+
- **Rights**:
70+
- Access to all project resources
71+
- Participation in community discussions
72+
- Voting on non-technical governance matters
73+
74+
## Decision-Making Process
75+
76+
### Technical Decisions
77+
78+
1. **Minor Changes**: Maintainer approval required
79+
2. **Major Features**: Maintainer consensus + Project Lead approval
80+
3. **Breaking Changes**: Community discussion + 2/3 maintainer vote + Project Lead approval
81+
4. **Security Issues**: Immediate Project Lead + Security team review
82+
83+
### Governance Decisions
84+
85+
1. **Role Appointments**: Project Lead decision with community input
86+
2. **Governance Changes**: Community discussion + 2/3 contributor vote + Project Lead approval
87+
3. **Project Direction**: Project Lead decision with maintainer consultation
88+
89+
### Conflict Resolution
90+
91+
1. **Level 1**: Direct discussion between parties
92+
2. **Level 2**: Mediation by a neutral maintainer
93+
3. **Level 3**: Project Lead intervention
94+
4. **Level 4**: BitGo management involvement (for corporate projects)
95+
96+
## Proposal Process
97+
98+
### Feature Proposals
99+
100+
1. Create GitHub issue with "proposal" label
101+
2. Community discussion period (minimum 1 week)
102+
3. Technical review by maintainers
103+
4. Implementation plan and timeline
104+
5. Approval by relevant maintainers and Project Lead
105+
106+
### Governance Changes
107+
108+
1. Create GitHub issue with "governance" label
109+
2. Community discussion period (minimum 2 weeks)
110+
3. Draft proposal with specific changes
111+
4. Community vote (2/3 majority required)
112+
5. Project Lead final approval
113+
114+
## Communication Channels
115+
116+
### Primary Channels
117+
118+
- **GitHub Issues/PRs**: Technical discussions and proposals
119+
- **GitHub Discussions**: Community questions and general topics
120+
- **Security**: [email protected] for security-related issues
121+
122+
### Secondary Channels
123+
124+
- **Documentation**: Project README and wiki
125+
- **Releases**: GitHub releases with detailed changelogs
126+
- **Community Events**: Regular maintainer meetings (monthly)
127+
128+
## Code of Conduct
129+
130+
All participants must adhere to the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html), adapted for BitGo projects:
131+
132+
- Be respectful and inclusive
133+
- Focus on constructive criticism
134+
- Respect different viewpoints and experiences
135+
- Accept responsibility for mistakes
136+
- Show empathy towards other community members
137+
138+
## Security and Compliance
139+
140+
### Security Requirements
141+
142+
- All code must pass security review before merge
143+
- Security vulnerabilities must be reported privately
144+
- Regular security audits and dependency updates
145+
- Compliance with relevant financial regulations
146+
147+
### Legal and Compliance
148+
149+
- All contributions must be compatible with Apache 2.0 license
150+
- Contributors must sign CLA (Contributor License Agreement)
151+
- Compliance with applicable laws and regulations
152+
- Regular legal review of governance and processes
153+
154+
## Project Lifecycle Management
155+
156+
### Project Initiation
157+
158+
1. Define project scope and objectives
159+
2. Establish initial governance structure
160+
3. Create contribution guidelines
161+
4. Set up communication channels
162+
5. Document security and compliance requirements
163+
164+
### Ongoing Management
165+
166+
1. Regular maintainer meetings
167+
2. Quarterly project health reviews
168+
3. Annual governance model review
169+
4. Continuous community engagement
170+
5. Regular security and compliance audits
171+
172+
### Project Transition/End-of-Life
173+
174+
1. 6-month advance notice for major changes
175+
2. Community discussion and feedback period
176+
3. Migration assistance and documentation
177+
4. Archive of project resources
178+
5. Clear communication of next steps
179+
180+
## Succession Planning
181+
182+
### Project Lead Succession
183+
184+
1. Identify potential successors (internal and external)
185+
2. 6-month transition period
186+
3. Knowledge transfer and mentorship
187+
4. Community approval process
188+
5. Gradual handover of responsibilities
189+
190+
### Maintainer Succession
191+
192+
1. Regular evaluation of maintainer activity
193+
2. Proactive identification of new maintainers
194+
3. Mentorship and training programs
195+
4. Gradual increase in responsibilities
196+
5. Community recognition and support
197+
198+
## Metrics and Evaluation
199+
200+
### Project Health Metrics
201+
202+
- Contributor activity and retention
203+
- Issue resolution time
204+
- Security vulnerability response time
205+
- Community engagement levels
206+
- Adoption and usage statistics
207+
208+
### Governance Effectiveness
209+
210+
- Decision-making efficiency
211+
- Conflict resolution success rate
212+
- Community satisfaction surveys
213+
- Maintainer and contributor retention
214+
- Project sustainability indicators
215+
216+
## Amendment Process
217+
218+
This governance model may be amended through the following process:
219+
220+
1. **Proposal**: Create GitHub issue with detailed amendment proposal
221+
2. **Discussion**: 2-week community discussion period
222+
3. **Review**: Maintainer review and feedback
223+
4. **Vote**: Community vote requiring 2/3 majority
224+
5. **Approval**: Project Lead final approval
225+
6. **Implementation**: Update documentation and communicate changes
226+
227+
## Conclusion
228+
229+
This governance model provides a framework for sustainable, transparent, and inclusive open source project management. It balances corporate oversight with community autonomy, ensuring both security and innovation while preventing project fragmentation or abandonment.
230+
231+
Regular review and adaptation of this model ensures it remains effective as projects grow and evolve.
232+
233+
---
234+
235+
_Last updated: January 2025_
236+
_Version: 1.0_

0 commit comments

Comments
 (0)