OpenStreetMap Quick History Service


Overview

This service can quickly give you a list of all OpenStreetMap users (with their license status) who have edited an object (or a list of objects). The aim is to get a good idea of whether or not that object is ready for relicensing under the new OSM license regime (CT+ODbL).

Usage

Send a HTTP request in this form:
GET http://wtfe.gryph.de/api/0.6/userlist?nodes=id,...&ways=id,...&relations=id,...
GET http://wtfe.gryph.de/api/0.6/problems?nodes=id,...&ways=id,...&relations=id,... 
You can request any number of nodes, ways, or relations. If you are dealing with very large numbers of objects, consider using a POST request instead of GET. (Example GET request) The return document will look like this:
<osm version="0.6" generator="OSM Quick History Service at wtfe.gryph.de">
  <node id="123">
    <user id="289426" version="other" decision="auto" severity="normal"/>
    <user id="14298" version="first" decision="yes" severity="normal"/>
  </node>
</osm>
Unless you have requested non-existing objects, the return document will contain one "node", "way", or "relation" section for each object you have requested. Inside there will be one or more "user" elements, telling you which users have modified the given object. The return document will contain one "node", "way", or "relation" section for each object you have requested that has at least one problematic edit. Inside there will be one or more "user" elements, telling you which users have modified the object. Only users who have not agreed to the new contributor terms will be listed. Edits by users who have agreed do not show up. Users whose edits are "adopted" as per the WTFE Wiki Page. do not show up either.

The "user" object has three attributes:

id
the user id
version
can be either "first" (=the user has edited the first version of this object) or "other" (=the user has edited a later version of the object). You are not told how many times the user has edited the object, or who did so in which sequence.
decision
the user's relicensing decision. This can be one of sixthree values: "yes" (user has agreed to relicensing), "no" (user has explicitly disagreed), "undecided" (user has not made a statement), "auto" (user is too new to ever have been asked - treat as "yes"), "anonymous" (user has not made their edits public - treat as "undecided" or "no"), and "pd" (user has not agreed to relicensing but declared their edits to be in the public domain). (The "pd" return value is for future use and not currently implemented. It might be though, and should be treated as "yes".)
severity
this attribute can take one of the three values "none", "harmless", or "normal". An edit with severity="none" is very likely not going to be reverted in the license change (e.g. a "null" edit where an identical version of the same object was uploaded). An edit with severity="harmless" might have to be reverted but is unlikely to cause much trouble, for example a node moved by a very small distance. An edit with severity="normal" is any edit that does not fall in the two other categories. Note that currently all edits are "normal", and the lesser categories will be introduced later. If the same user has changed the object more than once, the most severe category is given here.

The Service

Data on wtfe.gryph.de is usually current, updated every minute. If you plan to use this service in an application, make the URL configurable and make sure your end processes HTTP redirects correctly, in case this service should move elsewhere.

Users' license decisions are only imported once per hour.

A Word Of Caution

Even if an object is listed by this service as having been touched only by people who agree to the new license, it is not 100% safe to assume that the object will not be affected by the license change. If the object is a way or relation, it could still suffer from the removal or reverting of members. Also, if the object is a way, it could later turn out that it has been created by splitting or merging another way which might have a license problem - such actions are not recorded in the object history and therefore not recognized by this sevice.


All data comes from OpenStreetMap and is licensed under CC-BY-SA 2.0. The scripts behind this are written by Frederik Ramm and in the public domain (download source).