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>
This commit is contained in:
parent
2fa92f8635
commit
4aa7e9d816
6 changed files with 259 additions and 0 deletions
29
.github/workflows/ci.yml
vendored
29
.github/workflows/ci.yml
vendored
|
|
@ -11,6 +11,35 @@ env:
|
||||||
RUSTFLAGS: -Dwarnings
|
RUSTFLAGS: -Dwarnings
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
dco:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event_name == 'pull_request'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: DCO Sign-Off Check
|
||||||
|
run: |
|
||||||
|
COMMITS=$(git log --format='%H %s' origin/main..HEAD 2>/dev/null || echo "")
|
||||||
|
if [ -z "$COMMITS" ]; then
|
||||||
|
echo "No new commits to check"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
FAILED=0
|
||||||
|
while IFS= read -r line; do
|
||||||
|
HASH=$(echo "$line" | cut -d' ' -f1)
|
||||||
|
MSG=$(git log -1 --format='%B' "$HASH")
|
||||||
|
if ! echo "$MSG" | grep -q "Signed-off-by:"; then
|
||||||
|
echo "Missing DCO sign-off: $line"
|
||||||
|
FAILED=1
|
||||||
|
fi
|
||||||
|
done <<< "$COMMITS"
|
||||||
|
if [ "$FAILED" -eq 1 ]; then
|
||||||
|
echo "All commits must include Signed-off-by. Use: git commit -s"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "All commits have DCO sign-off"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,38 @@ cargo test --all
|
||||||
Format: `type: description`
|
Format: `type: description`
|
||||||
Types: feat, fix, docs, chore, refactor, test
|
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) (DCO Version 1.1).
|
||||||
|
|
||||||
|
Every commit must include a `Signed-off-by` line:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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](GOVERNANCE.md) for the full IP and dispute resolution framework.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
By contributing, you agree your contributions are licensed under Apache 2.0.
|
By contributing, you agree your contributions are licensed under Apache 2.0.
|
||||||
|
|
|
||||||
34
DCO
Normal file
34
DCO
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
Developer Certificate of Origin
|
||||||
|
Version 1.1
|
||||||
|
|
||||||
|
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
Developer's Certificate of Origin 1.1
|
||||||
|
|
||||||
|
By making a contribution to this project, I certify that:
|
||||||
|
|
||||||
|
(a) The contribution was created in whole or in part by me and I
|
||||||
|
have the right to submit it under the open source license
|
||||||
|
indicated in the file; or
|
||||||
|
|
||||||
|
(b) The contribution is based upon previous work that, to the best
|
||||||
|
of my knowledge, is covered under an appropriate open source
|
||||||
|
license and I have the right under that license to submit that
|
||||||
|
work with modifications, whether created in whole or in part
|
||||||
|
by me, under the same open source license (unless I am
|
||||||
|
permitted to submit under a different license), as indicated
|
||||||
|
in the file; or
|
||||||
|
|
||||||
|
(c) The contribution was provided directly to me by some other
|
||||||
|
person who certified (a), (b) or (c) and I have not modified
|
||||||
|
it.
|
||||||
|
|
||||||
|
(d) I understand and agree that this project and the contribution
|
||||||
|
are public and that a record of the contribution (including all
|
||||||
|
personal information I submit with it, including my sign-off) is
|
||||||
|
maintained indefinitely and may be redistributed consistent with
|
||||||
|
this project and the open source license(s) involved.
|
||||||
95
GOVERNANCE.md
Normal file
95
GOVERNANCE.md
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
# Bascule Project Governance
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
Bascule is maintained by [Guildhouse LLC](https://guildhouse.dev).
|
||||||
|
|
||||||
|
**Lead maintainer:** Tyler King
|
||||||
|
|
||||||
|
## Decision Making
|
||||||
|
|
||||||
|
Technical decisions are made by the maintainers with input from the
|
||||||
|
community via GitHub Issues and Pull Requests.
|
||||||
|
|
||||||
|
Major architectural decisions (new backends, new auth providers, trait
|
||||||
|
changes) are discussed in Issues before implementation.
|
||||||
|
|
||||||
|
## Contributions
|
||||||
|
|
||||||
|
Contributions are accepted under the [Developer Certificate of Origin](DCO)
|
||||||
|
(DCO). All commits must include a `Signed-off-by` line:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git commit -s -m "feat: my contribution"
|
||||||
|
```
|
||||||
|
|
||||||
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
|
||||||
|
|
||||||
|
## Intellectual Property
|
||||||
|
|
||||||
|
### What Guildhouse owns
|
||||||
|
|
||||||
|
- The Bascule name, logo, and brand
|
||||||
|
- The proprietary governance stack (GSAP protocol, SAT attestation,
|
||||||
|
HFL host functions, Chronicle audit, DEFCON posture system)
|
||||||
|
- These components are NOT part of bascule-oss and are maintained
|
||||||
|
in separate repositories under separate licenses
|
||||||
|
|
||||||
|
### What contributors own
|
||||||
|
|
||||||
|
- Copyright to their own contributions (DCO does NOT assign copyright)
|
||||||
|
- Any implementation of the `SessionHandler` or `AuthProvider` traits
|
||||||
|
- Any product, service, or extension built using bascule-core as a library
|
||||||
|
|
||||||
|
### What's shared (Apache 2.0)
|
||||||
|
|
||||||
|
- All code in this repository
|
||||||
|
- The `SessionHandler` and `AuthProvider` trait definitions
|
||||||
|
- The SSH proxy core, session backends, and authentication framework
|
||||||
|
- Documentation, Helm charts, container images, and build scripts
|
||||||
|
|
||||||
|
### The boundary
|
||||||
|
|
||||||
|
The `SessionHandler` trait is the product boundary. Everything below
|
||||||
|
the trait (in this repo) is Apache 2.0. Implementations of the trait
|
||||||
|
are the intellectual property of their authors.
|
||||||
|
|
||||||
|
Guildhouse's own session handler (which adds authorization contexts,
|
||||||
|
completion receipts, operational posture, and audit trails) is
|
||||||
|
proprietary. It depends on bascule-core as a library, which Apache
|
||||||
|
2.0 permits.
|
||||||
|
|
||||||
|
Third parties are encouraged to build their own session handlers:
|
||||||
|
|
||||||
|
- **Security vendors**: integrate risk scoring into session policy
|
||||||
|
- **Compliance teams**: add audit logging for regulatory requirements
|
||||||
|
- **Platform teams**: enforce organization-specific access policies
|
||||||
|
- **MSPs**: build multi-tenant session management
|
||||||
|
|
||||||
|
## Dispute Resolution
|
||||||
|
|
||||||
|
Guildhouse partners with tribal sovereign nations to provide
|
||||||
|
technically informed dispute resolution for open source projects.
|
||||||
|
|
||||||
|
Disputes may be submitted to tribal jurisdiction for resolution by
|
||||||
|
adjudicators with expertise in open source software, contribution
|
||||||
|
attribution, and digital governance.
|
||||||
|
|
||||||
|
This forum is:
|
||||||
|
- **Voluntary** — contributors may choose any court of competent jurisdiction
|
||||||
|
- **Technically informed** — adjudicators understand open source licensing
|
||||||
|
- **Efficient** — designed for faster resolution than federal litigation
|
||||||
|
- **Sovereignty-respecting** — rooted in tribal self-determination
|
||||||
|
|
||||||
|
This does not limit any rights under the Apache 2.0 license.
|
||||||
|
|
||||||
|
## Tribal Partnership
|
||||||
|
|
||||||
|
Guildhouse's mission includes advancing cybersecurity capacity and
|
||||||
|
digital sovereignty in Indian Country through:
|
||||||
|
|
||||||
|
- **Mentorship**: training tribal members in cloud-native infrastructure
|
||||||
|
- **Infrastructure**: deploying systems on tribal-controlled hardware
|
||||||
|
- **Jurisdiction**: developing legal frameworks for digital governance
|
||||||
|
- **Economic participation**: connecting tribal technologists with the
|
||||||
|
cloud consulting ecosystem
|
||||||
59
NOTICE
Normal file
59
NOTICE
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
Bascule — Identity-Aware SSH Proxy
|
||||||
|
Copyright 2026 Guildhouse LLC
|
||||||
|
|
||||||
|
This product includes software developed by the Bascule contributors
|
||||||
|
under the Developer Certificate of Origin (DCO) Version 1.1.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
CONTRIBUTION AND GOVERNANCE NOTICE
|
||||||
|
|
||||||
|
Bascule is maintained by Guildhouse LLC. Contributions are accepted
|
||||||
|
under the Developer Certificate of Origin (see DCO file).
|
||||||
|
|
||||||
|
Contributors retain copyright to their contributions. By contributing
|
||||||
|
under the DCO, you grant a license consistent with Apache 2.0 — you
|
||||||
|
do NOT assign ownership of your contribution to Guildhouse.
|
||||||
|
|
||||||
|
Contributors are free to:
|
||||||
|
- Use their contributions in any other project
|
||||||
|
- Build proprietary products using the SessionHandler or AuthProvider
|
||||||
|
traits as extension points
|
||||||
|
- Create and maintain their own session handler implementations
|
||||||
|
- Commercialize their extensions independently
|
||||||
|
|
||||||
|
The SessionHandler and AuthProvider traits are public APIs. Any
|
||||||
|
implementation of these traits is the intellectual property of its
|
||||||
|
author, not of Guildhouse LLC. This applies equally to Guildhouse's
|
||||||
|
own implementations and to third-party implementations.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
DISPUTE RESOLUTION
|
||||||
|
|
||||||
|
Guildhouse LLC operates in partnership with tribal sovereign nations
|
||||||
|
to advance digital governance infrastructure and cybersecurity
|
||||||
|
capacity in Indian Country.
|
||||||
|
|
||||||
|
Disputes arising from contributions to this project, including but
|
||||||
|
not limited to attribution, contribution scope, and agreement
|
||||||
|
interpretation, may be submitted to tribal jurisdiction for
|
||||||
|
resolution. This forum is offered as an efficient, technically
|
||||||
|
informed alternative and does not limit any rights granted under the
|
||||||
|
Apache 2.0 license.
|
||||||
|
|
||||||
|
Participation in tribal dispute resolution is voluntary. Contributors
|
||||||
|
may alternatively pursue resolution through any court of competent
|
||||||
|
jurisdiction.
|
||||||
10
README.md
10
README.md
|
|
@ -105,6 +105,16 @@ impl SessionHandler for AuditHandler {
|
||||||
|
|
||||||
See [docs/architecture.md](docs/architecture.md).
|
See [docs/architecture.md](docs/architecture.md).
|
||||||
|
|
||||||
|
## Governance
|
||||||
|
|
||||||
|
Bascule is maintained by [Guildhouse LLC](https://guildhouse.dev).
|
||||||
|
Contributions are accepted under the [DCO](DCO) — you retain
|
||||||
|
copyright to your contributions.
|
||||||
|
|
||||||
|
The `SessionHandler` and `AuthProvider` traits are public APIs.
|
||||||
|
Implementations are the intellectual property of their authors.
|
||||||
|
See [GOVERNANCE.md](GOVERNANCE.md).
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
Not yet implemented:
|
Not yet implemented:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue