Skip to content

License & contributing

Licensing

Each of the four repos carries its own LICENSE file, which is the authoritative statement of terms. alpstack is deployment configuration — it stands up software that carries its own, independent licenses.

alpstack is a separate work from what it deploys

Licensing follows the layers. openDesk's own deployment tooling — the analogue of alpstack — is Apache-2.0; the applications it installs (Nextcloud, Element/Synapse, OX App Suite, Nubus, …) are variously copyleft (mostly AGPL/GPL). alpstack is an independent work: deploying copyleft software imposes no license obligation on the config that deploys it, so alpstack's license is its own choice.

Licensing at a glance

The four deployment repos — talos-cluster, platform-argocd, addons-argocd, opendesk-argocd — are licensed under the GNU Affero General Public License, version 3 (SPDX AGPL-3.0-only), signalling reciprocity to the sovereign-workplace / Public Money Public Code community that is alpstack's natural audience. This site and the user handbook are prose, so they're licensed CC BY-SA 4.0. Each repo's LICENSE file is authoritative.

The upstream opendesk/ clone is not ours — it stays under its own license (Apache-2.0 for the deployment repo) and we never relicense or modify it.

Contributing

alpstack is maintained primarily for our own production use. That said:

  • Issues and pull requests are welcome. If you've deployed the stack and hit a gap in these docs or a genuine bug, open an issue on the relevant repo.
  • Response time is best-effort. This is a two-person project run alongside operating the cluster — not a staffed product.
  • No Code of Conduct yet — small project, no community to govern. That changes if one forms.

Tracking upstream

The reference-architecture update model is fork + manual merge (the same way we consume openDesk):

git remote add upstream https://codeberg.org/alpstack/<repo>.git
git fetch upstream
git merge upstream/main

Your customizations cluster in values/global.yaml, your sealed secrets, and the clusters/<name>/ overlay — so merges mostly bring chart-structure changes, not conflicts with your values. See Track upstream for the full model.