On Android, the Loop through Polar's BLE SDK 8.3.0 (from JitPack, asked for Polar's group alone, its files pinned by SHA-256 in Gradle's verification metadata): LoopBridge.kt over app.halkyon.train/loop, the first-time use's figures mapped and checked in LoopSetup.kt, tested on the JVM. PolarLoop per person remembers the band in loop.json, connects while the app is open, sets its clock at each connection, keeps what it tells (battery, charging, firmware), offers a changed profile and sends it only when asked (D35: first-time use writes a new user identifier each time), and lets the band go by a factory reset after asking. The setup sheet finds Loops nearest first and asks only for what the profile lacks; Polar's defaults (60, 220 less the age, a VO2max from Polar's fitness tables) go to the band alone. Polar's SDK is not free software (D36, correcting D32): the app's AGPL gains a section 7 permission for linking it, LICENSE.md names it, and its licence and bundled notices join the licence list on Android. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
34 lines
3.4 KiB
Markdown
34 lines
3.4 KiB
Markdown
# Licences
|
|
|
|
The repository's packages carry different licences, each package's full text in its
|
|
`LICENSE` file:
|
|
|
|
| Package | Licence | SPDX |
|
|
|---|---|---|
|
|
| `apps/learn/halkyon_learn_flutter`, Learn's app | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `apps/learn/halkyon_learn_client`, generated from Learn's models | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `apps/learn/halkyon_learn_server` | Server Side Public License, version 1 | `SSPL-1.0` |
|
|
| `apps/learn/halkyon_learn_curator`, turning dictionary downloads into dictionary files | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `packages/halkyon_base_server`, the Serverpod module every Halkyon server includes | Server Side Public License, version 1 | `SSPL-1.0` |
|
|
| `packages/halkyon_base_client`, generated from the module's models, with SRP's client half | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `packages/halkyon_app`, `packages/halkyon_ui` | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `packages/halkyon_keys`, an account's keys on the device | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `packages/halkyon_core`, `packages/halkyon_interop`; BIP-39's English word list in halkyon_core under the MIT License (`BIP39-LICENSE`) | GNU Affero General Public License, version 3 or any later version, as halkyon_shared, where they began, licensed them | `AGPL-3.0-or-later` |
|
|
| `apps/todo/halkyon_todo_flutter`, Todo's app | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `apps/todo/halkyon_todo_client`, generated from Todo's models | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `apps/todo/halkyon_todo_server` | Server Side Public License, version 1 (decided 2026-10-19, as Learn's) | `SSPL-1.0` |
|
|
| `apps/train/halkyon_train_flutter`, Train's app, with an added permission for linking Polar's BLE SDK (`LICENSE-polar-exception.md`) | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later WITH LicenseRef-Polar-BLE-SDK-exception` |
|
|
| `apps/train/halkyon_train_client`, generated from Train's models | GNU Affero General Public License, version 3 or any later version | `AGPL-3.0-or-later` |
|
|
| `apps/train/halkyon_train_server` | Server Side Public License, version 1 (as Learn's and Todo's) | `SSPL-1.0` |
|
|
|
|
The servers and the module build on Serverpod's core, which is under the SSPL, and so are
|
|
under it too. The apps and the shared Flutter packages link only permissively licensed
|
|
packages (the apps' icons are Lucide's, under the ISC licence, whose notice each app registers), and the client packages are generated from our own model definitions, so all of
|
|
them are under the AGPL. One exception: Train's Android build links Polar's BLE SDK for
|
|
the Polar Loop, under Polar's own, non-free licence (Train's ADR 0030, D36), which the
|
|
app's added permission allows; its notices are in the app's licence list, and an F-Droid
|
|
listing of Train is to declare `NonFreeDep`. The curator depends on neither a server nor Serverpod: Learn's
|
|
server reads the files it writes, never its code.
|
|
|
|
Everything else in this repository (tooling, documentation, deployment files) is under
|
|
`AGPL-3.0-or-later` unless a file says otherwise.
|