Title: [License Exception Request] [Cozystack] [MPL-2.0] Sidero Labs Go libraries statically linked into talm · Issue #1541 · cncf/foundation · GitHub
Open Graph Title: [License Exception Request] [Cozystack] [MPL-2.0] Sidero Labs Go libraries statically linked into talm · Issue #1541 · cncf/foundation
X Title: [License Exception Request] [Cozystack] [MPL-2.0] Sidero Labs Go libraries statically linked into talm · Issue #1541 · cncf/foundation
Description: For which CNCF project are you requesting exceptions? Cozystack Are you an official maintainer of this project? Yes List of components requiring an exception Component Upstream URL Project Usage URL License(s) Purpose github.com/siderola...
Open Graph Description: For which CNCF project are you requesting exceptions? Cozystack Are you an official maintainer of this project? Yes List of components requiring an exception Component Upstream URL Project Usage UR...
X Description: For which CNCF project are you requesting exceptions? Cozystack Are you an official maintainer of this project? Yes List of components requiring an exception Component Upstream URL Project Usage UR...
Opengraph URL: https://github.com/cncf/foundation/issues/1541
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[License Exception Request] [Cozystack] [MPL-2.0] Sidero Labs Go libraries statically linked into talm","articleBody":"### For which CNCF project are you requesting exceptions?\n\nCozystack\n\n### Are you an official maintainer of this project?\n\nYes\n\n### List of components requiring an exception\n\n| Component | Upstream URL | Project Usage URL | License(s) | Purpose |\n|---|---|---|---|---|\n| github.com/siderolabs/talos (incl. pkg/machinery) | https://github.com/siderolabs/talos | https://github.com/cozystack/talm/blob/main/go.mod | MPL-2.0 | Talos API client and machine-config types used by talm to render, apply and upgrade Talos node configuration |\n| github.com/siderolabs/crypto | https://github.com/siderolabs/crypto | https://github.com/cozystack/talm/blob/main/go.mod | MPL-2.0 | PKI helpers used when generating Talos machine secrets |\n| github.com/siderolabs/gen, go-api-signature, go-circular, go-cmd, go-kubeconfig, go-kubernetes, go-pointer, go-procfs, go-retry, go-talos-support, net, proto-codec, protoenc | https://github.com/siderolabs | https://github.com/cozystack/talm/blob/main/go.mod | MPL-2.0 | Transitive Go libraries pulled in by the Talos client packages |\n\n### Distribution and integration model\n\n- [x] **CNCF-Distributed**: The CNCF project will distribute the dependency or the resulting combined artifacts to users.\n- [ ] **User-Fetched Dependency**\n- [ ] **System Component**\n- [ ] **Not Distributed + Not Needed by End User (Internal Project Tooling)**\n\n### Please explain\n\ntalm is a CLI for managing Talos Linux configuration declaratively. Per Cozystack's [GOVERNANCE.md](https://github.com/cozystack/cozystack/blob/main/GOVERNANCE.md) it is independent tooling governed by the project but not part of the Cozystack distribution: adopters can install Cozystack without it. talm itself is Apache-2.0; the libraries listed above are compiled into the talm binaries published on GitHub Releases (https://github.com/cozystack/talm/releases), so they are distributed by the project. We are filing on the side of caution, as advised during Incubation due diligence.\n\n`github.com/hashicorp/go-multierror` and `github.com/hashicorp/errwrap` (MPL-2.0) are also in the dependency tree; they are already covered by the existing all-projects exception and are not part of this request.\n\n### Modification status\n\n- [ ] **Modified Upstream**\n- [ ] **Modified Downstream**\n- [x] **Unmodified**: The CNCF project will use the dependency exactly as provided by the upstream maintainers without any changes to its source code.\n\n### Please explain\n\nAll Sidero Labs modules are consumed at their upstream tagged versions through Go modules with no `replace` directives. talm previously replaced `siderolabs/talos` with a fork for a single client flag; that feature was reimplemented in talm's own Apache-2.0 code against the stock upstream client, and the fork is no longer used.\n\n### Structural separation\n\n- [x] **Separated Component**: The dependency's code will either be (a) kept in a distinct directory or module clearly separated from CNCF project code, or (b) retrieved at build/installation time from a third-party repository and never stored in the CNCF project repository.\n- [ ] **Intermingled Code**\n\n### Please explain\n\nThe dependencies are not stored in the talm repository (no `vendor/` directory); they are fetched from the upstream module proxy at build time and referenced only via `go.mod` / `go.sum`.\n\n### Communication mechanism\n\n- [x] **Static Linking**: The dependency and the CNCF project code will be combined into a single binary or similar type of artifact during the build process.\n- [ ] **Dynamic Linking**\n- [ ] **Separate Process**\n- [ ] **Network Interaction**\n\n### Please explain\n\nAs with any Go program, the imported packages are statically linked into the talm binary. At runtime talm talks to Talos nodes over the network via the Talos gRPC API.\n\n### Data exchange\n\n- [ ] **Tightly Coupled**\n- [x] **Arms-Length Only**: The communication between the dependency and the CNCF project code will be limited to standard serialized data (e.g., JSON, XML, or Protobuf) where data is \"flattened\" for transport and neither component accesses the other's internal memory structures.\n\n### Please explain\n\nWithin the binary, talm calls the libraries' public Go APIs (client constructors, config types). Across the process boundary, all exchange with Talos nodes is Protobuf over gRPC and YAML machine configuration.\n\n### Additional information\n\nMPL-2.0 is file-level copyleft: it does not extend to talm's own Apache-2.0 source files, and the MPL-covered files remain available unmodified from upstream. Related Cozystack requests for Talos components: #1539 (Talos Linux images, CABPT manifests) and #1466. Filed as part of Cozystack's Incubation due diligence (cncf/toc#1916), at the reviewer's suggestion.\n","author":{"url":"https://github.com/tym83","@type":"Person","name":"tym83"},"datePublished":"2026-09-25T23:57:27Z","url":"https://github.com/cncf/foundation/issues/1541"}
| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:7936b788-b3be-687a-9acf-acc3ac2b2f55 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9E44:A1211:B03F0:E3ED0:6AEBDF1C |
| html-safe-nonce | 2571a659f151fc8b04dce36e8ad232f4b842fc70b2529f09f7d0eeefdee51429 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTQ0OkExMjExOkIwM0YwOkUzRUQwOjZBRUJERjFDIiwidmlzaXRvcl9pZCI6Ijg2NTI3MTc3MTcwNTcxNjcxMzIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 31b72ef0b59117a8549b4fe8d62ce3e4279b65051f97b7da3b1e3b1a04445007 |
| hovercard-subject-tag | issue:5589803284 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/cncf/foundation/1541/issue_layout |
| twitter:image | https://opengraph.githubassets.com/e512f4f7c3ba78e22ee4281d36f31120c12c9ce641216971134b9be51d0dabf2/cncf/foundation/issues/1541 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/e512f4f7c3ba78e22ee4281d36f31120c12c9ce641216971134b9be51d0dabf2/cncf/foundation/issues/1541 |
| og:image:alt | For which CNCF project are you requesting exceptions? Cozystack Are you an official maintainer of this project? Yes List of components requiring an exception Component Upstream URL Project Usage UR... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tym83 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 701f7e3aecc56e7594e73fa7b7e1483af74322a67f7038be453d0feb05e86e77 |
| turbo-cache-control | no-preview |
| go-import | github.com/cncf/foundation git https://github.com/cncf/foundation.git |
| octolytics-dimension-user_id | 13455738 |
| octolytics-dimension-user_login | cncf |
| octolytics-dimension-repository_id | 65915265 |
| octolytics-dimension-repository_nwo | cncf/foundation |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 65915265 |
| octolytics-dimension-repository_network_root_nwo | cncf/foundation |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 12d1048a3491dd63e4193b2937cf72f1c24a2a52 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| react-app-name | issues |
Links:
Viewport: width=device-width