Standards (such as RSS, ATOM, …) seem to form in a clustering process.
There’s some communication needs to take place that needs to take part between pieces.
The question is: “How will the communication happen?”
People come together to the table with many different ideas.
Someone doesn’t like curly braces. Some group doesn’t like XML. One group is pushing YAML. Some people hate abbreviations. These people want to use tabs, because that’s what’s default in their editor.
There are all these little factors.
But, there’s a push to get these pieces to talk to one another, and in the end, it’s all robots talking to robots anyways. So, people negotiate “man, the stench of X is horrendous” for “…but I really need this feature in the language, or it can’t possibly work for me.”
Sub-camps form within the camps, and sub-camps merge until we have just a few well defined points.
Here, reading from left to right, we see the groups collecting together.
At the end here, we have just three standards.
At this point, you can just write adapters between the various standards.
Sometimes, one way of doing things completely overtakes the others. (ex: N-8-1 modem settings.)
Sometimes, formats have things about them that are irreducable to the other forms. OGG is not as popular as MP3, but it won’t die, because it’s a free format, and MP3 is not.
This process is likely comparable to the formation of human languages. It’s likely a very pragmatic and messy affair.
I may be wrong; This is just my understanding, based on what I’ve seen happen.
Hi Lion. I’ve been doing standards work on and off for over the past decade, and in addition to the various working groups I’ve been involved with, I’ve also watched dozens of others. From a rather informal standpoint your diagrams do match the process that happens in a working group, but it’s not quite so much a organic process, nor is it usually based on personal or business preferences (at least in the better-run WGs), it’s more a matter of taking an engineering approach, where the group starts by soliciting specific technical requirements (often due to existing organizational needs), sets production targets, then begins the rather laborious process of working out the details, step-by-step, with the various parts of the work doled out to different members of the WG. Because no standard (or pseudo-standard) exists in a vacuum, this also usually involves all the related standards and other forms of documentation that go into building the new one. Sometimes these aren’t yet standardized, but may be in various draft forms.
In any case, the process (when done well) is more of a legalistic and engineering process that involves a great deal of intense, technical communication and cooperation. In groups where the majority of players seem to share a common purpose and sense of what the goals are, and where the requirements are well-considered, the work schedule and goals reasonable, and each person who has tasks completes them on time, this can proceed apace. In cases where any of these components fall apart, well, the whole thing falls apart. Sometimes the problem comes from external factors as well, such as when say, a director of the standards organization comes in with requirements that aren’t part of the WG’s processes.
When a working group member or their sponsoring organization has business needs that aren’t being directly addressed in the requirements (such as in the case of trade or competitive secrets), there may be stonewalling and deliberate obfuscation. There’s been a number of well-known instances where companies have participated in standards in order to corrupt them, or to slow their progress. I’ve even seen instances where the editors of the group’s specification refused to implement changes agreed-upon by the group, even after repeated requests (in this case due to him working for a well-known corporation that had already implemented the specification before it was finished). There are some working groups that have been spinning on the same tasks for many years and will likely never complete their work, due to either breakdowns in communication, unrealistic goals, not having a clear sense of requirements or mission, lack of any strong leadership (and that is absolutely necessary), or because their environment is changing faster than they can keep up. Working under these circumstances is just about my worst nightmare (right up there on waking up in the morning, looking over and finding that I’m sleeping with Dick Cheney).
Wow! That’s great!
I see that I’m talking about here is just one small facet of standards formation.
Your explanation is actually really good; I’d like to diagram it, and make it the core text of the page.
When I wrote the thing above, I was thinking more of:
I wasn’t thinking so much of how standards form within themselves (how is a particular standard born and raised,) but more about how multiple standards interact with each other, how there come to be multiple overlaping standards.
Murray, have you had a chance to look at ProamInternetCommunicationsAlliance? It’s kind of a long page, because there’s a few different ideas in there about what PICA would be. But anyways, would be interested in your feedback.
I sketched out some systems (on paper) for PICA; We really need to tidy up that page. I started work to pull the TechnologyUnion idea out of core PICA.
I just keep running into interface specifications that could really make use of something like PICA. I think I have at least 10 floating around- the XML-RPC Filtering Pipe, the HTTP Pipe, ULI over XML-RPC/POST/GET, ULI within Python, Local Names, the Local Names Store, Lookup, and Services interfaces, the wiki ban-list system, MachineCodeBlocks, and the Wiki & WikiEngine encoding into MachineCodeBlocks…
Lion, the thing is, each of those specifications you listed (only a few are products of an actual “standards” authority) came about under very different circumstances, developed by very different groups of people, etc. For example, if I remember correctly, MP3 is standardized by the MPEG committee out of ISO, but had a lot of technological input from a German company named Fraunhofer Institute (see Patents and MP3), who have since claimed intellectual property (patents) over various parts of the standard, and demanded licensing fees of those developing MP3 encoder software. These people are probably not atypical, but played both sides of the standards fence: they provided input into a standard but also wanted to maintain control over its IP. Ugly. They are contributing to the de-legimization of MP3, which is plainly stupid. They should be thinking in the broader term of how what they’re doing is allowing Microsoft’s proprietary format to gain traction, whereas if they backed off, MP3 would simply be the sole standard — it’s a better technology and the wider public know the term, i.e., we call them “MP3 players.”
You perhaps know the storied history of RSS, which couldn’t possibly have been managed more poorly. It’s a terrible mess, and the proprietary and egotistical interests involved have only made it worse. I’ve not been following Atom for awhile, but I understand it is an attempt to get out from underneath the RSS zoo. I wish it success, but it probably won’t succeed because, like the letters “MP3”, “RSS” now has the public eye. I’d suggest changing the name of Atom to “RSS 3.0” if it wants to gain any traction. If I blow my nose I use a Kleenex, even if those “facial tissues” were made by a different company. (Have you ever said, “hold on, I need to use a facial tissue?”) Getting that kind of brand visibility means RSS will likely survive even if it is a mess. But the mess is very damaging and slows down technological development for no good reasons.
SOAP is a really ugly hack thrown at the W3C by Microsoft, and cleverly marketed as a good idea and implementation. In reality, it would normally have died a painful and bloody death except for being propped up by Redmond, like some banana republic backed by the CIA or the Vatican. Same deal with UDDI and WSDL (see The Battle Over Web Services or Google on “web services battle”). Basically this is the United Nations versus IBM and Microsoft. Guess who wins?
I did allude to the fact that no specifications (which I generally prefer to call them when speaking generally about things that aren’t actually the products of standards bodies) exist in a vacuum. Atom wouldn’t exist except for the mess-up of RSS, OGG wouldn’t exist except for Fraunhofer pushing its weight around. These are all external factors, but it’s external factors that generally create the environment in which these specifications are developed. Standards bodies should (IMO) be by nature conservative, and take a long time to develop things, simply because standards should be stable. It often takes time to do things right. Then again, sometimes the situation calls for a quick solution, and sometimes the problem has a simple solution. Take the XML SAX specification, which was spit out in a single email by David Megginson. By contrast, the W3C created the DOM via a working group, and DOM 1, 2 and 3 are all a big mess. They’re functional, but ugly. And over-engineered. But they’re also different things. Something like MP3 by its very nature has a ton of heavy-duty research involved, the kind of research that has legitimate patent-ability. Not the kinds of patents we see for software, such as the one granted for a pull down menu that launches a program, or the idea of clicking on a link. So it’s understandable why Fraunhofer is asserting their patent rights, but they should probably have not brought that IP to ISO in the first place. And so we end up with OGG. As above, OGG should change their name to “MP5” or something to gain traction in the public eye.
Just for the record:
* Standards bodies: IETF, ISO, IEC, NISO, BSI, ANSI * Industry consortia or trade organizations: W3C, OASIS, IEEE, AMA, Unicode Consortium
Then again, a “standard” is often what people consider a standard. IEEE considers that they create “standards,” so who am I to argue with them? I generally think there’s a lot more to it than that, but admittedly standardization is as much a social process as a legal or technical one. Perhaps a better way to think of this is that a “standard” exists within a specific context. That context might be a social or industry group, community, etc. and just means “we’ve come to an agreement about something.” But when a putative “standards body” has either no formal processes (such as Robert’s Rules or ways to fairly arbitrate disagreements), a bad history of not following its own processes (when they even exist), has problems with working groups being taken over by cabals of corporate representatives in order to push through a specific agenda, etc. these things smack of what industry consortia probably should be doing (making back door agreements), but they shouldn’t call them “standards.” SOAP should never be considered a standard. Maybe soap-on-a-rope.
BTW, feel free to refactor any of this. I didn’t mean to clutter up your page.
For Example, consider the following poll (an instance of ConsensusPolling):