|State of maintenance of a feature, or how it is maintained|
|Used on these elements|
|Status: in use|
|Tools for this tag|
maintenance=* is a de-facto tag which has been used to describe either the general state of maintenance of a feature, or (particularly for highways) details what is done to maintain the feature by its owners.
Common and suggested values
|Key||Value||Meaning||Rough usage within OSM|
|maintenance||gritting||This feature is gritted in freezing conditions.||Common, typically on UK highways.|
|maintenance||salting||This feature is salted in freezing conditions.||Common, typically on UK highways.|
|maintenance||ok||The feature is in a good state of repair, or is frequently maintained.||Uncommon, but probably fairly unambiguous.|
|maintenance||poor||The feature is in a poor state of repair or suffers from poor maintenance, but can still be used.||Handful of objects.|
|maintenance||no||The feature is unmaintained, but still operational.||Suggested. Semantically viable.|
|maintenance||needs_repair||The feature is operational, but in need of repair.||Suggested. Semantically viable.|
|maintenance||*||User-defined values||You may use your own values. Be descriptive and terse, and check taginfo first. Document any values you use commonly here.|
This is only a description of what's already in use in the DB. I find the categories easy to interpret, but YMMV.
We have two slightly overlapping definitions here, which perhaps is not a good thing. The established usage skews heavily towards highways in a tight geographical cluster, for just the gritting/salting values. This probably indicates an import. There are in fact very few of the other values in use, but it's probably worth documenting them all the same.
Better tagging schemes exist for features whose lack of maintenance has rendered them unusable for their intended purpose: see below. If something cannot be used, we should be making a case-by-case consideration of each tag and rewriting or deleting any that no longer make sense on their own rather than stuffing an extra tag on the object and hoping that data consumers will be able to interpret contradictions sensibly.