Thoughts on the Mapbox Licensing Brouhaha


Caveat 0: I am not a lawyer. I don’t even resemble a lawyer. I own two ties, one of which plays Christmas carols.

Caveat 1: This is a lengthy brain dump of dubious value. I’m writing this because I think the topic is interesting and I want it out of my head. You’ve been warned.

There’s some mild licensing drama going on between two groups I have mad respect for: Mapbox and OSM2VectorTiles. Drama is a bad word for it. It’s more like how I imagine British people fight with each other, which is indistinguishable from how I imagine British people not fighting with each other.

In the open source world, when a company starts flexing its IP, one’s first instinct can be to break out the torches and pitchforks. Full disclosure: that was my first impulse. It’s the wrong impulse. This isn’t anything like Microsoft (pre-Nadella) or Oracle (anytime really) going full-douchebag on a competitor. To my knowledge there haven’t been threatening lawyer letters, cease and desist orders, DMCA complaints, attempts to get Github or hosting accounts shut down, etc. They’re even having the conversation publicly where the community can chime in. Everyone involved deserves a high-five over how this is being handled.

Still, these kinds of things are never without fallout. Mousebird Consulting (maker of Maply and WhirlyGlobe) is already dropping support for the Mapbox GL JS style spec. That feels premature, but I don’t own a business that could be sued. (And, for the record, Steve Gifford is way smarter than I am.)

By my reading, Mapbox makes two IP claims, one on their vector tiles, and one on the OSM-Bright cartography (styling). The former is nonsense. The latter is more interesting.

The Mapbox Streets tiles are cartographic tiles developed and optimized for visual display, not a database. Check out Produced Work - Guideline.

This is the nonsense part. The published result of projects using OSM data are either a Derivative Database or a Produced Work. Mapbox is trying to claim their vector tiles are a produced work. They aren’t. It isn’t a close call.

We can clearly define things that are USUALLY Produced Works: .PNG, JPG, .PDF, SVG images and any raster image; a map in a physically printed work.

Produced Work - Guideline

A vector tile is not like those things. If you throw a shapefile, GeoJSON file, or vector tile at your printer, you will be disappointed. That’s because they aren’t Produced Works. They’re data. Futzing with a GeoJSON file for cartographic reasons doesn’t make it not data.

The styling is a different story. I was totally unaware that OSM-Bright is not licensed for use with non-Mapbox vector tiles. It wouldn’t have occurred to me to check that. I’m using a GL JS style based on OSM-Bright.

The legality here gets fuzzy. If you base your creative work on another creative work, the answer to whether that’s a problem is maybe.

For example, if you base your painting on generic subject matters, scenes or images that have been taken by numerous photographers over the years, you would probably not be violating copyright laws. But if a particular photographer is known for portraying images in certain unique ways that are readily identifiable with that photographer, and you copy one of their photographic compositions or incorporate it liberally and literally into your art, then you may be liable for copyright infringement.

Copy or Borrow From Other Artists? How Far Can You Go?

Of course, we’re not exactly talking copyright here, but it’s a useful frame of reference. You certainly can’t copyright orange interstates, blue lakes, green parks, and white local streets (if you could, Google would be having words with Mapbox). But if two GL JS style JSON files are nearly identical, that’s a problem. Where the line gets drawn in this case is a legal matter too fuzzy for me to drop an opinion on. I think reasonable people can disagree.

But ethically, Mapbox has a point. There’s no denying the OSM-Bright style used by OSM2VectorTiles was designed to look like the OSM-Bright from Mapbox. It’s their IP, and they’ve invested a lot of money in it. I think what they’re doing in regards to their IP is reasonable, and their approach so far has been commendable. If I made a map based closely on a friend’s map, and my friend didn’t feel good about it, I’d change my map. Not because I would be afraid of getting sued; I’d do it because it seems like the right thing.

It appears this is going to have a happy ending. OSM-Liberty will replace OSM-Bright as the example style for OSM2VectorTiles, and over time the vector tile schema will naturally diverge from that of Mapbox, particularly when v3 arrives. Mapbox and OSM2VectorTiles deserve a lot of credit for their handling of this, and we’re all lucky to have them in the open source community.