Thoughts on standards

A lot of people are of the opinion that there should be only one standard for any particular problem domain. You hear that most often from people in the ODF camp (though that might be somewhat self-serving), but you even hear it to a certain extent from fans of HTML / CSS when the subject of Flash comes up.

A lot of people are of the opinion that there should be only one standard for any particular problem domain. You hear that most often from people in the ODF camp (though that might be somewhat self-serving), but you even hear it to a certain extent from fans of HTML / CSS when the subject of Flash comes up.

Such a standard monopoly, however, has never existed in the real world. Take HTML. Though HTML / CSS are definitely a dominant means by which to define user interfaces on the web, that has not stopped technologies like Flash or Java from finding a niche for themselves (in some cases, a quite large one).

Similarly, consider HTTP. Even though HTTP is a very flexible and well-understood technology, whole new standards such as SIP or RTSP were created that share many surface level characteristics to HTTP (all are text based, syntax is very familiar to those who know HTTP) rather than adapting, and possibly raising the complexity of, HTTP.

There might be only one "official" C++ standard, but the C family has many branches, including Javascript, Java and C#, and even C++ itself has been adapted to fit certain needs (e.g. Managed C++ in .NET environments). Taken more abstractly, all programming languages suit a similar purpose, and each might have a committee-designed standard associated with them, yet new programming languages are still developed.

The reason for such variety is, quite simply, that no one standard can ever manage to do everything possible in its problem domain. Technology moves too fast to allow that, and sometimes, you get a cleaner and more useful technology if you concentrate on 90% (or less) of what people need than trying to create something so flexible that it encompasses that last 10%. Hence, you get many standards, each of which does some things better or simpler than another technology.

This is good from an economic incentives standpoint, just as it is good for there to be many companies offering similar products. Competing standards create momentum for change as surely as competing companies, and the world should no more want a standard free of competitors than they should want a company free of them. If nothing else, competing standards make clear what any particular standard does less well, and provides opportunities (through awareness) for improvement.

One thing a standard always is, however, is well-documented and available for implementation by multiple third parties. Though some might not agree, that standard could even be created by a private company and licensed to others to use, so long as it is sufficiently well documented that anyone could implement it. MP3 qualifies as such a standard, whatever hazards might exist around the technology due to Alcatel's patent-fueld stomp through the digital media world (which is a separate problem).

International standards of the committee sort, such as exists for HTML and HTTP, have advantages not because they should be the only way software in the covered problem domain is created. Rather, such committees have an incentive to determine ways for all parties to implement a technology with least hassle, and ensure that all parts are well documented.

If I had my druthers, Microsoft would consistently do two things: a) give preference to international standards of the committee sort, where they exist (something they have done with their Live Communications Server product, which is entirely based on SIP), and b) if they choose to make their own technology, ensure that it is always well documented and available for third parties to implement (e.g. either document MMS completely, or finish the move to RTSP and leave MMS behind).

They might HaVE to do the latter bit in order to keep clear of rapacious antitrust authorities, but I have always thought that made the most sense irrespective of what government bureaucrats said. Microsoft, due to their scale, is usually going to manage a large market share in any market they enter. They create a larger market for their products, however, if they ensure that it seamlessly plugs into an ecosystem composed of products from lots of different vendors. Besides, Microsoft does best when it must compete, and trying to create a situation where they face less of it doesn't do the company and its products any favors.

Newsletters

You have been successfully signed up. To sign up for more newsletters or to manage your account, visit the Newsletter Subscription Center.
See All
See All