Title: [License Exception Request] [Cozystack] [MPL-2.0] HashiCorp Terraform plugin libraries statically linked into terraform-provider-cozystack · Issue #1571 · cncf/foundation · GitHub
Open Graph Title: [License Exception Request] [Cozystack] [MPL-2.0] HashiCorp Terraform plugin libraries statically linked into terraform-provider-cozystack · Issue #1571 · cncf/foundation
X Title: [License Exception Request] [Cozystack] [MPL-2.0] HashiCorp Terraform plugin libraries statically linked into terraform-provider-cozystack · Issue #1571 · 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/hashicor...
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/1571
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[License Exception Request] [Cozystack] [MPL-2.0] HashiCorp Terraform plugin libraries statically linked into terraform-provider-cozystack","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/hashicorp/terraform-plugin-framework | https://github.com/hashicorp/terraform-plugin-framework | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | The SDK every Terraform provider is built on: resource, data source and schema definitions |\n| github.com/hashicorp/terraform-plugin-framework-validators | https://github.com/hashicorp/terraform-plugin-framework-validators | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | Attribute validators (allowed values, ranges) |\n| github.com/hashicorp/terraform-plugin-framework-jsontypes | https://github.com/hashicorp/terraform-plugin-framework-jsontypes | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | JSON-typed attributes |\n| github.com/hashicorp/terraform-plugin-go | https://github.com/hashicorp/terraform-plugin-go | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | Low-level Terraform plugin protocol, used by the framework |\n| github.com/hashicorp/terraform-plugin-log | https://github.com/hashicorp/terraform-plugin-log | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | Provider logging to Terraform |\n| github.com/hashicorp/terraform-registry-address | https://github.com/hashicorp/terraform-registry-address | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | Provider address parsing, transitive via the framework |\n| github.com/hashicorp/terraform-svchost | https://github.com/hashicorp/terraform-svchost | https://github.com/cozystack/terraform-provider-cozystack/blob/main/go.mod | MPL-2.0 | Registry host handling, transitive via the framework |\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\nterraform-provider-cozystack lets users manage Cozystack tenants and applications from Terraform. 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. The provider itself is Apache-2.0; the libraries above are compiled into the provider binaries published on GitHub Releases (https://github.com/cozystack/terraform-provider-cozystack/releases) and the Terraform Registry. There is no practical alternative: these libraries are HashiCorp's official SDK for writing Terraform providers.\n\n`github.com/hashicorp/go-hclog`, `go-plugin`, `go-uuid` and `yamux` (MPL-2.0) are also linked; they are already covered by existing all-projects exceptions 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 modules are consumed at their upstream tagged versions through Go modules, with no `replace` directives.\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 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 provider binary. At runtime Terraform starts the provider as a separate process and talks to it over gRPC.\n\n### Data exchange\n\n- [x] **Tightly Coupled**\n- [ ] **Arms-Length Only**\n\n### Please explain\n\nWithin the binary, the provider implements the framework's Go interfaces. Across the process boundary, all exchange with Terraform is Protobuf over gRPC.\n\n### Additional information\n\nMPL-2.0 is file-level copyleft: it does not extend to the provider's own Apache-2.0 source files, and the MPL-covered files remain available unmodified from upstream. Other CNCF projects that build Terraform providers rely on the same SDK. Identified by the project's FOSSA scan during Incubation due diligence (cncf/toc#1916).\n","author":{"url":"https://github.com/tym83","@type":"Person","name":"tym83"},"datePublished":"2026-10-16T01:58:40Z","url":"https://github.com/cncf/foundation/issues/1571"}
| 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:a35010f5-82db-8003-c6c6-6bd3c136d432 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 89C0:2617DB:97A5AE:C71FDD:6AEBDED6 |
| html-safe-nonce | 5ef5e640fc5864ca211eba268233934e0edd7f737a64d466da14855a4f8c72ff |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OUMwOjI2MTdEQjo5N0E1QUU6QzcxRkREOjZBRUJERUQ2IiwidmlzaXRvcl9pZCI6IjU0NDE4NzM0OTQ1NDQyMTE2NzAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 1d3e10d7a386010b214c83c6b59cabdff961cf797c022fbd0d6dbbdbe5169098 |
| hovercard-subject-tag | issue:5876925589 |
| 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/1571/issue_layout |
| twitter:image | https://opengraph.githubassets.com/d7412f0be1b377049290b2637bfb2dceb4d63094847fee44e05034bc82994286/cncf/foundation/issues/1571 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/d7412f0be1b377049290b2637bfb2dceb4d63094847fee44e05034bc82994286/cncf/foundation/issues/1571 |
| 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