Skip to content

Latest commit

 

History

History
91 lines (66 loc) · 3.43 KB

File metadata and controls

91 lines (66 loc) · 3.43 KB

MemMachine Project Governance

This document outlines the governance model for the MemMachine project, a community-driven open-source initiative. Our goal is to create a transparent, meritocratic, and collaborative environment where every contributor can grow their influence and shape the future of the project.

1. Project Philosophy

The MemMachine project operates on a meritocratic model. All participants are recognized for their contributions, and influence in the project is earned through active, sustained, and meaningful engagement with the community.

2. Roles and Responsibilities

The project recognizes several distinct roles, each with increasing levels of responsibility and trust.

User

  • Definition: A member of the community who uses the project's software.
  • Responsibilities: Providing feedback, reporting bugs, and participating in discussions.

Contributor

  • Definition: A user who makes a direct contribution to the project, such as submitting a bug report, creating a pull request for a new feature, or improving documentation.
  • Responsibilities: Adhering to the project's Code of Conduct, style guides, and contributing guidelines.

Maintainer

  • Definition: A long-term contributor who has demonstrated a high level of commitment, expertise, and positive community engagement. Maintainers are granted write access to the repository.
  • Responsibilities:
    • Reviewing and merging pull requests.
    • Triage and manage issues.
    • Mentoring new contributors.
    • Participating in project discussions and decision-making.

Technical Council

  • Definition: A small group of individuals elected from the Maintainer team. The Technical Council provides strategic and technical oversight for the project as a whole.
  • Responsibilities:
    • Setting the project's strategic roadmap.
    • Guiding the maintainer team.
    • Enforcing the Code of Conduct.
    • Serving as the public face of the project.

3. Decision-Making Process

Decisions within the MemMachine project are made by Lazy Consensus, a process where a decision is considered approved if no one objects within a specific timeframe. For any proposal or change, a vote will be held for a period of 72 hours.

  • A proposal is considered accepted if no objections are raised.
  • If a strong objection is raised, a public discussion will be held to find a path forward.
  • If consensus cannot be reached, the Project Leads will make the final decision.

4. How to Become a Maintainer

Becoming a maintainer is based on demonstrated merit and trust within the community. The path to becoming a maintainer is as follows:

  1. Sustained Contribution: Consistently contribute high-quality code, documentation, or other valuable work over a period of several months.

  2. Community Engagement: Actively participate in issues, discussions, and code reviews, demonstrating a positive and helpful attitude.

  3. Nomination: An existing maintainer or Project Lead will nominate you for the role.

  4. Voting: The existing maintainer team will vote on the nomination. A majority vote is required.

5. Conflict Resolution and Code of Conduct

All members of the MemMachine community are expected to follow the Code of Conduct. All issues or conflicts should be resolved in a professional and respectful manner, as outlined in the Code of Conduct's Reporting Guidelines.