[OSM-dev] A new take on the "mutable" idea

Frederik Ramm frederik at remote.org
Fri Jun 19 23:49:54 BST 2009


Hi,

    we recently had lengthy discussions about having "immutable" data in 
OSM, and came to the conclusion that OSM is simply not the place for 
immutable stuff - a concept that has my full support.

However, we'll have more and more imports like boundaries, seamarks and 
so on, which I like to consider "mutable for people who know exactly 
what they're doing".

I would like to find a way to make it difficult to change such data by 
accident, or alternatively make it easy to spot whether such data may 
have been changed by accident.

Because we do not want tag inspection on the API, and because we cannot 
rely on all editors supporting restricted editing, I had the following 
idea: Let us introduce a tag for such "precious" objects, together with 
a rule that describes how the value has to be changed each time an edit 
is made.

For example, let the tag be "precious" and let the rule be "increase 
integer value by 1" (but it could very well be something else, more 
complicated).

So if someone imports the exact location of some seamark to 7 digits 
precision, let him tag this as "precious=1". If someone else later 
changes this on purpose, he would simply set "precious=2". Someone who 
makes a change *without* his brains switched on will still be able to 
make the change but he will not increase the "precious" value.

Anyone working with the "precious" data could always retrieve the 
history of the object and thus check whether there have been any changes 
  that did not change the "precious" value; and then either discard the 
object altogether or use the last sane version. (One could als require 
that the "precious" tag should carry the current changeset id; this 
would allow a quick sanity check without looking at the history.)

Speaking in crypto terms, this is a very crude way of "signing" changes 
to an object - everyone who knows the "secret" tag and rule is able to 
make signed changes. You could also view it as an equivalent of 
Wikipedias "sighted" versions (does anybody else have that by the way, 
or is that some German specialty again?).

Of course this does in no way give security but it could be a way to 
spot mishaps. I'd fully expect editors to support the scheme sooner or 
later, popping up "are you sure and do you want me to set the magic tag 
for you" questions when the user tries to change a special object.

Bye
Frederik

-- 
Frederik Ramm  ##  eMail frederik at remote.org  ##  N49°00'09" E008°23'33"




More information about the dev mailing list