Governance

Transparent, decentralized decision-making for your DAO

Governance Overview

GitForge uses GitHub Discussions as the foundation for transparent, community-driven governance. Every decision is documented, voted on, and executed openly.

Why GitHub Discussions?

GitHub Discussions provides threaded conversations, reactions for voting, and perfect integration with your existing workflow. No additional platforms needed.

The Governance Process

Phase 1: Discussion (3-7 days)

Anyone can start a discussion to propose an idea:

  1. Create a new discussion in the "Proposals" category
  2. Clearly describe the proposal and rationale
  3. Community members comment with feedback
  4. Proposer refines the idea based on input

Phase 2: Formal Proposal (1-2 days)

Once discussion reaches consensus, create a formal proposal:

  1. Use the "Proposal" issue template
  2. Include refined details and implementation plan
  3. Link to the original discussion
  4. Set the voting period (usually 7 days)

Phase 3: Voting (7 days)

Community votes using GitHub reactions:

  • 👍 = Yes, I support this proposal
  • 👎 = No, I oppose this proposal
  • 🎉 = Abstain (counted for quorum only)
Voting Example
Proposal: Increase beginner bounty minimum to $100

👍 25 votes (62.5%)
👎 8 votes (20%)
🎉 7 abstentions (17.5%)

Total participation: 40 votes
Quorum met: Yes (40 > 10% of 200 members)
Approval threshold: 62.5% > 60% ✓
Result: APPROVED

Phase 4: Execution (14 days)

After approval:

  1. Core team has 14 days to implement
  2. Progress updates posted to the proposal
  3. Community can track implementation
  4. Proposal marked as "Completed" when done

Types of Proposals

Protocol Changes

Changes to how GitForge operates: bounty rules, payment methods, reputation system, etc.

Requirements: 60% approval, 10% quorum

Treasury Management

How to allocate and spend community funds: bounty budgets, infrastructure costs, etc.

Requirements: 70% approval, 15% quorum

Role Assignments

Adding or removing core team members, reviewers, or special roles.

Requirements: 75% approval, 20% quorum

Feature Requests

New features or improvements to the project.

Requirements: 50% approval, 5% quorum

Creating a Proposal

Step 1: Start with Discussion

Before creating a formal proposal, start a discussion:

  1. Go to Discussions tab in your repository
  2. Click "New discussion"
  3. Choose "Proposals" category
  4. Title: "[DRAFT] Your proposal title"
  5. Include: Problem, Solution, Benefits, Tradeoffs

Step 2: Gather Feedback

Give the community time to respond:

  • Answer questions in comments
  • Address concerns raised
  • Refine the proposal based on feedback
  • Look for signs of consensus

Step 3: Create Formal Proposal

Proposal Template
## 🗳️ Proposal: [Title]

**Type:** Protocol Change / Treasury / Role Assignment / Feature
**Discussion:** [Link to discussion]
**Voting Period:** 7 days (ends YYYY-MM-DD)

### Summary
One paragraph summary of the proposal.

### Problem
What problem does this solve? Why is it important?

### Proposed Solution
Detailed explanation of what you want to do.

### Benefits
- Benefit 1
- Benefit 2
- Benefit 3

### Tradeoffs
- Tradeoff 1
- Tradeoff 2

### Implementation Plan
1. Step 1
2. Step 2
3. Step 3

### Success Metrics
How will we know if this is successful?

### Budget (if applicable)
Cost breakdown and funding source.

---

## Voting
👍 = Yes, approve this proposal
👎 = No, reject this proposal
🎉 = Abstain

**Approval Threshold:** 60%
**Quorum:** 10%

Step 4: Announce the Voting

Share the proposal widely:

  • Post in Discord/Slack channels
  • Announce on social media
  • Tag relevant stakeholders
  • Set a clear voting deadline

Voting Rules

Who Can Vote?

Voting rights typically depend on your project's configuration:

  • Token-based: 1 token = 1 vote
  • Reputation-based: Votes weighted by reputation score
  • Equal-vote: Every contributor gets 1 vote
  • Hybrid: Combination of the above

Calculating Results

Voting Calculation
Total Votes = 👍 Yes + 👎 No
Quorum = (Total Votes + 🎉 Abstain) / Total Eligible Voters
Approval = 👍 Yes / Total Votes

Proposal passes if:
- Quorum >= Required Quorum (e.g., 10%)
- Approval >= Required Approval (e.g., 60%)

Vote Weight

Configure vote weight in .github/BOUNTY_CONFIG.json:

Vote Weight Configuration
{
  "governance": {
    "vote_weight": "equal",  // or "reputation", "token"
    "min_reputation_to_vote": 50,
    "core_team_veto": false,
    "voting_duration_days": 7,
    "proposal_types": {
      "protocol": {
        "approval_threshold": 0.60,
        "quorum": 0.10
      },
      "treasury": {
        "approval_threshold": 0.70,
        "quorum": 0.15
      },
      "roles": {
        "approval_threshold": 0.75,
        "quorum": 0.20
      }
    }
  }
}

Governance Best Practices

For Proposal Authors

  • ✅ Start with informal discussion first
  • ✅ Be clear and specific about what you're proposing
  • ✅ Provide implementation details
  • ✅ Address potential concerns upfront
  • ✅ Be open to feedback and iteration
  • ✅ Give adequate voting time

For Voters

  • ✅ Read the full proposal before voting
  • ✅ Ask questions if anything is unclear
  • ✅ Consider long-term implications
  • ✅ Vote based on merit, not popularity
  • ✅ Explain your vote if you strongly oppose

For Executors

  • ✅ Implement exactly what was approved
  • ✅ Provide regular progress updates
  • ✅ Ask for clarification if needed
  • ✅ Complete within the agreed timeline
  • ✅ Document the implementation

Special Cases

Emergency Proposals

For critical issues (security, legal, etc.):

  • Shorter voting period (24-48 hours)
  • Higher quorum requirement (25%)
  • Immediate implementation upon approval
  • Core team can execute before vote completes if necessary

Amendment Proposals

To modify an existing proposal:

  • Link to original proposal
  • Clearly state what changes
  • Explain why the amendment is needed
  • Same voting requirements as original

Veto Power

Depending on your configuration, core team may have veto power:

  • Must be exercised within 48 hours of vote ending
  • Requires written justification
  • Can be overridden by 80% super-majority revote
Use Veto Sparingly

Veto power should only be used for proposals that could harm the project or community. Overuse erodes trust.

Example Proposals

Example 1: Increasing Bounty Minimums

Proposal Example
## 🗳️ Proposal: Increase Beginner Bounty Minimum

**Type:** Protocol Change
**Voting Period:** 7 days

### Summary
Increase minimum beginner bounty from $50 to $100 to attract 
higher quality contributions.

### Problem
Current $50 minimum is below market rates, resulting in:
- Fewer qualified applicants
- Lower quality submissions
- More time spent on reviews

### Proposed Solution
Update BOUNTY_CONFIG.json:
- Beginner: $100-$300 (currently $50-$200)
- Keep other levels unchanged

### Benefits
- Attract more qualified contributors
- Higher quality work
- Competitive with other projects

### Budget Impact
Requires additional $5,000/month in bounty budget

### Voting
👍 = Yes  |  👎 = No  |  🎉 = Abstain
Approval: 60% | Quorum: 10%

Example 2: Adding Core Team Member

Role Assignment Example
## 🗳️ Proposal: Add @alice as Core Team Member

**Type:** Role Assignment
**Voting Period:** 7 days

### Summary
Promote @alice to core team for her exceptional 
contributions and leadership.

### Rationale
@alice has:
- Completed 25 bounties ($15,000 earned)
- Reviewed 50+ PRs
- Mentored 10+ new contributors
- Created documentation improvements
- Active in governance discussions

### Responsibilities
As core team member, @alice will:
- Review and merge PRs
- Manage bounties
- Mentor contributors
- Participate in governance

### Compensation
Monthly stipend: $2,000 USDC

### Voting
👍 = Yes  |  👎 = No  |  🎉 = Abstain
Approval: 75% | Quorum: 20%

Governance Tools

GitHub Discussions

Primary platform for proposals and voting

  • Built into GitHub
  • Threaded conversations
  • Reaction-based voting
  • Email notifications

GitHub Actions

Automate governance workflows:

  • Tally votes automatically
  • Close voting after deadline
  • Update proposal status
  • Notify relevant parties

External Tools (Optional)

For more advanced governance:

  • Snapshot: Off-chain voting with proof
  • Tally: On-chain governance
  • Discord/Telegram: Discussion channels
  • Notion: Proposal tracking

Governance FAQ

Can proposals be rejected?

Yes, if they don't meet quorum or approval thresholds. Authors can revise and resubmit.

What if a proposal is controversial?

Extended discussion period, town hall meetings, or splitting into smaller proposals can help.

How do we handle low voter turnout?

Strategies:

  • Better communication and reminders
  • Incentivize voting (small rewards)
  • Lower quorum requirements
  • Delegate voting rights

Can core team override votes?

Only if configured with veto power, and only for critical issues. Should be rare.