Governance Structure
Status: Initial framework (evolving with community input)
Principles
Free Association governance is based on:
Technical Authority: Protocol decisions based on mathematical correctness and empirical testing
Community Input: All stakeholders can propose changes through RFC process
Transparent Process: Decisions documented publicly with clear rationale
Consensus-Seeking: Prefer broad agreement over quick decisions
Protocol Changes
RFC Process
Request for Comments (RFC) process for protocol proposals:
1. Submit Proposal
Create GitHub issue with
protocol-rfctagInclude: Problem statement, proposed solution, rationale, technical analysis
Reference relevant use cases or research
2. Community Discussion
Minimum discussion period:
Editorial changes: 1 week
Minor changes: 2 weeks
Major changes: 4 weeks
Open to all community members
Facilitated by maintainers
3. Technical Assessment
Reference implementation team assesses:
Mathematical correctness
Protocol property preservation
Implementation feasibility
Test coverage requirements
4. Decision and Documentation
Decision made with documented rationale
Announced to community
Implementation timeline provided
Version increment specified
Types of Changes
Editorial:
Documentation clarifications
Typo fixes
Formatting improvements
Approval: Maintainers review and merge
Minor:
Backwards-compatible additions
Optional feature proposals
Implementation guidance
Process: RFC, 2-week discussion, technical review
Major:
Breaking changes to protocol
Core formula modifications
Property alterations
Process: RFC, 4-week discussion, strong justification required, mathematical proofs
Maintainers
Current Maintainers
Core Maintainer: Tom Guimberteau
Responsibilities
Code Review:
Review pull requests
Ensure code quality
Verify test coverage
Check documentation updates
Community Facilitation:
Facilitate RFC discussions
Respond to questions
Coordinate contributor activities
Maintain communication channels
Technical Stewardship:
Maintain reference implementation
Ensure test suite coverage
Monitor protocol conformance
Guide technical direction
Documentation:
Keep documentation current
Review community contributions
Ensure clarity and accuracy
Maintain consistency
Becoming a Maintainer
Path to maintainership:
Contribute Regularly: Consistent, high-quality contributions over time
Demonstrate Expertise: Deep understanding of protocol and implementation
Community Engagement: Active in discussions, helpful to others
Alignment: Share project values and governance principles
Process: Current maintainers invite contributors who meet criteria
Community Participation
Everyone is welcome to:
Submit Issues and RFCs:
Bug reports
Feature proposals
Protocol improvement ideas
Use case descriptions
Participate in Discussions:
RFC feedback
Technical design conversations
Use case development
Documentation improvements
Contribute Code:
Bug fixes
Feature implementations
Test coverage
Performance improvements
Share Experiences:
Implementation learnings
Use case outcomes
Best practices
Integration patterns
Decision Authority
Protocol Changes
Community Feedback: Sought and valued for all protocol changes
Technical Correctness: Verified through mathematical proofs and empirical tests
Final Decision: Core maintainer makes decision with documented rationale
Escalation: Controversial decisions may be escalated to broader stakeholder vote
Principle: Technical correctness and mathematical properties take priority over preferences
Code Contributions
Standard Contributions:
Maintainers review and approve
Pass tests and maintain code quality
Align with project direction
Significant Changes:
Discussion before implementation
May benefit from RFC for architectural changes
Demonstrate value and feasibility
Documentation
Accuracy:
Technical documentation is accurate
Changes reviewed for correctness
Clarity and accessibility valued
Community Contributions:
Tutorials and guides welcome
User perspectives valued
Translation efforts encouraged
Conflict Resolution
Process
1. Direct Communication
Address concerns directly with involved parties
Assume good faith
Seek mutual understanding
2. Maintainer Mediation
If direct communication doesn't resolve the matter
Maintainer facilitates discussion
Seeks resolution acceptable to all
3. Formal Review
For unresolved conflicts
Documented review by maintainers
Decision with clear rationale
4. Appeal
Decisions may be appealed within 14 days
Submit appeal to [email protected]
Review by uninvolved maintainer(s) if available
Trademark Policy
Status: Application in process
Current Guidance:
"Free Association" name used accurately
Modified versions clearly marked as such
Derivative works avoid creating confusion
Future: Formal policy once trademark registration complete
Evolution
This governance model is designed to:
Start simple and evolve with community
Balance structure with flexibility
Prioritize technical correctness
Enable community participation
Feedback Welcome: Input on governance via [email protected] or GitHub issues
Governance Updates
This governance document may be updated through:
Minor Updates:
Clarifications and formatting
Process improvements
Role descriptions
Major Updates:
Structural changes
Authority modifications
Policy additions
Process: Major updates use RFC process with 4-week community discussion
Resources
Full Governance Document: GOVERNANCE.md in main repository
Protocol Specification: PROTOCOL.md
Code of Conduct: CODE_OF_CONDUCT.md
License Information: license.md
Contact
Governance Questions: [email protected]
RFC Submissions: GitHub Issues with protocol-rfc tag
General Questions: GitHub Issues
This governance model evolves with community input. Current version reflects initial structure and is designed to adapt as the project and community grow.
Last updated