Skip to content

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

  1. Fork the repository
  2. Create a feature branch
  3. Run tests and linters
  4. Open a pull request

Notes for local tests:

  • API integration tests start the service with api/.env.test via RECSYS_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