My first computer was a Mac Plus. Loved it. My second computer was an AT&T Unix PC running System V. Loved it long time. My third computer was a Sparc running Solaris or SunOS. Loved it. At work I run Linux, Open Office, Firefox, Eclipse, etc. No drama. For the last six years I have been running a little company making Java programs. Love Java. I do a little open source development, in particular with the Schematron program (quite like it!), but I have also contributed some code to the Flamingo/Substance project over at JavaDesktop, which provides novel looks and feels and more modern GUI components.

The only time I use Microsoft products is on my laptop at home (a present from my dear old Dad), but I need it to run the SynthEdit program for making virtual synthesizers. Oh, I occasionally also use a ten year old Microsoft C++ compiler, to make some DSP filter code: I have released about 80 filters open source this way. I’m not a Microsoft hater at all, its just that I’ve swum in a different stream. Readers of this blog will know that I have differing views on standards to some Microsoft people at least.

As a regular participant at ISO standards, on and off for more than a decade at my own expense, it has always frustrated me that the big companies would not come to the table and make use of ISO’s facilities. So I am a big fan of the Mass. governments push that governments should use standard formats only. I know some of the ODF people, I had some nice emails with the ODF editor over Christmas for example, and Jon Bosak asked me to join the original ODF initiative at OASIS (I couldn’t due to time, unfortunately.)

So I was a little surprised to receive email a couple of days ago from Microsoft saying they wanted to contract someone independent but friendly (me) for a couple of days to provide more balance on Wikipedia concerning ODF/OOXML. I am hardly the poster boy of Microsoft partisanship! Apparently they are frustrated at the amount of spin from some ODF stakeholders on Wikipedia and blogs.

I think I’ll accept it: FUD enrages me and MS certainly are not hiring me to add any pro-MS FUD, just to correct any errors I see. If anyone sees any examples of incorrect statements on Wikipedia or other similar forums in the next few weeks, please let me know: whether anti-OOXML or anti-ODF. In fact, I already had added some material to Wikipedia several months ago, so it is not something new, so I’ll spend a couple of days mythbusting and adding more information.

Just scanning quickly the Wikipedia entry for OOXML, I see one example straight away: The OOXML specification requires conforming implementations to accept and understand various legacy office applications . But the conformance section to the ISO standard (which is only about page four) specifies conformance in terms of being able to accept the grammar, use the standard semantics for the bits you implement, and document where you do something different. The bits you don’t implement are no-one’s business. So that entry is simply wrong. The same myth comes up in the form “You have to implement all 6000 pages or Microsoft will sue you.” Are we idiots?

Now I certainly think there are some good issues to consider with ODF versus OOXML, and it is good that they come out an get discussed. For example, the proposition that “ODF and OOXML are both office document formats: why should there be two standards?” is one that should be discussed. As I have mentioned before on this blog, I think OOXML has attributes that distinguish it: ODF has simply not been designed with the goal of being able to represent all the information possible in an MS Office document; this makes it poorer for archiving but paradoxically may make it better for level-playing-field, inter-organization document interchange. But the archiving community deserves support just as much as the document distribution community. And XHTML is better than both for simple documents. And PDF still has a role. And specific markup trumps all of them, where it is possible. So I think there are distinguishing features for OOXML, and one of the more political issues is do we want to encourage and reward MS for taking the step of opening up their file formats, at last?

In fact, the issue of whether there should be two standards largely comes down to the issue of how ISO members interpret the ISO term “contradiction”, which is the show-stopper. The ODF people want a very loose understanding of it, the OOXML people want a very tight understanding of it; the precedent at ISO (which involves a case made by IEEE against China on ISO/IEC 802 encryption IIRC) seems to favour a tight definition: in that IEEE case, the contradiction would break the standard internally and break other standards: the preferred route was “harmonization” (where the Chinese technology could be used, but expressed and implemented in ways that wouldn’t break the existing standards.) There is no need for this kind of harmonization in ODF versus OOXML because one does not break the other. Therefore there is not the same kind of “contradiction.” So I don’t see that the IEEE case supports ODF, actually. But it is a legitimate question to ask, even if the answer is “OOXML does not contradict ODF by overriding it or utilizing it incompatibly” (which is, IMHO, the correct answer.)

But there is also a sea of crap being produced, and if offends me a little to see the ISO process get slung with this kind of mud. I suspect that many technical reviewers for National Bodies will take a dim view of vague or stupid claims. For example, in the Wikipedia entry, it currently mentions that “the members of ISO have only 31 days to raise objections”, the implication being that this is far too short a time; yet, if I understand matters correctly, ODF was submitted in a fast-track procedure that didn’t even allow these kind of objections. My understanding from attending the ISO meetings in Korea last year was that MS chose the two-step process to demonstrate that they are not trying railroad this through with no open-ness in the process. (On the other hand, the kind of openness that a completed external specification like OOXML can have is different from the kind of openness that a work-in-progress external specification like ODF affords.) Actually, I should get off the high horse; much of the FUD amuses me, it is hilarious (I have even heard an ODF guy claim that MS wants to enable death squads with their UUIDs, ROFL); I’m looking forward to the next few days.