bascule-oss/CONTRIBUTING.md
Tyler King 4aa7e9d816 docs: DCO, NOTICE, and governance framework
DCO (Developer Certificate of Origin):
  Standard DCO 1.1 (Linux kernel, CNCF, Kubernetes standard)
  Contributors retain copyright — no rights assignment

NOTICE:
  Copyright attribution (Guildhouse LLC)
  Contributors retain copyright, own their implementations
  SessionHandler/AuthProvider as public API boundary
  Tribal jurisdiction for voluntary dispute resolution

GOVERNANCE.md:
  Project governance model and decision making
  IP framework: Guildhouse brand vs contributor code vs shared Apache 2.0
  SessionHandler trait IS the product boundary
  Tribal dispute resolution: voluntary, technically informed
  Tribal partnership mission

CI:
  DCO sign-off check on pull requests
  Existing commits on main exempt

README + CONTRIBUTING:
  Governance section, DCO instructions, corporate guidance

Signed-off-by: Tyler King <tking@guildhouse.dev>
2026-04-05 11:13:20 -04:00

1.9 KiB

Contributing to Bascule

Development Setup

git clone https://github.com/your-org/bascule.git
cd bascule
cargo build --all
cargo test --all

Architecture

Bascule is a Rust workspace:

Crate Purpose
bascule-core Library — SSH server, auth, PTY, proxy, container, hooks
bascule-server Binary — CLI, config, telemetry
bascule-auth-agent-id Optional — Entra Agent ID auth
bascule-shell Binary — Identity-aware login shell

Testing

cargo test --all

Code Style

  • cargo fmt before committing
  • cargo clippy must pass
  • No unwrap() in production code
  • All public items need doc comments

Pull Request Process

  1. Create a feature branch
  2. Ensure make ci passes
  3. Update docs if adding features
  4. Submit PR against main

Commit Messages

Format: type: description Types: feat, fix, docs, chore, refactor, test

Developer Certificate of Origin (DCO)

All contributions must be signed off under the Developer Certificate of Origin (DCO Version 1.1).

Every commit must include a Signed-off-by line:

git commit -s -m "feat: my contribution"
# Result includes: Signed-off-by: Your Name <your.email@example.com>

What DCO means

  • You certify you have the right to submit the contribution
  • Your contribution is licensed under Apache 2.0
  • You retain copyright to your contribution
  • You do NOT assign ownership to Guildhouse

Corporate contributions

If contributing on behalf of your employer, ensure your employer permits the contribution under Apache 2.0.

Why DCO (not CLA)

  • DCO doesn't assign rights — you keep your copyright
  • DCO is lightweight — one line per commit, no legal review
  • DCO is standard — used by Linux, Kubernetes, CNCF projects

See GOVERNANCE.md for the full IP and dispute resolution framework.

License

By contributing, you agree your contributions are licensed under Apache 2.0.