4 ms·
Mapbox has been extremely generous in releasing their rendering libraries under a permissive license. Creating a map renderer that matches the user experience o
by bdon 6y ago
Mapbox has been extremely generous in releasing their rendering libraries under a permissive license. Creating a map renderer that matches the user experience of Google Maps is a FAANG-level effort, and Mapbox GL also encompasses:
* A single style specification format that works well for both base map rendering and data overlays
* Parity across native and web rendering
* Smooth SDF text rendering with decent i18n support
* A font to SDF renderer that is open source: https://github.com/mapbox/node-fontnik https://github.com/mapbox/node-fontnik
* A tiled data format that is open source: https://github.com/mapbox/vector-tile-spec https://github.com/mapbox/vector-tile-spec
I hope this licensing change can spur some competition among open source renderers. I’d recommend taking a look at:
* Tangram: https://github.com/tangrams/tangram https://github.com/tangrams/tangram - another WebGL based renderer with some key advantages over MapboxGL JS such as custom shaders and canvas text
* OpenLayers: https://openlayers.org https://openlayers.org has some vector and WebGL capabilities now as well
* Harp: https://www.harp.gl https://www.harp.gl is another new WebGL option
I've been working recently with Tangram, so contact me (see user link) if you have questions or are interested in collaborating!
- mourner 6y agoThank you! I'd also like to list some of the building blocks of GL JS that remain open source and are heavily used in other open source projects: - GeoJSON-VT (fast GeoJSON processing) https://github.com/mapbox/geojson-vt https://github.com/mapbox/geojson-vt - Earcut (triangulating polygons) https://github.com/mapbox/earcut https://github.com/mapbox/earcut - Supercluster (point clustering) https://github.com/mapbox/supercluster https://github.com/mapbox/supercluster - vt-pbf (converting GeoJSON tiles to VT) https://github.com/mapbox/vt-pbf https://github.com/mapbox/vt-pbf - vector-tile (decoding vector tiles) https://github.com/mapbox/vector-tile-js https://github.com/mapbox/vector-tile-js - pbf (fast reading/writing of protobuf) https://github.com/mapbox/pbf https://github.com/mapbox/pbf - TinySDF (generating SDF from local CJK fonts) https://github.com/mapbox/tiny-sdf https://github.com/mapbox/tiny-sdf - Potpack (generating sprite layouts) https://github.com/mapbox/potpack https://github.com/mapbox/potpack - grid-index (spatial index for collisions/querying) https://github.com/mapbox/grid-index https://github.com/mapbox/grid-index - Pixelmatch (image comparison in render tests) https://github.com/mapbox/pixelmatch https://github.com/mapbox/pixelmatch - Polylabel (fitting labels into polygons) https://github.com/mapbox/polylabel https://github.com/mapbox/polylabel
- easbar 6y agoCan you comment on how likely similar future license changes are for these libraries? Thanks a lot for your work in the mapping space btw.
- mourner 6y agoI'd say extremely unlikely — it wouldn't make sense both technically (stable, mature, small, razor-focused libraries that are already open source) and business-wise. As far as I know as someone who worked here for 7+ years (take this as personal opinion), Mapbox wants to keep investing heavily in open source and open data sustainably and indefinitely, and this GL JS change is an unevitable prerequisite for that. This may not be easily apparent at this moment but it will be soon.
- karussell 6y agoIt is not only GL JS. If Mapbox wants to keep investing heavily in open source why is it that 3 bigger mapbox libraries have a commercial license after it was open source a while ago? (mapbox navigation android & mapbox GL Native)
- anonfornoreason 6y agoThanks Peter for calling this out. It's unfortunate that many businesses made the decision to work with mapbox-native and mapbox-gl-js based off the premise they could self-host and save money. It definitely feels like a bad bait and switch, and right after it gained market dominance too. Bad taste in my mouth for Mapbox products now, though clearly this is just whining because they will be successful with this change. They just get to feel like bad people for doing it, or at least I hope they do.
- mourner 6y agoI wouldn't be working for Mapbox if it actually were a villainous company with an evil plan to "bait and switch" with open source, or undercut all these small competing businesses just out of spite, and it's easy to succumb to these simplistic conspiracies in the heat of the moment, but I do hope these sentiments will be short-lived.
- DonnyV 6y agoHow did I not know Tangram existed?!? You are a life saver!! Fantastic! In Mapbox there was an easy way to build mapping tools. It let you create rubberbands, hook into map events. Is that possible with Tangram?