Skip to content

Commit 1ebd784

Browse files
committed
docs: Add ProXPL governance model document.
1 parent f5626c0 commit 1ebd784

1 file changed

Lines changed: 104 additions & 0 deletions

File tree

GOVERNANCE.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
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

Comments
 (0)