Hacker News new | past | comments | ask | show | jobs | submit login

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

Can you comment on how likely similar future license changes are for these libraries? Thanks a lot for your work in the mapping space btw.

I'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.

It 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)

Thanks 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.

I 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.

“Oh look here’s an unattended purse, I need the money so I’ll just take it. They left it here anyway”

Introducing a drastic billing change under the implied threat that your year or more of man hours performed using an underlying open source library with an understandable billing model is now potentially at risk, is shady. These billing changes make some self hosted tile users go from $0 to tens of thousands of dollars a month in usage. It’s shady, don’t lie to yourself.

Also, you are not your company. I am not saying you are shady, because you are just a person who has bills and a skill and you need a salary. Don’t conflate criticisms of your employer as attacks on yourself, or you can have a hard time seeing what other people see. Tricking yourself to believe something that might not be true is one of the worst thing you can do.

> These billing changes make some self hosted tile users go from $0 to tens of thousands of dollars a month in usage. It’s shady, don’t lie to yourself.

This only happens if the developer deliberately upgrades and adds a token. If you do nothing and you keep using v1 - nothing changes for you.

That's the implied threat. Our business puts serious engineering efforts behind maps, such that it takes months of effort to change out mapping clients. We do this across three platforms. It will continue working for a while, but that $250k we just spent will need to be re-spent in the next 1-2 years as the old library falls to the wayside.

The frustrating thing is that we just went through this with google. We paid a reasonable amount, but then got extorted to pay more or jump ship. We jumped ship to a reputable company, mapbox, and we paid a reasonable sum of money for how we used the software, and now the cycle continues. To be clear, I am not complaining that we are paying $0 and we should get the benefits for free. I am saying that we shouldn't be jumped up multiple orders of magnitude in cost, which isn't in-line with our actual usage. That's the shady part.

Speculating (remember that I'm just an engineer and not in charge of business decisions), but perhaps because Mapbox tried really hard to build a business on server-side services alone while gifting most of its innovations to the world, and after a decade of enormous effort, keeping the client of such enormous complexity fully open source appears to be unsustainable? Would you rather see Mapbox getting eaten by big tech corporations and ceasing to exist?

> ould you rather see Mapbox getting eaten by big tech corporations and ceasing to exist?

With move like this, what's the difference?

(Yes, I do share anonfornoreason's sentinent in the sibling comment.)

There may be no difference for you with this level of vitriol, but there's a difference for hundreds of people who have jobs, and for dozens of engineers like me who will keep contributing to open source significantly at work hours.

The point was, that it is no longer open source, when ToS acceptance with rights of audit is needed.

It's no different to the likes of Oracle. Oracle also employs hundreds of people.

But hey, if you think everyone who criticizes it is full of vitriol, I don't think any further discussion is needed.

Congratulations on the V2 release! Does this release set the stage for (extruded) buildings to be "addressable" in 3D? eg. Can you place a marker 5 stories up on a 10 floor building?

Thanks! We're going to look into that soon https://github.com/mapbox/mapbox-gl-js/issues/9945


About Polylabel, I found this blog post more informative than the readme in the repo.

How 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?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact