Governance
How the MDK project is governed and how decisions are made
This document describes how the MDK project is governed and how decisions are made.
MDK is an open-source project. While the code is publicly available and community contributions are welcome, final decision-making authority rests with the MDK core team.
Project Roles
Users
Anyone who uses MDK and provides feedback, bug reports, or feature requests.
Contributors
Community members who contribute code, documentation, tests, or other improvements via pull requests or issues.
Contributors do not have merge access.
Maintainers
Maintainers are responsible for reviewing pull requests, maintaining code quality, and ensuring alignment with the project roadmap.
Maintainers may be appointed by the Lead Maintainer.
The following GitHub IDs currently hold maintainer status for MDK:
- arif-dewi
- eugeneglova
- robdll
- eskawl
- boris91
- habrahamyanbf
- efr-nox
- rob-aslanian
- mukama
- paragmore
- tekwani
Only the GitHub accounts listed above have maintainer privileges within the MDK repositories. Maintainer status is granted based on demonstrated technical expertise, sustained contribution, and alignment with project goals.
MDK core team
The MDK Core Team consists of all active developers, the Project Manager, and the Community Manager.
The Core Team is responsible for the overall health, sustainability, and long-term success of the project. While specific authorities are defined for the Lead Maintainer (technical) and the Community Manager (strategic), the Core Team operates as the primary collaborative decision-making body.
Lead Maintainer
Hemant T is the Lead Maintainer and Technical Lead for MDK.
The Lead Maintainer has final authority over:
- Pull request approval and merging
- Architecture and design decisions
- Release planning and versioning
- Accepting or rejecting features
- Appointing or removing maintainers
If consensus cannot be reached among maintainers, the Lead Maintainer makes the final decision.
Community Manager
Gio is the Community Manager for MDK.
The Community Manager is responsible for:
- Managing community communication channels
- Moderating discussions and enforcing the Code of Conduct
- Supporting contributors during onboarding
- Acting as a bridge between the community and the MDK core team
- Defining, maintaining, and communicating the project vision and long-term direction
- Leading roadmap prioritization and strategic planning
Decision-Making Process
- Community members may propose changes via issues or pull requests.
- Maintainers review contributions for quality, security, and alignment with MDK goals.
- The Lead Maintainer has final approval authority on all technical decisions.
- Strategic, roadmap, or breaking changes are determined by the MDK core team.
- The Community Manager has final decision-making authority over all strategic and directional matters, including project vision, roadmap prioritization, major feature introductions, partnerships, and significant pivots.
- In cases where strategic direction and technical considerations intersect, the Community Manager determines the final strategic outcome, while the Lead Maintainer determines the final technical implementation approach.
Contribution Review Process
- All contributions must follow
CONTRIBUTING.md. - Pull requests require review by a maintainer.
- Final approval and merge is performed by the Lead Maintainer.
- The MDK team reserves the right to decline contributions that do not align with the project direction.
Inactivity and Removal
Maintainers who become inactive for an extended period or violate project policies may be removed by the Lead Maintainer.
Code of Conduct
All participants are expected to follow the project's Code of Conduct. Violations are handled by the Community Manager in coordination with the MDK core team.
See Code of Conduct for details.
Changes to Governance
This governance model may evolve over time. Any changes will be proposed and approved by the MDK core team.

