Declare proprietary licensing and enforce permissive-only dependencies

Continuum is intended to be sold, so every dependency has to permit
distribution in closed-source commercial software. Our own crate and npm
packages carried no licence field, which made `cargo deny` report the
Tauri crate as `unlicensed`.

The Nuxt/Tauri dependency graph audited clean (MIT/Apache/ISC/BSD, plus
BlueOak-1.0.0 - which is why this allow list carries BlueOak where
continuum-cad's did not). Two entries worth knowing, both recorded in
continuum-common's docs/LICENSES.md: `node-forge` is
`(BSD-3-Clause OR GPL-2.0)` and we elect BSD-3-Clause, and
`caniuse-lite` is CC-BY-4.0 build-time data that is not bundled into the
built SPA, so no attribution obligation today.
This commit is contained in:
2026-10-03 10:10:15 +00:00
parent 72c3f76da4
commit 6d6ed62836
6 changed files with 44 additions and 0 deletions
+1
View File
@@ -1,5 +1,6 @@
{
"name": "@continuum/desktop",
"license": "UNLICENSED",
"private": true,
"version": "0.1.0",
"type": "module",
+4
View File
@@ -4,6 +4,10 @@ version = "0.1.0"
description = "Continuum operator console desktop shell"
edition = "2021"
rust-version = "1.77"
# Proprietary: deliberately not an SPDX id, so cargo-deny treats it as
# first-party. See docs/LICENSES.md in continuum-common.
license = "LicenseRef-Proprietary"
publish = false
[build-dependencies]
tauri-build = { version = "2.0", features = [] }
+1
View File
@@ -1,5 +1,6 @@
{
"name": "@continuum/web",
"license": "UNLICENSED",
"private": true,
"version": "0.1.0",
"type": "module",
+36
View File
@@ -0,0 +1,36 @@
# Licence policy for a closed-source commercial product.
# See docs/LICENSES.md in continuum-common for the rationale and the
# non-cargo dependencies (external binaries, ML models) this file cannot see.
#
# Run: cargo deny check licenses
[licenses]
# Permissive only. Anything copyleft reaching a shipped binary would make
# the product undistributable without releasing our source.
allow = [
"MIT",
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-2-Clause",
"BSD-3-Clause",
"ISC",
"Zlib",
"Unicode-3.0",
"Unlicense",
"MPL-2.0",
"CC0-1.0",
"BlueOak-1.0.0",
]
confidence-threshold = 0.9
# Our own crates declare `LicenseRef-Proprietary`, which is deliberately not
# an SPDX identifier and must never appear in the allow list above - a
# third-party crate claiming it would be a real finding. They are recognised
# as first-party by `publish = false` in their manifests.
private = { ignore = true }
[bans]
deny = []
[advisories]
yanked = "deny"
+1
View File
@@ -1,5 +1,6 @@
{
"name": "continuum-app",
"license": "UNLICENSED",
"private": true,
"version": "0.1.0",
"description": "Continuum print farm operator console - Nuxt SPA + Tauri 2 desktop shell",
+1
View File
@@ -1,5 +1,6 @@
{
"name": "@continuum/ui",
"license": "UNLICENSED",
"private": true,
"version": "0.1.0",
"type": "module",