Add MIT LICENSE and OpenStreetMap attribution #48
Labels
No labels
area:companion
area:docs
area:shared
area:tooling
area:watchapp
blocker
kind:chore
kind:feature
kind:spike
kind:test
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
robert/PedalPebble#48
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
The repository is public with no licence, which means all rights reserved - nobody may reuse anything, including you in a later project. Separately, OSM-derived data carries attribution obligations.
Acceptance criteria
LICENSEat the repo root: MIT, copyright 2026 Robert ButzhammerREADME.mdFiles
LICENSEREADME.mdcompanion/.../about/Notes
MIT chosen over GPL despite BRouter, OsmAnd and Gadgetbridge all being GPL: PedalPebble talks to BRouter only across an AIDL boundary and links none of its code, so no copyleft obligation propagates. See docs/DECISIONS.md D15.
Closed by PR #107 (merged). LICENSE/README were already correct from the original bootstrap, confirmed not touched. Actually built: a new About screen (companion/about, no new Gradle module -- matches the RideSetupActivity precedent, since nothing here is reusable elsewhere) showing app name/version, an MIT licence reference, OSM/ODbL attribution reproduced verbatim from README's D15 wording, and a third-party acknowledgement list backed by a real, JVM-tested ThirdPartyAcknowledgements type in :companion:core.
Third-party licences checked against the real build, not assumed: PebbleKit Android 2 (io.rebble.pebblekit2:client, Apache-2.0, D49) is genuinely declared in companion/pebble/build.gradle.kts and is acknowledged. Correctly NOT acknowledged: PebbleKit 4.0.1 (not declared anywhere yet, that's #4's job), the pebblekit2 client-ui alias (a version-catalog entry nothing implementation()s), and BRouter (no vendored code anywhere, only a planned AIDL boundary via #27).
GPX-export attribution metadata left honestly unchecked -- #47 (GPX export) doesn't exist in this codebase yet, so there's nothing to embed attribution into.
Verified for real: ./gradlew :companion:assembleDebug succeeds, :companion:core:test passes including the new test. Applied @OptIn(ExperimentalMaterial3Api::class) from the start this time, having learned from RouteLibraryScreen/SettingsScreen's real compile failures earlier tonight.