This is the second installment of a series of posts on the subject of geospatial open source based on my talk at the CASCADOSS symposium. The topic for this post is vendor lock-in, or rather the widespread thought in the GIS world that open standards such as those promoted by the Open Geospatial Consortium (OGC) will break vendor lock-in. In theory it should work: open standards should make GIS products interchangeable and interchangeability precludes vendor lock-in. Now, in theory there is no difference between theory and practice, but in practice there is. So it is with open standards.
For starters, not all standards are good standards. Some standards are too big and complicated, others suffer from ambiguities in their specification. A big, complicated standard will almost never be fully implemented and its implementations will differ in which parts of the standard they support. Ambiguities in specification inevitably result in differences of implementation semantics. In both cases implementations will be functionally non-equivalent. Without functional equivalence of its implementations, however, an open standard is useless for breaking vendor lock-in (and only marginal useful for other purposes).
A second problem is that specifications don't specify performance. This makes it possible for a software vendor to offer a standard compliant API while ensuring that his customers won't use it. He only needs to have the standard compliant API carry a substantial performance penalty relative to the proprietary API. The vendor is then in an excellent position to persuade his customers that using the open standard is impractical and that they're better of sticking with the proprietary API. The result: vendor lock-in with a standard compliant product.
Finally, when a software vendor has monopoly power, open standards won't protect users from that monopoly power. If a monopolist creates an incomplete, defective or deviant implementation of the open standard it becomes the most common implementation, and so the de facto standard. Worse, the monopoly power of the vendor protects him from any pressure to remedy his implementation. Why should he? Everybody else will make sure that the defects do no harm to users, and nobody will use the features of the standard that the monopolist hasn't implemented. (This is what happened with Internet Explorer 6, and this pie chart shows the consequences for web developers the world over).
So, are open standards useless to break vendor lock-in? No, but the belief that vendor lock-in will not be a problem in the future simply because vendors are implementing OGC standards is, in my opinion, naive. In short, open standards are necessary, but not sufficient.