When is a garden not a garden?

In recent months I’d had the displeasure of proposing new ways of describing (“tagging”) features in OpenStreetMap. I’ve been trying to expand and improve the tags for environmental features as part of a project I’m working on. Now I’d like to provoke a bit of debate about the use of “subtags” – tags that qualify others, for example saying “this is a garden, and it’s the sort of garden that it used for allotments” rather than saying more simply “these are allotments”.

The wiki-based process to agree new tags is a poor excuse for democracy. Under the noses of the hundreds of thousands of OpenStreetMap contributors who refer to the map features page, a relatively small number of people are rolling up their sleeves and debating major changes to the tagging schema on mailing lists and the wiki. Up to twenty or thirty people vote on any proposal, with no means of getting more voters and no means of communicating changes to all those contributors. It’s really a terrible process, but it’s all we’ve got.

When I first started contributing to OpenStreetMap there weren’t really many subtags. For 99.9% of roads, parks, post offices, etc. you just said “this is an X and it’s called Y”. It resulted in a long list of possible tags, but it was easy to use.

Now the wiki is full of proposals for hierarchies of subtags. For example: garden subtypes, residential road subtypes and the theatre subtypes that were never even debated.

I’m not against them in principle. I shepherded a complicated proposal for power/energy generators through the process which has three subtags – nasty!

But we should aim to enable people to tag features as often as possible with only one tag (plus name and other common details). It’s easier for newcomers to learn, easier for mappers to use, and leaves less ambiguity for data users.

Developing my map of features in London, it’s really nice knowing that if I download all features marked as “amenity=theatre” I am only downloading theatres. But with those never-debated theatre subtypes, I need to check the subtags to work out if it is actually a theatre – it could be a concert hall!

Here is a simple test I would like us to use: “would I call it that?”

Let’s say someone put those theatre subtypes through a proposal, including the subtype “theatre:genre=chamber_music”. We then ask “would I call this music concert hall a theatre?” The obvious answer is “no”, so we need a new top-level tag for concert halls.

Let’s take another example; I want to download all the gardens in London. In that case, if I downloaded leisure=garden with all of the garden subtypes (botanical, kitchen, Japanese, etc.). But what if somebody added a subtype for “gardens used by collections of individuals to grow food” (i.e. allotments). I’ve now got entries that I really don’t consider to be gardens, and I have to dig through the subtags to weed out features that aren’t really gardens. To keep my tool up-to-date I’ll need to keep checking back in case people have added new subtags that I also don’t consider to be gardens.

If we agreed that complex subtags should be used very sparingly, and applied this test every time one was proposed, I think we’d have a much easier and more sensible schema into the future.