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>
2.2 KiB
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
- A licence choice. The realistic candidates for a project intended to be published: MIT, Apache-2.0, AGPL-3.0, or a dual licence.
- 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.