I have to admit that sometimes standards work can be annoying and frustrating. There are misbehaviors that I've tired of and I'm unsure how to reduce their occurrences in the future.
Normally when something (like a standards discussion) provokes such a negative emotional response my first assumption is that perhaps it's me, not the apparent source. Maybe it's something about my context that may be contributing: the day, recent unrelated experiences, etc.
So I braindump into a text file, I write a draft reply, save it, and wait. A day. A few days. A week. I sample time series emotional data. More often than not upon delayed re-evaluation, the negative emotional responses decrease, decay, or outright disappear. The braindump/draft has served its purpose to process the emotions without propagating them, leaving only rational criticisms to rewrite in a constructive form.
But sometimes, there's little or no change, which to me means that yes, there's a problem. And sometimes the problems pile up. So here's a brief list of recent frustrations, without links to specific examples (for now), to at least bring up the problems:
- plagiarism - copying without citing sources. Just because something is liberally licensed (e.g. in the public domain or apparently so) doesn't make it any less wrong to copy it and neglect to cite your source. It's lazy at best, and deceptive at worst.
- excess generality/hierarchy/complexity - making things more generic/hierarchical/complicated than necessary.
- ignorance of existing standards (one possibility)
- deliberate divergence from existing standards (the other possibility) without explicitly stated/explained reasons
- gratuitous renaming of terms - a particularly bad (yet all too common) case of divergence
- re-using a URL for the "latest version" of specification when the specification has fundamentally changed in non-trivial ways
In an attempt to provide a glimmer of positivity, here's the logical complement, the constructive suggestions (which I'd love feedback on how to improve so they're more well practiced).
- always cite your sources
- start simple - simpler than you think possible, and only add as a result of iteration with real world implementations
- research existing standards
- reuse existing standards, or portions thereof. And if you do choose to diverge, document your reasons for doing so.
- make new URLs for new specifications. URLs are cheap. Leave the old ones in place so past references still make sense. If an old specification is no longer maintained, say so and provide a forward pointer to whatever new approach you're taking.
Are these constructive suggestions helpful? How would you improve them? How can we better teach them to folks that are new to standards development?