mirror of
https://github.com/storytold/craft-anything.git
synced 2026-11-05 20:47:45 +01:00
f64ae3bf3c
A native, pure-Rust app that shows anyone how a piece of software works, with evidence-backed answers, then helps them rebuild it. It ships a desktop app, a CLI and an MCP server, all driven by one engine. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
Licences
Craft Anything is MIT OR Apache-2.0. This page says what we may depend on, how it is checked, and how the third-party licence bundle for a release is made.
Policy
- Linked or bundled code must be permissive. Rust crates, fonts, icons and any other
material compiled into or shipped with the app use one of the licences allowed in
deny.toml: MIT, Apache-2.0 (also WITH LLVM-exception), BSD-2/3-Clause, ISC, Zlib, 0BSD, Unicode-3.0, BSL-1.0, CDLA-Permissive-2.0, OFL-1.1 and the Ubuntu Font Licence (fonts only). - MPL-2.0 only by name. It is file-level copyleft, so it is allowed per crate, never broadly:
today only
option-ext(viadirs), used unmodified. Dual-licensed crates such asself_cellandr-efipass through their permissive option. - We never link or bundle copyleft code (GPL, LGPL, AGPL, SSPL, EUPL, CC-BY-SA and the like).
- Programs we only run may have any licence. External programs started as separate processes (Ghidra, rizin, tshark, Frida, JADX, Apktool, rtl_433, adb, a browser, an agent CLI…) are not linked or shipped by us. The person installs them, or we download the upstream release on request; we never copy their code into ours.
- Avoid patent-encumbered codecs. Don't add encoders for H.264/AVC, HEVC/H.265 or AAC. Prefer AV1, VP9, Opus, FLAC, PNG and WebP; to decode those formats, use the operating system's codecs.
Known traps
| Thing | Problem |
|---|---|
dssim (image similarity) |
AGPL-3.0. Don't use it; pick a permissive metric or write our own. |
| Hunyuan3D models | Licence excludes the EU, UK and South Korea. Don't make it a default or bundle it. |
| FLUX.1 [dev] weights | Non-commercial licence. Only through a hosted API whose terms allow our use. |
Model weights and hosted APIs have their own terms; read them before adding one as a default.
Checking
cargo install cargo-deny --locked # once
cargo xtask licenses # = cargo deny check licenses
cargo deny check # also advisories, bans (no wildcard versions) and sources
A new licence or crate exception needs a line in deny.toml with a reason, and a line here if
it changes the policy.
Release bundle
Releases ship a third-party licence file generated by
cargo-about from about.toml
and the template about.hbs:
cargo install cargo-about --locked # once
cargo about generate about.hbs -o THIRD-PARTY-LICENSES.html
Keep accepted in about.toml in step with deny.toml. Fonts and icons from assets/ and
egui's built-in fonts are listed in NOTICE and ATTRIBUTION.md,
which ship alongside it.