Continuing the discussion from Bike route networks classification (ICN, NCN, RCN and LCN):
I’ve been harping on a lot about shields as a use case for specific network information on recreational routes, so in case there’s any misunderstanding: blazes and shields are different concepts. A route can have both, so OSM needs to enable data consumers to show both.
Indeed, a given route may have a single shield design signposted along the entire length of the route, a simpler shield on maps due to space or ink constraints, and multiple distinct blazes on the ground that vary by the segment. Sometimes a given route will use a blue blaze whenever it follows an off-road hiking trail but a more complicated shield whenever it follows a bikeway or roadway.
For example, the Buckeye Trail is marked with a blueish blaze on tree trunks but with a more intricate shield in the shape of Ohio on bikeway wayfinding signs. Hiking maps just show a blue line, but multimodal transportation maps show the shield instead.
File:Blaze on beech tree North Chagrin Metropark Buckeye Trail.jpg
File:Closeup of wayfinding sign on the Great Miami River Recreational Trail at Rip Rap Road, Huber Heights, Ohio.jpg
(That sign shows a concurrency with the North Country Scenic Trail. The trails only overlap halfway, yet both trails have the same motto: “Follow the Blue Blazes”. Oops.)
Making matters worse, shield designs can change wholesale across a network. Several years ago, the Ohio state bike route design changed from a lozenge to an oval without notice. About a year ago, the standard design for all U.S. Bicycle Routes changed overnight, not the first time this has happened. Blaze designs tend to be more durable, even if paint can fade. After all, intentionally changing a blaze from one color to another could easily cause confusion.
Traditionally, in OSM, we’ve conflated the two concepts within symbol=*
, osmc:symbol=*
, or wiki:symbol=*
. A renderer has no idea whether an osmc:symbol=*
within the U.S. is a description of a blaze or (an oversimplification of) a shield. It all depends which one the mapper encountered while mapping. In the case of the Buckeye Trail, the shield is too complex to describe in the OSMC symbol syntax, so osmc:symbol=*
only describes the blazes.
Ideally, a North American trail renderer would represent both the blazes and the shields somehow, so the user knows about both aids when wayfinding. For example, the path of the Buckeye Trail could be tinted in blue, dotted with the shield at intervals. OSM-based renderers currently show “BT” in a rectangle based on ref=*
, but this is just a stopgap.
The symbols: I explained that we mappers just give a text description of the symbol, and that renderers decide what to make of that. And that I would support a legal check to see if that violates copyrights or licenses, because I would really like to see if we are not allowed to describe a symbol, or if renderers are not allowed to use the description like that.
And it is a fact that this particular logo is not that complicated, and if a renderer uses the text description to depict something like it, it is bound to look reasonably like the licensed picture.
I haven’t heard any objections since, and I am sure they know how to find me!
Shields are much more likely than blazes to rise above the threshold of originality, because printing and signmaking technology is far more advanced than hand paintings on tree trunks. At least the legal situation over here in the U.S. would clearly protect any heraldic description of a blazon or coat of arms, and any image drawn from scratch based on such a description.
Whether OSM describes the blaze or shield directly on the route relation or leaves the presentation up to renderers, the renderers still face the exact same legal situation based on what they’re showing. OSM is just an implementation detail. While a renderer can’t necessarily achieve a pixel-perfect rendering of an NGO’s fancy logo due to a copyright or trademark, it might be able to simplify the design down to very basic shapes that fall below the threshold of originality while remaining recognizable to map users.
For example, OSM Americana’s depiction of the Ohio River Scenic Byway only captures the essential elements of the true shield, which is too complicated to make out at a small size. I took some artistic license, omitting the riverboat, the scroll, and the text. The church steeple might not be structurally sound. But hopefully the user gets the gist, especially if they consult the legend. A different designer might take different liberties with the design, for example if the map has no legend.
File:Ohio SB 19-10-16 403.jpg
Besides copyright and trademark protection, some laws specifically prohibit mimicking insignia, to prevent impersonation. A map can’t impersonate anyone, but the laws are sometimes worded too ambiguously. For example, OSM Americana recently had to back out some lovely shields for the National Historic Trail auto tours in favor of plain Reuleaux triangles, because the National Park Service legally controls usage of the insignia “or any colorable imitation thereof”. The Wikimedia Foundation once sent an epic retort to the FBI over these sui generis regulations,[1] but I think we’d prefer a more cooperative approach with park managers.
Beyond the law, some shield designs incorporate symbols that indigenous groups consider sacred. OSM Americana has sought permission from these groups before reproducing the symbols, out of respect, even if the symbol is legally unprotected and the authorities post it on all the signs. Some renderers may not care to this degree, but it isn’t a mapper’s decision to make.
File:NM 6563.jpg
The precise shield presentation will necessarily differ from project to project, even interactively. Unfortunately, the OSMC symbol syntax is too rigid and specific for this purpose. Maybe the shield should be simpler when zoomed out and more intricate as you zoom in? A completely different set of colors in dark mode, or a different kind of squircle if an older user has Large Text enabled on their phone? Or maybe the map dispenses with the official branding altogether in favor of generic shields or ad hoc symbols that the user can look up in a legend without squinting:
Regardless of these factors, the shield design is still part of a set that spans the whole route network. A semantic key like cycle_network=*
is crucial for generating a usable shield or line style, even though that key isn’t explicitly about symbolization. The data consumer is responsible for translating the semantic information into pixels based on context that mappers simply don’t have.
Meanwhile, symbol=*
or osmc:symbol=*
can still be useful for communicating information about the blazes to map users. Imagine a router for hikers saying, in plain text or out loud, to “follow the blue blazes”. While this information can also come from cycle_network=*
or similar, blazes can be less consistent on the ground yet even more critical for wayfinding than signs.
One mapper colorfully calls them “eldritch copyrights”. ↩︎