Files
turnstone/CONTRIBUTING.md
T
Patrick Buckley 81a3eaecce chore: relicense BUSL-1.1 → Apache 2.0 for 1.6.0 (#651)
* chore: relicense BUSL-1.1 -> Apache 2.0 for 1.6.0

Flips every license artifact in the tree; 1.5.x and earlier remain
BUSL-1.1 per their release-time LICENSE files. Contributor consent
record: #548 (rationale: #546).

- LICENSE: canonical Apache 2.0 text
- NOTICE: new; copyright line + pointer to THIRD-PARTY-NOTICES
- pyproject.toml: SPDX expression + explicit license-files trio
- Dockerfile: COPY the license trio (hatchling needs them at build)
- THIRD-PARTY-NOTICES: BUSL line reworded; bundled-version drift
  fixed (KaTeX 0.17.0, Mermaid 11.15.0, hls.js 1.6.16)
- README badge + License section, CONTRIBUTING inbound-license line,
  TS SDK package(+lock), example pyproject
- docs/pgbouncer.md: drop stray ':' introduced in #353

* docs: add CONTRIBUTORS.md

* chore: drop LICENSE leading blank line

The apache.org LICENSE-2.0.txt begins with a newline; the SPDX
canonical text and GitHub license templates do not. Use the
conventional form — detection is whitespace-normalized either way.
2026-06-10 21:03:16 -07:00

1.4 KiB

Contributing to Turnstone

Thanks for your interest in contributing! Here's what you need to know.

Contributor License Agreement

All contributors must agree to the Contributor License Agreement before their pull request can be merged. When you open your first PR, the CLA Assistant bot will ask you to sign by commenting on the PR. This is a one-time process.

The CLA allows us to distribute Turnstone under both open-source and commercial licenses. Your contributions remain your own — you are granting a license, not transferring ownership.

Getting Started

  1. Fork the repository
  2. Create a branch for your change
  3. Make your changes
  4. Run the tests: pytest
  5. Open a pull request

Development Setup

python -m venv .venv
source .venv/bin/activate
pip install -e ".[test,dev]"

The dev extra installs ruff and mypy. Before pushing, run:

ruff check turnstone tests
mypy turnstone
pytest

Guidelines

  • Keep pull requests focused — one change per PR
  • Add tests for new functionality
  • Follow existing code style and patterns
  • Update documentation if your change affects user-facing behavior

Reporting Issues

Open an issue at https://github.com/turnstonelabs/turnstone/issues with:

  • What you expected to happen
  • What actually happened
  • Steps to reproduce
  • Python version and OS

License

By contributing, you agree that your contributions will be licensed under the project's Apache License 2.0.