The public Overpass answered 429/502 and needs ~40 s a tile while the car gives up after 8 s, so the server cancelled its queries and the car's retries added load. Now the server fetches only the tiles a car asks for, as OpenStreetMap vector tiles from OpenFreeMap (MAP_TILES_URL), decodes the transportation layer with a small reader of its own, and keeps each tile 30 days on a volume (MAP_CACHE_DIR). A fetch finishes even after the car has stopped waiting; the car hears 503 with Retry-After and gets the tile on its next try. App: OpenFreeMap/OpenMapTiles attribution on the map, retry after 15 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
68 lines
3.5 KiB
Markdown
68 lines
3.5 KiB
Markdown
# Licence
|
||
|
||
Everything in this repository is released under the **MIT Licence** — see
|
||
[`LICENSE`](LICENSE) — **except the `EVHardware/` library**, which has its own licence (below).
|
||
|
||
## Where it comes from
|
||
|
||
Nils' MG4 is a fork of a chain of forks, all MIT:
|
||
|
||
- [Leon Kernan's `ABRP_Uploader`](https://github.com/lkernan/ABRP_Uploader), the original. It
|
||
carries the MIT Licence since 2026-07-29
|
||
([its LICENSE](https://github.com/lkernan/ABRP_Uploader/blob/master/LICENSE), commit
|
||
`75d8f2bc`). Upstream's note that it had no licence predates that.
|
||
- malys' EVABRPUploader, then
|
||
[fatihdonmezdev/FatihsMG4](https://github.com/fatihdonmezdev/FatihsMG4), both under MIT.
|
||
- This fork, under MIT as well.
|
||
|
||
MIT requires the copyright notice to travel with any copy or substantial portion of the
|
||
software. `LICENSE` names all of them; keep every line.
|
||
|
||
## Map data
|
||
|
||
The roads of the "Grid with map" style are © OpenStreetMap contributors, under the
|
||
[Open Database Licence](https://opendatacommons.org/licenses/odbl/), in vector tiles
|
||
© OpenMapTiles served by [OpenFreeMap](https://openfreemap.org). The style shows
|
||
"OpenFreeMap © OpenMapTiles · © OpenStreetMap contributors" whenever it draws them. The server
|
||
fetches the tiles (`server/maps.go`).
|
||
|
||
## The EVHardware library
|
||
|
||
`EVHardware/` (the shared vehicle layer from EVSuite) is source-available under the
|
||
**PolyForm Noncommercial License 1.0.0** — see [`EVHardware/LICENSE`](EVHardware/LICENSE) and
|
||
[`EVHardware/LICENSE.md`](EVHardware/LICENSE.md). Commercial use is not permitted, and its
|
||
`Required Notice: Copyright (c) 2026 EVHardware contributors` must go with any copy.
|
||
|
||
It is a copy, not a submodule: [malys/EVHardware](https://github.com/malys/EVHardware) at
|
||
`e4e1158` (2026-10-18, after 1.18.0), merged on 2026-10-19 with the changes this fork carries on
|
||
top. Those are Fatih's reads the car needs and upstream does not have — the vendor tyre-pressure
|
||
ids `0x21401553`–`56`, the vendor mileage `0x21401566` for the odometer, the charging status
|
||
from `0x2140F409`, SoC, range, power, pack voltage and current on SWI69 as on SWI68, and SWI69
|
||
speed already in km/h — plus translated comments and, from this fork, the gear's raw code
|
||
(`EVHardware.getGearRaw`, `EnergySnapshot.gearRaw`) and a drive mode write without the binder
|
||
fallback (`writeDriveModeProperty`). To take upstream again, merge three ways with
|
||
`e4e1158` as the base.
|
||
|
||
The car app links EVHardware into its APK, so the **built app** may only be used and passed on
|
||
non-commercially, whatever the MIT parts would allow on their own. The server, the Kubernetes
|
||
manifests and the docs do not contain EVHardware and are plain MIT.
|
||
|
||
EVHardware's own notes say parts of it come from EVProfile, "itself a fork whose upstream
|
||
licence situation is unresolved". Checked on 2026-10-18, that is settled for the code in
|
||
question:
|
||
|
||
- [malys/EVProfile](https://github.com/malys/EVProfile) is MIT. It is a fork of
|
||
[SliDeeN/MG4Control](https://github.com/SliDeeN/MG4Control), and its last merge from
|
||
MG4Control is a commit of 2026-08-02.
|
||
- MG4Control is MIT up to and including 2.6.5 (released 2026-08-05; its licence file dates
|
||
from 2026-06-24) and GPL v3 or later from 2.6.6 (2026-09-02). Its `LICENCE.md` states that
|
||
the earlier versions stay MIT for good.
|
||
|
||
So what EVProfile took from MG4Control dates from MG4Control's MIT period. This covers the
|
||
lineage EVHardware names; it is not an audit of every line in EVHardware.
|
||
|
||
## No warranty
|
||
|
||
Both licences disclaim all warranty and liability, and this software runs on a **vehicle** —
|
||
see [`DISCLAIMER.md`](DISCLAIMER.md) for what that means concretely.
|