|
| 1 | +# Project Governance |
| 2 | + |
| 3 | +This document outlines the governance model for the project, including roles and responsibilities, decision-making processes, and procedures for community participation. |
| 4 | +The goal is to provide a transparent and inclusive framework that supports collaboration, innovation, and accountability. |
| 5 | + |
| 6 | +## Introduction |
| 7 | + |
| 8 | +This governance model applies to the KAI Scheduler project. |
| 9 | +It serves as a guide to ensure clarity and consistency in the way decisions are made, contributors are supported, and the project grows in a sustainable and inclusive manner. |
| 10 | + |
| 11 | +## Roles & Responsibilities |
| 12 | + |
| 13 | +### Maintainers |
| 14 | + |
| 15 | +Maintainers are the individuals responsible for the long-term health and direction of the project. |
| 16 | +They have the final say on key decisions but are expected to collaborate with the community and seek consensus when possible. |
| 17 | + |
| 18 | +- **Responsibilities**: |
| 19 | + - Oversee the technical direction of the project. |
| 20 | + - Make final decisions on contributions and community matters. |
| 21 | + - Ensure code quality and maintainability. |
| 22 | + - Manage project releases and documentation. |
| 23 | + - Resolve conflicts and mediate disputes within the community. |
| 24 | + - Actively participate in community discussions. |
| 25 | + |
| 26 | +### Contributors |
| 27 | + |
| 28 | +Contributors are individuals who actively participate in the project by submitting code, bug reports, documentation, or other contributions. |
| 29 | +Contributors may be individuals, teams, or organizations. |
| 30 | + |
| 31 | +- **Responsibilities**: |
| 32 | + - Follow the project’s guidelines for contributions. |
| 33 | + - Engage in discussions and provide feedback on project decisions. |
| 34 | + - Respect the project's code of conduct. |
| 35 | + - Strive for high-quality contributions that adhere to the project's goals. |
| 36 | + |
| 37 | +### Community |
| 38 | + |
| 39 | +The community consists of all individuals interested in the project, including end users, contributors, and other stakeholders. |
| 40 | +The community is encouraged to contribute ideas, report issues, and engage in discussions. |
| 41 | + |
| 42 | +- **Responsibilities**: |
| 43 | + - Provide feedback on project decisions and contribute to discussions. |
| 44 | + - Participate in community events and initiatives. |
| 45 | + - Respect the project’s code of conduct. |
| 46 | + |
| 47 | +## Decision-Making Process |
| 48 | + |
| 49 | +### Core Decisions |
| 50 | + |
| 51 | +Core decisions, such as changes to the overall direction of the project, architectural shifts, or the approval of major features, are made by the maintainers. |
| 52 | + |
| 53 | +- **Process**: |
| 54 | + - A proposal for a major change will be submitted as a pull request or issue. |
| 55 | + - The maintainers will discuss the proposal and seek feedback from the community. |
| 56 | + - Once the discussion is concluded, maintainers will make the final decision. |
| 57 | + |
| 58 | +### Day-to-Day Decisions |
| 59 | + |
| 60 | +Day-to-day decisions, such as merging pull requests or handling smaller contributions, are made by the [approvers](OWNERS). |
| 61 | +These decisions should be made as quickly as possible to avoid delays in development. |
| 62 | + |
| 63 | +- **Process**: |
| 64 | + - Contributors submit a pull request with their proposed changes. |
| 65 | + - Approvers review and approve the pull request if it meets the project’s standards. |
| 66 | + - Minor changes, such as documentation updates or bug fixes, may be handled without a formal discussion. |
| 67 | + |
| 68 | +### Dispute Resolution |
| 69 | + |
| 70 | +If there is a disagreement or conflict within the community, it will be resolved through discussion and mediation. |
| 71 | + |
| 72 | +- **Process**: |
| 73 | + - Disputes should be addressed privately first through direct communication. |
| 74 | + - If the dispute cannot be resolved, a maintainer will mediate the discussion. |
| 75 | + - As a last resort, the maintainer team may make a final decision to resolve the issue. |
| 76 | + |
| 77 | +## Community Guidelines |
| 78 | + |
| 79 | +### Code of Conduct |
| 80 | + |
| 81 | +All contributors are expected to follow the [Code of Conduct](code_of_conduct.md). |
| 82 | +This ensures a welcoming and respectful environment for all participants. |
| 83 | + |
| 84 | +### Contribution Guidelines |
| 85 | + |
| 86 | +To contribute to the project, follow the guidelines outlined in the [CONTRIBUTING.md](CONTRIBUTING.md). |
| 87 | +This document details the process for submitting issues, pull requests, and providing feedback. |
| 88 | + |
| 89 | +### Communication |
| 90 | + |
| 91 | +- **Channels**: The primary channels for communication within the project are GitHub issues and discussions pages in the repository and [#batch-wg](https://cloud-native.slack.com/archives/C02Q5DFF3MM) Slack channel. |
| 92 | +- **Expected Behavior**: Be respectful, professional, and collaborative in all interactions. Discriminatory behavior, harassment, and disruptive actions will not be tolerated. |
| 93 | + |
| 94 | +## Elections |
| 95 | + |
| 96 | +### Maintainer Elections |
| 97 | + |
| 98 | +Maintainers are selected through a transparent and community-driven process. |
| 99 | +When a maintainer position becomes open, the existing maintainers will suggest potential candidates from within the community. |
| 100 | + |
| 101 | +- **Process**: |
| 102 | + - Existing maintainers propose candidates based on their contributions and involvement in the project. |
| 103 | + - The community is invited to provide feedback on the suggested candidates. |
| 104 | + - After considering community feedback, the maintainers make the final decision to invite the selected candidates to join the maintainer team. |
| 105 | + |
| 106 | +## Project Health |
| 107 | + |
| 108 | +### Reporting |
| 109 | + |
| 110 | +The project’s health and progress should be regularly reported to the community. This includes updates on releases, upcoming features, and current issues. |
| 111 | + |
| 112 | +- **Process**: |
| 113 | + - Regular updates will be provided in the form of **release notes**, **roadmap updates**, and **issue tracking**. |
| 114 | + - The maintainer team will host periodic community meetings to discuss the project’s status. |
| 115 | + |
| 116 | +### Code of Conduct Violations |
| 117 | + |
| 118 | +If any member of the community violates the code of conduct, they may be subject to sanctions, including temporary or permanent bans from the project. |
| 119 | + |
| 120 | +- **Process**: |
| 121 | + - Violations should be reported to a maintainer or the community manager. |
| 122 | + - A review will be conducted, and if the violation is confirmed, appropriate actions will be taken, including warning, suspension, or ban. |
| 123 | + |
| 124 | +## Conclusion |
| 125 | + |
| 126 | +This governance model provides a framework for maintaining a healthy, open, and collaborative project. |
| 127 | +It is designed to evolve as the project grows and should be reviewed periodically to ensure it remains relevant and effective. |
0 commit comments