I have been delighted to receive Microsoft's Andrea Valboni comments to my earlier post on OOXML. The answer, however, did not convince me at all.
I will concentrate on one single, central issue, instead of starting a multi-threaded discussion. There cannot be two International Standards. Indeed in the past we had two or three different industry standards. But what has happened? Only one has survived. The better? Not always, and what a waste of resources in the process. The clear example of VHS surviving over Betamax, expunging the better standard to the benefit of the worst one, should be indicative. And when I say the worst, it is not just a matter of taste!
Two standards or one standard? This is the question!
Sometimes the better standard beats the worst standard. Blue Ray is beating HD DVD. But in the process a heck lot of resources were spent in a meaningless fight. And I am not speaking about the two industries proposing the two standards, I mean the ones who started implementing either standard without having any reassurance that their choice was the good one; and I also speak about the customers, who in a non irrelevant share have bought something doomed to be unusable due to the lack of content. Finally, one should consider the delay caused by this battle of standards to a technology that was mature at least one year ago.
That for industry competition is quite customary. Anybody comes up with their proposal, then the market decides which one succeeds. Microsoft was very good at this, using a long list of commercially fair, sometimes borderline and in a few cases outside the limit strategies (according to definitive judgments from very authoritative Courts).
But with International Standards, the most authoritative, respectable and independent kind of standards, it is not quite the same: the very essence of forcing OOXML to become an alternative International Standard to an already existing one, for exactly the same field of application -- as ODF -- is a disruption in competition. There must not be two International Standards for exactly the same field of application, because it is
- anti-economic for those implementing the standard (either becoming non interoperable with either standard or supporting two different incompatible standards at a time); and
- in this case the winning standard is not going to be the most interoperable, free and better standard, but the one backed by the dominant application.
In all examples of partly overlapping International Standard (with maybe one or two exceptions), essentially they have profound differences and serve different purposes. One can think of the duality between TCP and UDP: theoretically, both can be used for most of the applications that the other is used, but they have trade-offs that make one better than others if you choose reliability over light-weight, or the reverse. Sometimes there are multiple standards for a single industry domain, like JPEG and JPEG2000. But these multiple standards reflect the evolution of technology, in this case from DCT coding to Wavelets, allowing for better representation in a specific field.
With OOXML and ODF this does not happen, as both are essentially different syntactic representations of the same underlying structure and semantics (the differences, where existing, are rather small).
"It's the implementation, dummy!"
I seem now to gather what is the idea that Microsoft is trying to convey. Sorry, I was not paying enough attention. OOXML must make the fast track because there is a crowd of users and developers out there saying: "we need to produce output for the dominant application, if we must do it in XML, that should be the one supported by Office". Not because it is better or because it permits things that are not permitted elsewhere, but because the standard follows the 25years-old object model of one single application, and is there to save the legacy scripts and applications that generate content "compliant" with Office, and tomorrow with Office 2007 (note: I have not said "OOXML" or "DIS29500"). Thence -- for instance -- the need to preserve the 1900-is-a-leap-year bug, blatantly ignoring that a) we have been in a Gregorian calendar, and not in a Julian Calendar long since and b) that there is an ISO standard (8601) on Representation of dates that cannot be disregarded. In other words, it is the implementation that leads the standard, not the standard that guides the implementation, and this is plainly unacceptable.
I could be biased in my opinion, but a standard that ignores all the standards and even the rules of standard-making processes, should not be an International Standard. As I said, rubber-stamping a standard in haste to provide a glow of "independence" and "openness" to a single-vendor standard is outside the scopes of ISO. That is my idea. Others are free to have their own. But I am right, they are wrong. ;-)