Aalbedon opened a new issue, #28356:
URL: https://github.com/apache/superset/issues/28356

   ## [SIP] Proposal for migrating from Mapbox to MapLibre
   
   ### Motivation
   
   With the Mapbox GL JS library becoming closed source and the existing map 
plugins available in Superset being based on the legacy data API, migrating to 
the MapLibre project (an open source Mapbox fork) should make the transition 
simpler while providing the opportunity to bring the map plugins into the fold 
of the new data framework.
   
   ### Proposed Change
   
   Create new map plugins using Deck.gl and MapLibre GL JS 
(https://github.com/maplibre/maplibre-gl-js).
   Although backporting code (that is not covered by the BSD 3-Clause license) 
from Mapbox GL JS to MapLibre GL JS is not permitted, the expectation is that 
the gap in functions/features required by Superset to implement MapLibre is not 
large (see API documentation: https://maplibre.org/maplibre-gl-js/docs/).
   
   The new plugins would be implemented using TypeScript and the new data API 
framework.
   Details on the specifics may have to be provided on a per plugin basis.
   
   The MapLibre Style Specification 
(https://github.com/maplibre/maplibre-style-spec) may offer useful utilities 
for managing a MapLibre implementation.
   
   Examples of what is possible with MapLibre GL JS are available here: 
https://maplibre.org/maplibre-gl-js/docs/examples/
   
   ### New or Changed Public Interfaces
   
   Add new plugins/charts:
   - MapLibre
   - deckgl
   
   Would deprecate:
   - legacy-plugin-chart-map-box 
(https://github.com/apache/superset/tree/master/superset-frontend/plugins/legacy-plugin-chart-map-box)
   - legacy-preset-chart-deckgl 
(https://github.com/apache/superset/tree/master/superset-frontend/plugins/legacy-preset-chart-deckgl)
   
   ### New dependencies
   
   MapLibre GL JS is licensed under the 3-Clause BSD license.
   
   ### Migration Plan and Compatibility
   
   It is unknown whether any database migrations are necessary.
   However, by deprecating the Mapbox-based plugins, existing charts based on 
those would have to be re-implemented by users.
   
   ### Rejected Alternatives
   
   Various past discussions covered alternatives such as kepler.gl 
(https://github.com/keplergl/kepler.gl), Leaflet 
(https://github.com/Leaflet/Leaflet), and a deck.gl + Leaflet implementation 
(https://github.com/zakjan/deck.gl-leaflet).
   
   Although not all of these were firmly rejected, MapLibre potentially offers 
a less cumbersome migration.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to