|
| 1 | +# ProXPL Governance Model |
| 2 | + |
| 3 | +The ProX Programming Language (ProXPL) project is an open-source initiative dedicated to developing a modern, high-performance programming language. This document outlines the governance structure, decision-making processes, and responsibilities of the project leadership and community. |
| 4 | + |
| 5 | +Our goal is to foster a transparent, collaborative, and professional environment that encourages high-quality contributions while maintaining a cohesive technical vision. |
| 6 | + |
| 7 | +## 1. Project Leadership Structure |
| 8 | + |
| 9 | +The project is governed by a hierarchical structure designed to ensure stability and rapid development while allowing for community growth. |
| 10 | + |
| 11 | +### 1.1. Founder and Lead Maintainer (BDFL) |
| 12 | +The project is currently led by the Founder, who acts as the Lead Maintainer (often referred to as Benevolent Dictator for Life or BDFL). |
| 13 | +* **Responsibilities:** |
| 14 | + * Setting the long-term strategic direction and roadmap of ProXPL. |
| 15 | + * Holding the final authority on technical decisions, architectural design, and release scheduling. |
| 16 | + * Acting as the tie-breaker in situations where consensus cannot be reached. |
| 17 | + * Appointing and overseeing Core Maintainers. |
| 18 | + |
| 19 | +### 1.2. Core Maintainers |
| 20 | +Core Maintainers are trusted community members who have demonstrated a strong commitment to the project, deep technical understanding of the codebase, and alignment with the project's philosophy. |
| 21 | +* **Responsibilities:** |
| 22 | + * Triaging issues and reviewing Pull Requests (PRs). |
| 23 | + * Merging code contributions into the main repository. |
| 24 | + * Guiding contributors and maintaining code quality standards. |
| 25 | + * Participating in technical discussions and voting on proposals. |
| 26 | + * Maintaining specific subsystems (e.g., VM, Compiler, Standard Library). |
| 27 | + |
| 28 | +### 1.3. Contributors |
| 29 | +Contributors are community members who submit code, documentation, or other improvements to the project. |
| 30 | +* **Responsibilities:** |
| 31 | + * Following the `CONTRIBUTING.md` guidelines. |
| 32 | + * Adhering to the `CODE_OF_CONDUCT.md`. |
| 33 | + * Participating constructively in discussions. |
| 34 | + |
| 35 | +## 2. Decision-Making Process |
| 36 | + |
| 37 | +We strive for consensus-based decision-making. Most day-to-day decisions are made through open discussion on GitHub Issues and Pull Requests. |
| 38 | + |
| 39 | +### 2.1. Technical Proposals (RFCs) |
| 40 | +Substantial changes to the language, standard library, or tooling (e.g., syntax changes, new keywords, major architectural shifts) must go through a Request for Comments (RFC) process. |
| 41 | +1. **Drafting:** A proposal is written detailing the change, motivation, and potential impact. |
| 42 | +2. **Discussion:** The community discusses the proposal, offering feedback and suggestions. |
| 43 | +3. **Approval:** |
| 44 | + * Minor changes can be approved by a Core Maintainer. |
| 45 | + * Major changes require final approval from the Lead Maintainer. |
| 46 | + |
| 47 | +### 2.2. Conflict Resolution |
| 48 | +In cases where consensus among Core Maintainers cannot be reached: |
| 49 | +1. The issue enters a "cooling-off" period for further research and discussion. |
| 50 | +2. If the deadlock persists, the Lead Maintainer makes the final binding decision to ensure the project continues to move forward. |
| 51 | + |
| 52 | +## 3. Contribution and Responsibility |
| 53 | + |
| 54 | +### 3.1. Code Review Policy |
| 55 | +* All changes, including those from Core Maintainers, are submitted via Pull Requests. |
| 56 | +* Every PR requires at least one review and approval from a Core Maintainer (excluding the author) before merging. |
| 57 | +* For critical systems (e.g., Garbage Collector, VM Core), reviews from the Lead Maintainer or specific subject-matter experts may be mandatory. |
| 58 | + |
| 59 | +### 3.2. Commit Access |
| 60 | +* Commit access (merge rights) is granted to contributors who have consistently provided high-quality contributions and demonstrated good judgment. |
| 61 | +* Nominations for new Core Maintainers are made by existing leadership and approved by the Lead Maintainer. |
| 62 | + |
| 63 | +### 3.3. Code Quality |
| 64 | +* ProXPL prioritizes performance, readability, and stability. |
| 65 | +* Contributions must adhere to the style guides defined in `CODING_STANDARD.md`. |
| 66 | +* All tests must pass before merging. |
| 67 | + |
| 68 | +## 4. Release and Versioning Authority |
| 69 | + |
| 70 | +### 4.1. Versioning |
| 71 | +ProXPL follows [Semantic Versioning (SemVer)](https://semver.org/). |
| 72 | +* **Major (X.y.z):** Breaking changes. |
| 73 | +* **Minor (x.Y.z):** New features, backward-compatible. |
| 74 | +* **Patch (x.y.Z):** Bug fixes, backward-compatible. |
| 75 | + |
| 76 | +### 4.2. Release Management |
| 77 | +* The Lead Maintainer controls the release cycle and has the sole authority to cut official releases. |
| 78 | +* Release candidates may be managed by designated Release Managers under the supervision of the Lead Maintainer. |
| 79 | + |
| 80 | +### 4.3. Breaking Changes |
| 81 | +* Breaking changes are avoided whenever possible. |
| 82 | +* When necessary, they must be rigorously justified via the RFC process and are typically reserved for major version increments. |
| 83 | + |
| 84 | +## 5. Security and Vulnerability Handling |
| 85 | + |
| 86 | +Security is a top priority. We follow a responsible disclosure policy. |
| 87 | + |
| 88 | +### 5.1. Private Disclosure |
| 89 | +* Use the process outlined in `SECURITY.md` to report vulnerabilities. |
| 90 | +* **Do not** open public issues for security vulnerabilities until they have been addressed. |
| 91 | + |
| 92 | +### 5.2. Remediation Timeline |
| 93 | +* The Maintainers will acknowledge receipt of a vulnerability report within 48 hours. |
| 94 | +* We aim to provide a fix or workaround within 90 days. |
| 95 | +* Once a fix is released, the vulnerability will be publicly disclosed and credited to the reporter. |
| 96 | + |
| 97 | +## 6. Governance Evolution |
| 98 | + |
| 99 | +ProXPL is an evolving project. As the community and codebase grow, this governance model may be updated to reflect the changing needs of the ecosystem. |
| 100 | +* Changes to this `GOVERNANCE.md` file follow the same decision-making process as technical changes (Discussion -> Approval). |
| 101 | +* Future iterations may introduce a Steering Committee or Foundation model to further decentralize leadership. |
| 102 | + |
| 103 | +--- |
| 104 | +*This document is based on open-source best practices and adapted for the needs of the ProXPL project.* |
0 commit comments