I agree with what you said. So lets only consider the following hypothetical scenario.
We have the current data mapped as key=value
, and now lets say we add the way of mapping version:key=value
.
You could say with reason, that this duplicates information, right; by duplicating we get 2 types of data, the one without version property and the one with, right.
Couldnt you as a developer for the softwares that retrieve this data, filter the data by with property version or without?
Example
natural=sand
in the normal way the map
and
v1:landcover=sand
with version prefix.
Do we agree that if filter by the normal way only natural=sand would work and if filter by the version, only the landcover=sand would work?
If not, discard all the following text.
If so great, but there would be a problem, anyone could then make v2,v3 v… infinitetly right? What would be the criteria for new versions?
Solution that i would say to be the more reasonable, simply add the proposal with intent of adding information, not replacing or deprecating, and make a compilation of the other type of proposals.
This process of new version we would say to be develop in by year cicle. It that year, anyone could propose a change, deprecation (and addition) and make a consense with all the authors of other proposals so we dont have conflitcs between them. After a year all the proposals that would have conflict with the remaining in the new version, would be discarded for future versions and the rest would be approved to integrate the new version.
With this system, developers like you could work on render the new version to be supported. The previous would remain operating and rendering.
What if we add new values or keys to the “default version”, meaning the one with simply key=value
(althrough i would advise to after a while deprecate this one and remain only with prefix versions)?
If the new values are only additions and never replacing or deprecating values, the process would stay the same as today, nothing will changed.
But what about the new replacing and deprecating?
It would be the new process, the version prefix system, it would be propose for the new version and integrate only if we wouldnt have conflicts.
its all this pure fiction and impossible with the reality, or could we do it?