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

* A tiled data format that is open source: 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 - another WebGL based renderer with some key advantages over MapboxGL JS such as custom shaders and canvas text

* OpenLayers: https://openlayers.org has some vector and WebGL capabilities now as well

* Harp: 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!

Thank 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

- Earcut (triangulating polygons) https://github.com/mapbox/earcut

- Supercluster (point clustering) https://github.com/mapbox/supercluster

- vt-pbf (converting GeoJSON tiles to VT) https://github.com/mapbox/vt-pbf

- vector-tile (decoding vector tiles) https://github.com/mapbox/vector-tile-js

- pbf (fast reading/writing of protobuf) https://github.com/mapbox/pbf

- TinySDF (generating SDF from local CJK fonts) https://github.com/mapbox/tiny-sdf

- Potpack (generating sprite layouts) https://github.com/mapbox/potpack

- grid-index (spatial index for collisions/querying) https://github.com/mapbox/grid-index

- Pixelmatch (image comparison in render tests) https://github.com/mapbox/pixelmatch

- Polylabel (fitting labels into polygons) https://github.com/mapbox/polylabel