af8b28f6c6
ci.yml calls `scripts/ci.sh` rather than restating the checks: a workflow that reimplements them becomes a second definition of "done", and the two drift. Android runs as a separate job. It fails when the SDK is absent while ci.sh skips it — a developer should not be blocked by a missing toolchain, but a silently skipped Android build in CI means regressions ship unnoticed. Every action is pinned to an exact version. LICENSE.md records that no licence is chosen yet, and why it is not a formality: the choice is upstream of the UI toolkit decision, since Slint is GPL-3.0. Co-Authored-By: Claude Code <noreply@anthropic.com>
50 lines
2.2 KiB
Markdown
50 lines
2.2 KiB
Markdown
# Licence: not yet chosen
|
|
|
|
Blocker has **no licence yet**. This is deliberate, and it is recorded as ADR-17
|
|
rather than left as an oversight.
|
|
|
|
## Why nothing was applied
|
|
|
|
Applying a licence is a legal commitment, and it is the owner's to make. CLAUDE.md
|
|
section 0 rule 3 requires stopping to ask before decisions of that kind — and the
|
|
temptation to "just pick MIT" is exactly the kind of well-meant overreach that rule
|
|
exists to prevent.
|
|
|
|
There is a second reason specific to this project, and it is not a formality.
|
|
|
|
**The licence choice and the UI toolkit choice interact.** ADR-6 leaves the desktop
|
|
toolkit undecided between Slint and egui. Slint is GPL-3.0 or commercial; egui is
|
|
MIT or Apache-2.0. Choosing a permissive licence and then Slint would force the
|
|
project GPL, and discovering that after building against Slint would mean either
|
|
relicensing under copyleft or paying for a commercial licence — so the licence is
|
|
genuinely upstream of the toolkit decision, not beside it.
|
|
|
|
Until both are settled, the project stays unlicensed and unpublished.
|
|
|
|
## What this means in practice
|
|
|
|
- The code is not yet published anywhere. The repository is on a self-hosted Gitea.
|
|
- Nothing here is released, distributed, or offered to third parties.
|
|
- No licence header is asserted in any source file, because asserting one would be
|
|
asserting something untrue.
|
|
|
|
## What is needed to resolve this
|
|
|
|
1. **A licence choice.** The realistic candidates for a project intended to be
|
|
published: MIT, Apache-2.0, AGPL-3.0, or a dual licence.
|
|
2. **The UI toolkit decision** (ADR-6), which follows from it — or is decided on
|
|
measurement first, with the licence chosen to accommodate it.
|
|
|
|
## If you want to publish before this is settled
|
|
|
|
Don't. An unlicensed repository is, by default, not open source and not usable by
|
|
anyone else, and publishing it that way is a mess to unpick.
|
|
|
|
If you are in a hurry, the fastest honest path is: pick MIT or Apache-2.0 (both
|
|
permissive, both compatible with egui), then decide the toolkit with the licence
|
|
constraint known. That is a suggestion, not a decision — it is the owner's call.
|
|
|
|
---
|
|
|
|
*Recorded in `docs/DECISIONS.md` as ADR-17. Remove this file when a licence is
|
|
chosen, and add `LICENSE` with the actual terms.* |