systemed / tilemaker

Make OpenStreetMap vector tiles without the stack
https://tilemaker.org/
Other
1.46k stars 230 forks source link

Reduce differences between official OpenMapTiles tiles and Tilemaker implementation #686

Closed Nakaner closed 6 months ago

Nakaner commented 7 months ago

This pull request reduces the differences between official OpenMapTiles tiles as served by MapTiler (the schema documentation lacks details, therefore I inspected their tiles) and the implementation of Tilemaker.

Changes:

Some of the bugs were found by a client using a fork of the schema.

hyperknot commented 7 months ago

I am curious about the licensing situation here. From what I see, OpenMapTiles development in the official repo has stopped (let's call it OMT 1.x) and now MapTiler is pushing into their private fork of it (let's call it OMT 2.x).

In my understanding, this PR is essentially reverse engineering some changes from OMT 2.x and includes those back into OMT 1.x, but wired inside this repo.

But doing this might be entirely legal, depending on the license. Which is something I really don't know.

So the big questions is if MapTiler pulled a Mapbox here, or we are still allowed to somehow include the changes.

systemed commented 7 months ago

@Nakaner: This is great, thank you. I'll take more of a look at it shortly but very happy to see this.

@hyperknot: I don't particularly follow what OpenMapTiles is doing so I'll believe you on the development direction. My reading is that the reasonably bare-bones implementation of the schema that we provide is unlikely to be copyrightable: we are essentially just stuffing OSM tags into some fairly obvious layers with minimal additional processing. We simply don't do the more complex stuff that they do and which is more likely to attract copyright protection.

But OMT are of course aware that tilemaker exists and includes this implementation, and I'm sure they'd be in contact if they had an issue with it.

In the medium term, I envisage that we might move to Shortbread as the "endorsed" tilemaker schema and perhaps provide some tooling around extending it.

Nakaner commented 7 months ago

@hyperknot I did not know which versions of OpenMapTiles exist at all. I found the sparse documentation that lacks many details. I had a client asking for these tiles. I produced the tiles with Tilemaker, they reported incompatibilities. I looked into the implementation and it answered some questions/confirmed some complaints. But the implementation was so difficult to read that I ended up looking in some vector tiles served by Maptiler (i.e. I reverse engineered it).

There are still a few differences left:

systemed commented 6 months ago

Thank you!