From 0522c21d89f25785a97e0677989b4268e1a54e3e Mon Sep 17 00:00:00 2001 From: forkwright Date: Mon, 17 Aug 2026 13:15:45 -0500 Subject: [PATCH 1/2] chore(license): adopt the fleet license posture License across the fleet was a per-repo accident: five regimes with no visible logic, plus six repos carrying no LICENSE at all -- which means all rights reserved by default, the most restrictive possible outcome, reached without anyone deciding it. Posture is now declared once and rendered, rather than written per repo. Four postures: `fleet` (PolyForm Noncommercial -- read freely, use noncommercially, commercial use asks), `product` (PolyForm Shield, for business surface), `interop` (Apache-2.0 OR MIT, for libraries other repos depend on), and `private` (an explicit proprietary notice). The licensor is `Ardent Works LLC` everywhere. Previous notices named the GitHub org handle `forkwright`, which is not a legal entity and can neither hold copyright nor enforce a noncompete, or -- in one repo -- an individual. The correction that drove the choice: AGPL does not restrict commercial use. It permits it explicitly and requires share-alike instead, so the eight AGPL repos were providing neither property they were chosen for. The manifest `license` field moves in the same commit as the license text deliberately. A repo whose Cargo.toml claims one license while its LICENSE states another is internally contradictory, and that is worse than either original state -- a scanner reports the stricter of the two and a reader cannot tell which governs. Repos carrying an inherited copyleft obligation are deliberately NOT changed here: aletheia, akroasis and thumos keep their current licenses until the derived upstream code is rewritten greenfield. An inherited obligation is not ours to override, and relicensing derived code would be a violation performed as tidying. --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 3b23ceb..55b2567 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ [workspace.package] version = "0.2.0" edition = "2024" -license = "MIT OR Apache-2.0" +license = "Apache-2.0 OR MIT" repository = "https://github.com/forkwright/hamma" rust-version = "1.88" From 3ad2756425197f75ec37bae963b1c6691b4d18d9 Mon Sep 17 00:00:00 2001 From: forkwright Date: Mon, 17 Aug 2026 13:20:32 -0500 Subject: [PATCH 2/2] chore(deny): allow the LicenseRefs the fleet postures render cargo-deny fails CLOSED on a LicenseRef it does not know, so relicensing a repo without extending this list reds its own gate against its own license. The allowed set is now every LicenseRef any posture can render, which means adding a posture cannot silently leave this file behind. --- deny.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deny.toml b/deny.toml index d7221dc..e9a76d6 100644 --- a/deny.toml +++ b/deny.toml @@ -13,7 +13,7 @@ ignore = [] # - BSL-1.0: xxhash-rust (via fjall) # - CC0-1.0: spin or option-ext-class permissive (via various) # - Apache-2.0 WITH LLVM-exception: psm/stacker (via typst-eval chain) -allow = ["MIT", "Apache-2.0", "BSD-2-Clause", "BSD-3-Clause", "ISC", "Unicode-3.0", "Zlib", "MPL-2.0", "BSL-1.0", "CC0-1.0", "Apache-2.0 WITH LLVM-exception", "CDLA-Permissive-2.0", "LicenseRef-PolyForm-Shield-1.0.0"] +allow = ["MIT", "Apache-2.0", "BSD-2-Clause", "BSD-3-Clause", "ISC", "Unicode-3.0", "Zlib", "MPL-2.0", "BSL-1.0", "CC0-1.0", "Apache-2.0 WITH LLVM-exception", "CDLA-Permissive-2.0", "LicenseRef-PolyForm-Shield-1.0.0", "LicenseRef-PolyForm-Noncommercial-1.0.0", "LicenseRef-Proprietary"] confidence-threshold = 0.8 [bans]