This particular entry was motivated by my reading Jonathan Murray’s blog entry on “Open standards and open source.” Jonathan kindly pointed to a previous blog entry of mine and I want to make a clarification. It is not a rebuttal to Jonathan’s piece, but more of a launching pad for me to discuss this topic. That said, to be clear, there are many companies, IBM among them, that have done a terrific job of implementing standards in the “real world”. I would not single out the company he mentions as being better than the others, but I don’t think that would surprise you.
I think governments, companies, and organizations should absolutely consider open source when they consider open standards. Just because you understand the difference between standards and open source does not mean that they are not connected. I am against the intentional blurring of these concepts and I am in favor of crisp, pragmatic discussions of them in context. Over the last 7+ years the industry has proven that open source speeds up the implementation of standards, lowers the barrier to entry for those who wish to use them, and allows people to focus on higher level implementation of things that use the standards. Yes, commercial implementation happens, but frequently after the open source implementations. And, yes, it is possible that commercial implementations of standards can be just as good as open source implementations. In our own case, WebSphere has used open source code (frequently code that we originally contributed and then got evolved by the community) in commercial products.
We live in a hybrid world. It is not open source vs. traditional, proprietary development. Today, it is both: get used to it, plan for it, and manage it. When talking about implementations of open standards and discussing proprietary vs. open source implementations, discuss about the advantages of both and how they work together. Do not fall into the trap of saying we have to be “neutral” and therefore can’t talk about them in detail. (One of these days I’ll post a piece called “The Myth of Technical Neutrality.”) Discuss openly how wonderful (or not) the various implementations are and how they accelerate and improve your use of standards. Standards are there to improve interoperability and improve your freedom of action. Make sure that the implementation you choose does that. While you are at it, make sure that your standards are truly open so that you are not unnecessarily tying yourself to a proprietary implementation, unless that is really what you want to do and you can justify your choice.
Update: I finally wrote the blog entry on technical neutrality.