Files
Alby96andClaude Opus 5 aa91b457ed Give the map the whole screen and move the credits into settings
Drops the app bar, moves settings onto the map with the other controls, and
takes the attribution bar off the main screen.

The app bar held only the app name — which the launcher already shows — and one
action, so removing it hands its height to the map rather than leaving an empty
strip. The settings button joins search and recentre in the column over the
map, where the rest of the controls that act on the map already live.

The attribution needed checking before it could move, because it is a licence
obligation rather than a layout choice. The OSMF guidelines settle it: for a
browsable map the credit does not have to be permanently visible, provided
"the user must still be able to find the licence information if they look for
it, for example from an '(i)' button in the corner of the map or an 'About'
option in a menu". Map to settings to "Fonti e licenze" is exactly that, and
MapLibre's own (i) control now sits in the map's top-right corner as a second
route — it had been landing underneath the new button column.

Two things had to follow the bar rather than disappear with it. The radar
manifest carries its own credit for the frames on screen, set by whoever
published them and absent from the region config, so the Sources screen now
shows it alongside the configured attributions. And the settings entry that
leads there carries a subtitle saying what it holds, because "Fonti e licenze"
alone does not tell a reader that this is where the licence information went.

settings_screen_test asserts that entry exists and opens the screen. Removing
it would be a licence breach, so it should fail the build rather than ship
quietly.

Verified on the emulator: no title bar, the map runs to the top with the demo
notice above it, the three controls stack bottom-right without colliding with
the (i), and settings shows the sources entry with its subtitle.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-10 22:21:50 +02:00

5.4 KiB

Licenses and attribution obligations

Nuvolari redistributes third-party data. Every obligation below is binding: the Sources screen in the app must satisfy all of them, and none of them may be dropped to save screen space.

Summary

Data License Mandatory credit Notes
Radar-DPC rasters CC BY-SA "Radar-DPC" Share-alike propagates to our frames
ARPA Piemonte data CC BY 4.0, commercial OK "Fonte: Arpa Piemonte - www.arpa.piemonte.it" Radar volumes: licence not repeated on their page, access by email
ARPA Piemonte alerts CC BY 4.0 (site notice) as above, + link to the official bulletin Levels republished verbatim
OpenStreetMap data ODbL "© OpenStreetMap contributors" Must stay visible on the map
OpenMapTiles schema BSD 3-Clause "© OpenMapTiles" Must stay visible on the map
OpenFreeMap service MIT "OpenFreeMap" — optional Listed on the Sources screen
Istat municipality boundaries CC BY 4.0 "Istat" Bundled municipality list, commercial use permitted

Share-alike is the constraint that shapes the backend

The Radar-DPC rasters are CC BY-SA. The PNG frames the worker produces — cropped, reprojected, colourised — are a derived product, so they inherit CC BY-SA. Practical consequences:

  • The published frames and manifest.json are CC BY-SA and must be labelled as such.
  • We cannot relicense them, and we cannot restrict their reuse.
  • The share-alike obligation covers the data, not the app's source code or UI.

The manifest carries its own attribution string for exactly this reason: the credit travels with the frames rather than being remembered at render time, and the app displays whatever the publisher of those frames says to display.

ARPA's legal notice at https://www.arpa.piemonte.it/note-legali releases environmental and open data under CC BY 4.0, explicitly permitting commercial use, and requires the credit "Fonte: Arpa Piemonte - www.arpa.piemonte.it". Logos, institutional emblems, registered trademarks and third-party content are excluded.

Both ARPA REST APIs — api_realtime and Meteoweb — link that notice from their OpenAPI description, so anything served by them is covered without further correspondence.

The radar volumes are the one gap: their open-data page says only gratuiti and does not repeat the licence, and the real-time access link is issued by email. Ask ARPA to confirm both in the same message. Until then the radar adapter stays disabled — see data-sources.md section 2.

The credit string ARPA asks for is the full "Fonte: Arpa Piemonte - www.arpa.piemonte.it", not the bare name currently in the region config. Adopt the full form the moment any ARPA-sourced data is actually displayed.

Where the credits live, and why that is enough

The OpenFreeMap style JSON has no attribution field, so MapLibre displays nothing on its own. The app therefore renders the credits itself, on the Sources screen, reached from the settings button on the map.

There is deliberately no permanent credit line over the map. The OSMF attribution guidelines allow this for a browsable map: attribution may be collapsed or dismissed provided that "the user must still be able to find the licence information if they look for it, for example from an '(i)' button in the corner of the map or an 'About' option in a menu".

The route is map → settings → Fonti e licenze, two taps and clearly labelled, and MapLibre's own (i) control sits in the map's top-right corner as well.

This is a licence obligation, not a layout preference. Do not bury the Sources entry deeper, and do not remove its subtitle saying what it contains. A test in settings_screen_test.dart asserts the entry exists and opens the screen, so removing it fails the build rather than shipping quietly.

The Sources screen lists every credit the region config declares, plus the credit the radar manifest carries for the frames currently on screen — that one is set by whoever published the frames and is not in the config, so it would otherwise have been lost when the on-map bar was removed.

Advertising, and why it still matters here

The app currently carries no advertising, so it is not a commercial product today. Ads are a plausible future, though, and a source adopted now on non-commercial terms would have to be ripped out then. Prefer sources that permit commercial use.

This is why Open-Meteo's free tier and Blitzortung remain listed as excluded even though the features that would have used them are out of scope: both are non-commercial-only, and neither should be reached for on the grounds that there are no ads at the moment.

Naming and independence

The app must never appear to be an official ARPA or Protezione Civile product:

  • no ARPA/DPC logos, coats of arms or institutional branding;
  • never the word "ufficiale" applied to the app itself (the bulletin is official — the app is not);
  • the Sources screen carries an explicit disclaimer that Nuvolari is an independent app, not affiliated with, endorsed by, or operated by ARPA Piemonte or the Dipartimento della Protezione Civile;
  • for civil-protection purposes the official channels always prevail, and the app says so next to every alert.