halkyon/apps/train/halkyon_train_flutter/LICENSE-polar-exception.md
Tizian 「ティツィアーン」 cd72cf6ccc
feat(train): setting up and keeping the Polar Loop (ADR 0030, D34–D36)
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>
2026-10-30 15:52:55 +01:00

1.3 KiB

Additional permission for Polar's BLE SDK

Train's app (apps/train/halkyon_train_flutter) is under the GNU Affero General Public License, version 3 or any later version (LICENSE). Its Android build links Polar Electro Oy's Polar BLE SDK for the Polar Loop (ADR 0030, D34, D36), which is under Polar's Software Development Kit Limited License Agreement, not a free licence (assets/licences/Polar_SDK_License.txt). For that, its licensors add this permission, under section 7 of the GNU AGPL version 3:

Additional permission under GNU AGPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with the Polar BLE SDK of Polar Electro Oy (or a modified version of that library), containing parts covered by the terms of Polar's Software Development Kit Limited License Agreement, the licensors of this Program grant you additional permission to convey the resulting work. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of this Program used, but not for the parts of the Polar BLE SDK used.

The SDK's own terms still bind whoever conveys it: Polar's agreement allows its object code to be distributed only together with an app and to move data between Polar's devices and that app, and Polar may end it.