Contributing¶
Thanks for your interest in contributing!
Contribution scope¶
We welcome:
- Bug reports and reproducible issue reports
- Documentation improvements
- Tests and CI improvements
- Code contributions (see licensing note below)
Licensing of contributions¶
By submitting a contribution, you agree that your contribution is licensed under the same license as the component you are contributing to (Apache-2.0 for recsys-eval, AGPLv3 for the serving stack), unless otherwise agreed in writing.
Commercial dual-licensing note (important)¶
If we accept code contributions into the AGPL-covered components and later want to include them in commercial distributions, we may require an additional contributor agreement for those specific contributions.
To keep things simple, we may ask contributors to:
- contribute substantial feature code to
recsys-eval(Apache-2.0), or - contribute via issues/design proposals for AGPL components, or
- sign an additional agreement when necessary.
Development workflow¶
- Fork the repository
- Create a feature branch
- Run tests and linters
- Open a pull request
Notes for local tests:
- API integration tests start the service with
api/.env.testviaRECSYS_API_ENV_FILE. Override if needed.
Commit sign-off (DCO)¶
We use the Developer Certificate of Origin (DCO) sign-off on commits.
Use: git commit -s -m "..."
Your commits should include a Signed-off-by: line.
Style¶
- Prefer small, focused PRs
- Add tests for bug fixes and new behavior
- Update docs when behavior changes
Read next¶
- Docs style guide: Docs style guide
- Documentation quality gates: Documentation quality gates
- Docs templates: Docs templates
- Run docs locally: How-to: run the docs locally
- Contribute to docs: How-to: contribute to the docs