Vào lúc 03:26 2022-11-06,
m...@marcos-martinez.net đã viết:
Some time ago I asked Alexander Borsuk (Organic Maps). The context was
the debate on the "contact" controversy but it can be extended to other
less heated topics... (The conversation was in the open OM Telegram
channel and can be found by everyone, so I am not disclosing opinion,
subject to privacy)
The key sentences for me are:
"A bigger problem is different public transport schemes, where it’s way
harder to write a “converter” from one into another. For example, subway
map in Vienna was missing because local community decided that it’s ok
to have two different level platforms in one stop_area. That is really a
pain."
"...the proper way would be to merge into multiple values for one chosen
tag (and filter duplicate values, of course). That’s a bit of a hassle,
but it is solvable."
"Of course it is easier if all tags have the same scheme. Then we don’t
spend our time on the scheme differences, focusing on a better product
instead."
Let me ask you then: Can you provide evidence or a few examples in which
tag standardization is harmful or represents any disadvantage?
Data consumers aren't a monolith. Churn in our tagging schemes can break
existing software and harm end users in the real world, unless we set up
migration paths and raise awareness. Conversely, if we don't clean up
our tagging schemes at all, then we make it harder for developers to
adopt new kinds of OSM data effectively.
Fortunately, there aren't too many high-profile examples of tagging
churn deliberately breaking data consumers. This community has been
careful to preserve backwards compatibility -- you might say too
careful. One example I'm aware of is that, for years, the definition of
highway=trunk in the United States had differed from the global
definition, focusing on physical characteristics, but since last year
there has been an effort to harmonize the definition and shunt the
physical characteristics over to expressway=yes. [1] This will require
changes to some routers such as Valhalla that include highway=trunk in
the "Avoid Highways" option, under the assumption that this tag
consistently indicates an expressway.
Sometimes breakage happens unintentionally. Several years ago, I and
other mappers in the U.S. and Canada started using
restriction=no_left/right_turn_on_red to indicate a turn-on-red
restriction, which up to that point had no established tagging. [2] This
*_on_red suffix briefly broke OSRM, which had been relying on an obscure
clause that someone inserted into the restriction=* page stating that
data consumers could ignore everything after the no_* or only_* prefix.
Since turn-on-red restrictions are very common in downtown areas, these
restrictions effectively made it impossible to route through these
areas. Whoever added this clause to the wiki had good intentions for
making OSM easier and more elegant to use, but data consumers noticed it
before mappers did. Ironically, it was a premature optimization: OSRM
ultimately required nothing more than a one-line change. [3]
To the extent that we care about both new and existing data consumers,
we should strive to balance their disparate needs. One reason that
dual-tagging grace periods last so long is that we don't have a very
clear understanding of who all is using OSM and how, but we know of
plenty of software that's still in use but no longer maintained.
Software engineers refer to Hyrum's law [4] as shorthand for the fact
that churning an API will always break someone, even for the silliest of
reasons. [5]
Breaking changes are sometimes unavoidable, but there should be a
convincing reason for the breakage when the stakes are high. Otherwise,
the impact to OSM's reputation would be higher than any upfront
messiness, which we already mitigate by providing a critical mass of
data that you can't find anywhere else. Sometimes a convincing reason
could be that the old tag is getting in the way of mapping things we
want to map but can't express using existing tags. The
crossing:markings=* proposal didn't deprecate crossing=* [6], but I
think future proposals could chip away at crossing=*, as we find that
there are more crossing configurations that we can't express using that
key alone.
[1] https://wiki.openstreetmap.org/wiki/United_States/Highway_classification
[2] https://wiki.openstreetmap.org/wiki/No_turn_on_red
[3] https://github.com/Project-OSRM/osrm-backend/pull/4811
[4] https://www.hyrumslaw.com/
[5] https://xkcd.com/1172/
[6] https://wiki.openstreetmap.org/wiki/Proposed_features/crossing:markings
--
m...@nguyen.cincinnati.oh.us
_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging