2,200 years ago the armies of Rome and Carthage squared off on a battlefield at Cannae. 90,000 Romans faced 50,000 Carthaginians and were slaughtered (to the tune of about 70,000 dead Romans) thanks to a certain elephant-commanding general by the name of Hannibal. The Romans so admired Hannibal, recognizing in him their own fierce bloodthirsty lust for domination, that statues of Hannibal could still be found in Rome centuries later.
I doubt Redmond will be commissioning statues of any of the anti-OOXML/pro-open-format campaigners. OOXML (the confusingly named Office Open XML) is Microsoft’s XML format for documents, not to be confused (despite the name) with Sun’s OpenOffice file format ODF (Open Document Format). Microsoft had submitted the OOXML spec to ISO for ratification as a standard, but has been rebuffed after failing to get sufficient “yes” votes.
This is a great victory for advocates of openness, whose practical arguments against OOXML came down to:
- The standard doesn’t adequately specify all the things you need to implement it (e.g., one of the flags is “autoSpaceLikeWord95″ which is difficult to implement without reimplementing unspecified bugs from Word95).
- The “we promise we won’t sue over patents” language from Microsoft doesn’t amount to a blanket royalty-free patent license.
- Why do we need another ISO document format given that ODF was blessed in May, 2006?
The analogy with the battle of Cannae isn’t a deep one—Microsoft had more tricks up their sleeve than Rome, which went down quickly after a clever encircling move from Hannibal. For example, a surprising number of small countries upgraded themselves from observer to voting status within the last few weeks: C√¥te-d’Ivoire, Cyprus, Jamaica, Lebanon, Malta, Pakistan, Turkey, Uruguay, Venezuela, Trinidad and Tobago, and Ecuador. All but the last two voted “yes”. Naturally, the suspicion is ballot-stuffing, fuelled by the Swedish bribery scandal. I’m gratified New Zealand’s standards body voted “no with comments” in a scandal-free process.
Why does anyone care? Open file formats let anyone produce and consume files. Proprietary formats mean files die with the apps that created them, whereas open formats give longevity to data. Developers need open file formats to be able to compete on an equal footing (competing against the owner of a format you’re both using is like doing the 100m dash against someone with a bag of caltrops). This is an issue for open and closed source developers alike. As Andrew Savikas said here earlier, Microsoft deliberately makes choices in their “standards” that sacrifice general flexibility for Office-specific implementation details. Of course, this isn’t why Microsoft cares—they’re pursuing ISO standardization to get government purchase orders because governments value open formats for the reasons I just gave. And that’s why Sun and IBM are fighting it—ODF’s standardization is a competitive edge for them that they’re loath to lose.
How do the two formats stack up for developers? OOXML is already sufficiently open and well-specified that developers can write OOXML files for Microsoft Office to consume. It’s not the case that developers can read and write arbitrarily-complex OOXML files (not even Microsoft’s), although it seems that 80% of the OOXML you’ll ever need to produce is specified well enough for you to do so. Developers are already reading and writing arbitrarily-complex ODF files. The only remaining problems for developers are the unclear parts of the OOXML specification, the inadequate OOXML patent language, and the lingering issue of duplication of effort supporting ODF and OOXML.
We see the OOXML drama in light of two trends. First, it’s open beyond source. The world is realizing that open formats, open protocols, open standards are as important as open source. With that comes the question of what makes an acceptable software standard, for example the IETF requires two independent compatible complete implementations prior to acceptance as a standard. The second trend we see playing out in OOXML is adoption: open source office suites provide a data format that’s standardised and open, and that’s been enough for governments to choose the open source suite (and its bugs) over the Microsoft Office suite (and its bugs).
Victorious anti-OOXML campaigners would do well to think twice about crowing over Microsoft’s PR spin on the vote. The next step for OOXML is an ISO “ballot resolution meeting” in February where voting countries are able to change their ballot if they deemed their comments to have been addressed. Rome’s greatest days came after Cannae—after losing 70k in the bloodiest day of battle ever, Rome went away to lick its wounds, raised another army, did battle again, and kicked Hannibal and Carthage’s asses. The Roman republic continued for another 250 years and the empire 400 years after that, during which time they ruled from Scotland to Persia and enjoyed wealth, culture, and freedom the likes of which wouldn’t be seen for a thousand years. Carthage … well, today it’s only just being resettled as a suburb of Tunis. One victory does not a lasting civilization build.