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>
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.jsonare 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 Piemonte: CC BY 4.0, stated in the legal notice
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.