OOXML: Why Is It Bad, and What Can We Do?

by Reuven Lerner - Apr. 02, 2008Comments (14)

Why is OOXML a bad standard? What does it mean for open source developers? And what, if anything, can menbers of the open source community do, now that OOXML has been adopted by the ISO?

We love to talk about "open standards" in the computer industry. But how do such standards get created? The story of OOXML, officially accepted as of today by the ISO, is a cautionary tale.

The story begins several years ago, when Microsoft switched to XML file formats for its Office products. Partly as a response to the standardization of OpenOffice's file format (ODF) Microsoft submitted its XML document formats, known as "Office Open XML," or "OOXML," to Ecma International, a European standards body for the computer industry, and was granted the standard (Ecma-376) in December 2006. A revised version of Ecma-376 was officially adopted by ISO, the International Standards Organization, earlier today (April 2nd, 2008), making OOXML an official international standard.

There are a number of standards bodies in the world, and each has its own set of rules. In general, a standards body appoints a committee to review and approve a particular standard. That committee reviews the draft, gathers comments and evidence, and revises the draft in the wake of comments, often multiple times. This process can take an awfully long time, both because the committee members are volunteers, and because a standard is something so complex, whose effects will be felt for decades to come.

The members of a standardization committee obviously worry about whether a standard is technically correct. They try to remove inconsistencies -- both internal and with the outside world -- and to ensure that the standard is as well defined and accurate as possible.

Committees must also consider how easy it will be to implement the standard. A standard that can only be implemented by its author is no standard at all. FTP, a file-transfer protocol and standard, has been around for more than 20 years, and is only meant to transfer files from one computer to another. Despite this, there are still problems getting FTP clients and servers to communicate seamlessly. The simpler the standard, the better it is for implementers and end users alike.

Another consideration has to do with intellectual property: Even if it's technically possible for everyone to implement a particular standard, it should be legally possible, as well. That is, implementation of the standard should not require the licensing of technologies from anyone else, particularly another member of the committee. The W3C itself was embroiled in such a dispute several years ago, when it considered the appropriateness of standards that included patents, after a number of companies pushed for such a consideration.

Unfortunately, yesterday's adoption of OOXML as an ISO standard fails on all three counts. To begin with, it seems that the OOXML standard was poorly defined, leaving a huge number of ambiguities and undefined terms. That's not surprising, given the fact that it is 6,000 -- yes, six thousand -- pages long, a size which makes it nearly impossible to ensure internal consistency. The large size also ensures that it will be difficult to create alternative implementations; would you like to be the programmer charged with checking that a particular program adheres to all 6,000 pages of the standard?

Moreover, parts of the standard require a programmer to deviate from many other, correct standards. For example, 1900 was not a leap year, as is the case with three out of every four "00" years. (Thus, 1900 was not a leap year, but 2000 was.) Microsoft got this point wrong when they first implemented Excel, and as a result, the OOXML standard requires that implementers make this same error, for the sake of consistency.

There are also serious questions regarding some Microsoft patents that any implementer will need to use. Microsoft has promised that it will not sue OOXML implementers for patent infringement, but the Groklaw site points out that this statement might be meaningless.

A Wiki document listing problems that people have found with OOXML are located on this site. There are many other objections to be found on the Web, such as here, here, and here.

If anyone in the open-source community were to propose a huge, unimplementable standard, they would have been laughed out of town. So this raises at least two questions: How did this happen, and what do we do about it?

This happened, from everything I can tell, through old-fashioned politics: Microsoft, from numerous reports I've read, managed to get a number of countries to vote in favor of adopting OOXML. For example, Norway's ISO representative voted to approve OOXML, despite the vocal objection of the Norwegian standards committee. Politics are a normal part of the standardization landscape, but this seems to have been an extreme case, by everyone's measure.

The adoption of OOXML is troubling not only from the perspective of open standards, but open source software as well. A 6,000-page standard is going to be difficult, if not impossible, to implement, which means that Microsoft has seemingly received international approval for a monopoly on its file formats. Open Office and other open-source programs can claim that ODF is "more open" than OOXML, but that's an argument which will be difficult to make to people without a technical background.

I must admit that it's not obvious what we, in the open source community, can do about this. Lobbying your national standards organization might have some effect, but probably not. Trying to use ODF and other open standards sounds fine in practice, but will quickly run up against the reality, which is that most people use MS Office. And encouraging third-party software developers to work with ODF before OOXML would probably be suicidal for a business, given the immense numbers of MS Office users, especially when compared with OpenOffice.

So, I ask you, our readers: What can and should we do about this, now that the decision has been made?



D J uses OStatic to support Open Source, ask and answer questions and stay informed. What about you?



14 Comments
 

Government regulation - it's as simple as that. Ok, not directly regulation. Governments could demand that they only buy software that has support for ODF included by default, rather than using a plug-in developed by Microsoft that has to be installed separately.


Two things can be the outcome:


1. Microsoft refuses to do so, OpenOffice, SunOffice or another alternative is used.


2. Microsoft DOES ship _every_ Office-package with integrated ODF-support. This would allow to use ODF-files on _every_ Office-installation, at least in a few years from now, when legacy Office-versions are obsolete.


Either way, open standards win.


Government regulation can be a pretty decent thing! ;)


0 Votes

Grass-roots persuasion that open office is a viable alternative and (imho) much easier to use than bloated office 2007. Point out that open office is free. Basically don't just give up and say that everyone is using microsoft so we have to.


(And by the way, please let people sign in for an individual comment like most other blogs do, it's easier)


0 Votes

Government regulation? You must be on crack. Or in Europe.


Why is a standard bad just because it's 6,000 pages long? There are certainly functional standards that are at least that long elsewhere.


It's awfully disingenuous of the open standards community to be coming down on Microsoft like this. You can't have it both ways -- you hate them because they're not open, but once they open up, you hate them more because they don't open up in just the way you want.


0 Votes

i will delete any microsoft formats sent to me as i would any other virus. if someone wants me to view their document then it better not be in a microsoft format. period. end of discussion. zero tolerance. i will not allow microsoft to infect my linux computer with their garbage.


0 Votes

All this bellyaching by "open source" people is just plain nonsense.


Does anyone really use OpenOffice for any real work .. it's a load of crap and if you think you can write better "standard" than "software" .. I have a bridge to sell you somewhere.


-sms


0 Votes

The standardization of ODF and the fight against OOXML is a competitive play by open source advocates and by IBM and other competitors. What can we do? Quit whining. Use ODF if that's your preference and lay off those who choose to use OOXML.


0 Votes

everubody uses tcp/ip ..right now you are browsing because the networks are based on tcp/ip. What if tcp/ip specification was a 6000 pages controversial document?


0 Votes

The organization I run uses OpenOffice for real work (we have 30 people all using it). For two years, we have been able to exchange documents with customers who still use MS Office. Don't give me that crap that this is a "load of crap".


0 Votes

What can the open source community do? Make a product that is hands-down better than Office 2007. Hasn't happened yet. If it has, please do promote the heck out of it. I made a genuine effort to adopt OpenOffice, but gave up for now. It just isn't as good as MS. I very much wish it were.


0 Votes

A lot of these "load of crap" arguments seem to pit OpenOffice against MS Office. I've used both extensively and have covered MS Office extensively since it was born. I woulnd't cite just OpenOffice as an alternative. AbiWord is a fantastic MS Word-like word processor (see the post out here today) from the open source community, and even supports OOXML. There are also freeware and near-freeware alernatives to the MS Office suite that are competitive. Software 602 costs under $50--way cheaper than office. It's not open source, but comes from a history of freeware and is still nearly there. It looks and acts almost exactly like MS Office.


Sam


0 Votes

Here's a link to Software 602...meant to post it above:


http://www.software602.com/


It's so MS Office-like that Microsoft has gone after the company at times.


0 Votes

People arguing in favor of "open" standards are fighting the wrong fight -- as this just proved.

"Open" standards are just a means not an end.

We should really be talking about avoiding vendor lockin. Who cares if a standard is "open" so long as multiple vendors can read the format. Microsoft should be made to provide a library that other vendors can reuse to read the damn OOXML "standard". Who cares about the file format (which microsoft is going to 'extend' anyhow)? Give me the code.

It was a stupid fight.

0 Votes

"Why is OOXML a bad standard?"

Because it is probably unimplementable by anyone other than Microsoft -- and maybe can't even be implemented by Microsoft ... which doesn't actually matter to Microsoft, because the "standard' is a dead letter and "whatever Office does" is, in practice, what is important.

"What does it mean for open source developers?"

The same as it would mean for developers who tried to implement it who didn't publish their source code. The same as it would mean for anyone other than Microsoft. What a stupid question! What it means is a helluva headache.

"What ... can members of the open source community do, now that OOXML has been adopted by the ISO?"

I don't know. Offer to sleep with Steve Ballmer? Consult a soothsayer? Rely on Miguel de Icaza to solve the problem?

No-one knows. Keep pushing back and hope MS has, this time, bitten off more than it can chew.

0 Votes

Government regulation:

What if the governments refuse to make such a demand?

@sms we do use OpenOffice at our company.

~LVS

0 Votes
Share Your Comments

If you are a member, to have your comment attributed to you. If you are not yet a member, Join OStatic and help the Open Source community by sharing your thoughts, answering user questions and providing reviews and alternatives for projects.