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.
Our goal is to foster a transparent, collaborative, and professional environment that encourages high-quality contributions while maintaining a cohesive technical vision.
The project is governed by a hierarchical structure designed to ensure stability and rapid development while allowing for community growth.
The project is currently led by the Founder, who acts as the Lead Maintainer (often referred to as Benevolent Dictator for Life or BDFL).
- Responsibilities:
- Setting the long-term strategic direction and roadmap of ProXPL.
- Holding the final authority on technical decisions, architectural design, and release scheduling.
- Acting as the tie-breaker in situations where consensus cannot be reached.
- Appointing and overseeing Core Maintainers.
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.
- Responsibilities:
- Triaging issues and reviewing Pull Requests (PRs).
- Merging code contributions into the main repository.
- Guiding contributors and maintaining code quality standards.
- Participating in technical discussions and voting on proposals.
- Maintaining specific subsystems (e.g., VM, Compiler, Standard Library).
Contributors are community members who submit code, documentation, or other improvements to the project.
- Responsibilities:
- Following the
CONTRIBUTING.mdguidelines. - Adhering to the
CODE_OF_CONDUCT.md. - Participating constructively in discussions.
- Following the
We strive for consensus-based decision-making. Most day-to-day decisions are made through open discussion on GitHub Issues and Pull Requests.
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.
- Drafting: A proposal is written detailing the change, motivation, and potential impact.
- Discussion: The community discusses the proposal, offering feedback and suggestions.
- Approval:
- Minor changes can be approved by a Core Maintainer.
- Major changes require final approval from the Lead Maintainer.
In cases where consensus among Core Maintainers cannot be reached:
- The issue enters a "cooling-off" period for further research and discussion.
- If the deadlock persists, the Lead Maintainer makes the final binding decision to ensure the project continues to move forward.
- All changes, including those from Core Maintainers, are submitted via Pull Requests.
- Every PR requires at least one review and approval from a Core Maintainer (excluding the author) before merging.
- For critical systems (e.g., Garbage Collector, VM Core), reviews from the Lead Maintainer or specific subject-matter experts may be mandatory.
- Commit access (merge rights) is granted to contributors who have consistently provided high-quality contributions and demonstrated good judgment.
- Nominations for new Core Maintainers are made by existing leadership and approved by the Lead Maintainer.
- ProXPL prioritizes performance, readability, and stability.
- Contributions must adhere to the style guides defined in
CODING_STANDARD.md. - All tests must pass before merging.
ProXPL follows Semantic Versioning (SemVer).
- Major (X.y.z): Breaking changes.
- Minor (x.Y.z): New features, backward-compatible.
- Patch (x.y.Z): Bug fixes, backward-compatible.
- The Lead Maintainer controls the release cycle and has the sole authority to cut official releases.
- Release candidates may be managed by designated Release Managers under the supervision of the Lead Maintainer.
- Breaking changes are avoided whenever possible.
- When necessary, they must be rigorously justified via the RFC process and are typically reserved for major version increments.
Security is a top priority. We follow a responsible disclosure policy.
- Use the process outlined in
SECURITY.mdto report vulnerabilities. - Do not open public issues for security vulnerabilities until they have been addressed.
- The Maintainers will acknowledge receipt of a vulnerability report within 48 hours.
- We aim to provide a fix or workaround within 90 days.
- Once a fix is released, the vulnerability will be publicly disclosed and credited to the reporter.
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.
- Changes to this
GOVERNANCE.mdfile follow the same decision-making process as technical changes (Discussion -> Approval). - Future iterations may introduce a Steering Committee or Foundation model to further decentralize leadership.
This document is based on open-source best practices and adapted for the needs of the ProXPL project.