Skip to content

docs: the commercial licence covers our code, not Slint's or the MPL's - #48

Merged
rgdevment merged 4 commits into
mainfrom
docs/commercial-third-party
Oct 4, 2026
Merged

rgdevment merged 4 commits into
mainfrom
docs/commercial-third-party

Conversation

@rgdevment

@rgdevment rgdevment commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

COMMERCIAL.md promised what the project cannot give: relief from licence notices that belong to the components, and a store exemption that ignores Slint. And the notices themselves listed code that never ships.

  • The commercial licence covers LinkUnbound's own code; third-party notices still travel with every copy.
  • New Third-party components section: Slint under its Royalty-free 2.0 licence in a closed product (the AboutSlint widget or the #MadeWithSlint badge; embedded systems and exposing Slint's API need SixtyFPS's own commercial licence), and option-ext, the one MPL-2.0 crate in the binaries, shipped unmodified.
  • Store distribution: for Slint the project is a licensee like anyone else.
  • README: an Acknowledgements section with Slint, Tauri and the #MadeWithSlint badge in light and dark.
  • scripts/third-party.mjs lists crates with cargo tree --edges normal,no-proc-macro instead of cargo metadata, which also counted build scripts, tests, proc-macros and features no build turns on. THIRD-PARTY-BUNDLED.md goes from 541 crates to 338, matching cargo tree exactly; Skia, wgpu, the Slint compiler and four of the five MPL crates drop out.

Every commit on main comes from the owner's address, apart from three dependabot lockfile and SHA bumps, and the CLA ledger holds only the owner's signature, so the dual licence stands on code the project owns.

  • markdownlint, rules.sh
  • Regenerated list compared name by name with cargo tree for the three shipped targets

COMMERCIAL.md no longer offers relief from licence notices, which belong to
the components and travel with every copy. A new section says how Slint is
taken under its Royalty-free licence in a closed product, what that licence
leaves out, and what the MPL-2.0 crates ask. The store paragraph says the
project is a licensee of Slint like anyone else. The README thanks Slint and
Tauri, with the #MadeWithSlint badge.
cargo metadata counted build scripts, tests, proc-macros and features no
build turns on, so THIRD-PARTY-BUNDLED.md named 541 crates and the About
window carried notices for code that never ships. cargo tree with normal
edges and no proc-macros resolves features the way the build does: 338
crates, Skia, wgpu and the Slint compiler gone. Of the MPL-2.0 crates only
option-ext ships, and COMMERCIAL.md now names just that one.
…them is checked

The generator kept one row per crate name, so a second version, such as the
other windows-sys, objc2 or getrandom builds, went unlisted: 367 rows now,
the same set cargo tree gives for the three shipped targets. cargo tree runs
--locked, so generating the notices cannot rewrite Cargo.lock.

The notices check ran only at night and by hand; it now also runs on a pull
request that touches the generator, its output, a manifest or a lockfile.

The README shows the #MadeWithSlint badge the Royalty-free licence names, on
its white background, instead of a light and dark pair.
@rgdevment
rgdevment merged commit 3cfebd2 into main Oct 4, 2026
22 checks passed
@rgdevment
rgdevment deleted the docs/commercial-third-party branch October 4, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant