GoSQLX is an open source project. This document describes how the project is governed, how decisions are made, and how contributors can take on more responsibility over time.
Anyone who uses GoSQLX. Users are the most important people in the project - feedback through issues, questions in Discussions, and bug reports directly shapes development priorities.
Anyone who has submitted a merged pull request, a bug report that led to a fix, or substantive documentation improvements. Contributors are credited in release notes and the CHANGELOG.
Contributors who have demonstrated sustained, high-quality contributions across multiple areas of the codebase. Committers can:
- Merge pull requests after review
- Triage and label issues
- Cut release branches
Current committers: @ajitpratap0
To become a committer: contribute consistently for at least 3 months, demonstrate understanding of the architecture, and express interest in a GitHub Discussion or issue.
Responsible for the overall technical direction, release management, and final decisions on breaking changes. Maintainers are committers who have committed to long-term stewardship.
Current maintainer: @ajitpratap0
Open a PR. If CI passes and a committer reviews it positively, it can be merged. No formal vote needed.
- Open an issue tagged
featurewith a design proposal (what, why, API sketch) - Allow 5 business days for community feedback
- A committer signals approval (thumbs-up, "LGTM" comment, or review approval)
- Proceed with implementation PR
- Open an issue tagged
breaking-change- mandatory minimum 14-day comment period - Document the migration path in
docs/MIGRATION.mdbefore merge - Requires explicit maintainer approval
- Semantic versioning: breaking changes increment the minor version (v1.x.0)
Changes to this document require a GitHub Discussion open for at least 7 days with no unresolved objections.
GoSQLX follows Semantic Versioning:
- Patch (v1.9.x): bug fixes, security patches, documentation - no API changes
- Minor (v1.x.0): new features, new dialect support, new AST nodes - backward compatible
- Major (vX.0.0): breaking API changes - rare, requires 14-day notice
Release cadence: ad-hoc driven by feature readiness and bug severity, roughly monthly.
Releases are tagged on main and built automatically by GoReleaser. See CONTRIBUTING.md for the tagging workflow.
Disagreements on technical direction are resolved by:
- Discussion in the relevant issue/PR (preferred)
- A GitHub Discussion for broader input
- Maintainer decision as a tiebreaker
The goal is always rough consensus - not unanimity, but no strong unaddressed objections.
All participants are expected to follow our Code of Conduct.
This governance model is inspired by the Node.js and Go project governance models, simplified for a single-maintainer open source library.