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]
