[openstreetmap/openstreetmap-website] Supporting multiple API versions (#2353)

Jochen Topf notifications at github.com
Wed Oct 23 12:22:03 UTC 2019

I have to agree with others here. Changing the version number in the XML and PBF files will break a lot of software, including mine. This software is out there and, even if we change new versions now to accept a new version number, old version of this software will be out there for years. There is absolutely no way we can break the compatibility if it is not absolutely necessary.

@gravitystorm As you mentioned yourself, 0.6 has been around for a very long time, so comparing the situation to 0.5 and earlier versions doesn't make sense. When we changed from 0.5 to 0.6 OSM was much smaller. And writting an `osm07to06` program that would just change the `0.7` to `0.6` so old software can read it, that doesn't sound like a sensible solution either. Of course this would be different if the files actually contain data in a format that needs to be different to transport this data, if we had areas or so. :-)

I think the only way forward here is to decouple API and file format versions. And I don't see why this is a problem really. Keep the `0.6` in the API URLs as "legacy", but the next number will be `1`, `2`, etc. (has already been discussed, we only need "major" version for API versions anyway). The next version of the files can be `0.7` or anything else we like, sometimes new API versions will mean new file versions, sometimes not. Maybe API version `3` will have an extra parameter to support version `0.6` and version `0.7` files or whatever. You could even have new file versions without new API versions if that specific file format isn't created by the API at all but only available as download.

We might also need to think not only about file versions and API versions but versions of the (abstract) data model behind it. I am not sure myself whether they are the same or what exactly their relationship is.

BTW: We already have some variants of the XML file format (JOSM, Overpass, ...) and they are not really compatible so should have gotten some kind of identifier, but that's a totally different issue again.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20191023/56fa552e/attachment.html>

More information about the rails-dev mailing list