Contributing
The canonical version of this page is
CONTRIBUTING.md.
This page is the docs-site mirror with the same rules.
#License
By submitting a pull request, you agree your contribution is licensed under AGPL-3.0-or-later. You retain copyright in your contribution; you license it to the project. There is no CLA.
#DCO sign-off
Every commit must carry a Signed-off-by line. See
DCO sign-off.
#Before opening a pull request
- Open or claim an issue first for anything bigger than a typo. This avoids wasted work on a direction the project isn't going.
- One logical change per PR. Multi-purpose PRs are hard to review and risky to revert.
- Tests and
go vet ./...pass locally. CI will run them too, but it's faster to find problems on your own machine. - Update docs in the same PR. If the change is user-visible,
README.mdand/docsshould reflect it. - Conventional commit messages (
feat:,fix:,docs:,chore:,refactor:,test:) — these feed the changelog generator.
#What's in scope
- Bug fixes.
- New features that fit the project's positioning (vendor-neutral S3 dashboard with audit, sharing, and a SigV4 proxy).
- Documentation, examples, and tests.
- Backend drivers (
internal/backend/<vendor>/). - Performance work backed by pprof / benchmark numbers.
#What's out of scope
- Anything that breaks the single-binary story. New external services need a strong justification.
- Backwards-incompatible changes without a deprecation path.
- Features the Why AGPL page rules out (paid edition gating, source-available license stuff).
- Changes that lock Stowage to one upstream backend — the project is explicitly vendor-neutral.
#Code of conduct
- Be patient.
- Be specific.
- Disagree without making it personal.
- Reviewers have a right to say no, and contributors have a right to know why.
#Reviewing other people's PRs
Reviewers from outside the maintainer team are welcome. Sign off with the same DCO line on review comments to make it explicit when you've genuinely tested vs eyeballed.