• Zeth will be attending PyCon UK on the 12th to 14th September 2008.

OOXML: the end of the beginning.

6 April 2008

So ISO rubberstamped Microsoft's OOXML, a lame excuse for an 'open' format.

The promise of ODF was that we could free the information inside office documents, making it available to new innovative programs and web services. Sadly, the real aim of OOXML was to maintain Microsoft's Office Monopoly. This created a massive conflict of interest in a large number of the committees. I wonder if society will look back at this as the moment that general progress of the information revolution was put back a generation?

Dirty tricks at ISO

One of the main problems was that ISO itself is not standardised. Having every country do its own thing has made it much easier for a single large vendor with a lot of money to subvert the process. The voice of technical reason lost out to Microsoft's cold hard dollars, and in the process ISO has lost a lot of credibility.

The national standards bodies are supposed to represent the interest of their populations, instead we had Microsoft's own employees, or employees of Microsoft's Business Partners, voting for Microsoft's standard. This is a massive conflict of interest, and it is the general public that have been shafted.

The OOXML website has made a list:

> Presence of Microsoft Business Partners has been reported in the following countries: Belgium, Brazil, Colombia, Denmark, Egypt, Italy, Ivory Coast, Kenya, Mexico, Nigeria, Portugal, Slovenia, Sweden, Switzerland and the United States of America. Furthermore, it has been reported in several countries, such as France and Malaysia, that Microsoft has lobbied the government and the responsible ministers to override the decisions of the technical committees, which spoke out against an approval of the format.

I was particularly unimpressed with BSI, the UK standards body. Did nobody tell them that Easter is over already, that we no longer need a Judas? There was over a month between the Ballot Resolution Meeting in Geneva and the vote deadline. However, the BSI publicly opposed OOXML, and in the last day or two secretly changed their vote, avoiding the British public whom they are supposed to represent. BTW, the head of the British commitee was ... you guessed it ... a Microsoft Business Partner.

Microsoft's own planet

By approving OOXML, ISO has made one hell of a mess. Not least because the so-called "standardisation process" did not involve much standardisation. OOXML is still rather un-standard in that it conflicts with a number of other standards. Here are some of the easy to understand problems:

We already have an open standard for mathematical formulae and notation, it is called MathML and is published by the W3C math working group.

  • OOXML ignores this and uses its own Microsoft-specific Maths language.

We already have an open standard for vector graphics called Scalable Vector Graphics. This was produced to replace vendor specific formats such as Adobe's PGML and Microsoft's VML.

  • OOXML ignores this and uses Microsoft-specific VML.

We have a specification (RFC 3987) for UTF-8 capable Internet addresses. This allows URLs to be written in any language.

  • OOXML ignores this and can only use Latin characters in URLs, so speakers of Chinese, Japanese, Korean and many other languages are plain out of luck.

Other standards, including OpenDocument, support any type of weekend. This is because in Israel and dozens of Muslim countries, the weekend is not Saturday and Sunday.

  • OOXML ignores this and forces you to use the Christian week. If you are a Muslim or a Jew, well tough luck.

The Gregorian calendar has been an open standard since 1582. For example, the whole world agrees that according to the Gregorian calender, the first of January 1900 was a Monday.

  • OOXML ignores this and uses Microsoft's own strange view of time. For example, according to OOXML which includes the bugs from Excel, the first of January 1900 is a Sunday, despite it being a Monday in the Gregorian calender. Indeed, no historical date can be relied on. Talking of 1900, according to the Gregorian calender, 1900 was not a leap year, but guess what, according to OOXML, it is!

We could go on and on. There are also lots of important features, macros for example, that are referred to in passing but are not defined in the specification, how they are supposed to work is still a big secret.

The biggest problem of all is that we also have ODF, a technically far superior standard. ODF is also supposed to be the standard for office documents.

Where do we go from here?

> Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning. Sir Winston Churchill, November 1942

How does one deal with two incompatible standards? Microsoft always trots out this concept of "competing standards", but this is doublespeak; by definition if there are more than one specification then there is no standard.

Well another option is that one of the standards is ditched. That is not going to happen in the short term, it seems that positions are far too entrenched for that.

The only option left is a process of harmonisation between OOXML and all the standards mentioned above, including ODF. This was already suggested by France and others, but ISO ignored this. Well, even if ISO will not be the venue for this, the harmonisation will happen anyway, outside ISO.

You can stand under my umbrella

To start with we are going to need a 'meta-standard', an agreed mapping between ODF elements and OOXML elements. Microsoft probably won't participate in this, but that does not matter if all the producers of ODF-compliant software are on board.

The key is that when someone opens an OOXML document and saves it as ODF, that the same ODF document is produced (and vice-versa). This way, the free world can carry on with ODF regardless, and let OOXML fail on its own lack of merit.

Is OOXML an ISO standard or a Microsoft standard?

An interesting question is who controls the evolution of the 'standard'? The OOOXML specification was originally written by Microsoft staff. It was then rubber-stamped by ECMA and handed on to ISO, who made a few tiny changes and stampted it again.

However, the standard is now controlled by an ISO committee called JTC1/SC34 who are tasked with improving and stabilising it.

Microsoft may like to think that every time it produces a new version of its "Microsoft Office" product, it can just fax the changes back to ISO, but that is not how it is supposed to work, it is up to the SC34 committee and anyone should, at least in theory, be able to submit suggested amendments to the standard.

A lot of work was done in the previous stage that the Ballot Resolution Meeting in Geneva did not have time for. National standards bodies and independent experts wrote reports and draft fixes for many of OOXML's technical defects; which mostly were ignored. These should be brought back to SC34 as amendments.

Discuss this post - Leave a comment

1 Alex Willmer says...

Succinct summary Zeth, one minor correction. NOOXML made the list, I wish they were the OOXML, but that's sowehere on microsoft.com. Alex

Posted at 12:09 a.m. on April 7, 2008


2 Andy Loughran says...

It's a really nasty situation to be caught up in at the moment - as it's one of those rare breeds of topic that have so much impact on the future of information - but which fail to ignite the passion of anyone other than geeks. Us geeks can see the massive difference adopting this standard will make - however, because of the brilliant way geeks in the past have reverse engineered stuff - most people think they'll just do the same to OOXML. (that's assuming other people think, which is doubtful).

What does ISO mean?

Without government and public support, ISO means nothing. It's become a private members club. Where were the British Government when ISO was ratified. - "It's great to see that OOXML has become an ISO standard as we believe it's good for our country." It's only good for one country - America.

Forget the minnows who are going to benefit from getting Windows Software at a massive discount. Sure - it's a nice perk to be a start-up business and say you run the same software as Goldman Sachs (just an out-of-my-hat example) - but the software market is going under such a massive change with this ongoing revolution we call the 'internet' that having the 'current best' is like having the white stuff on top of a wave. It's great and that.. but it's gone too fast to be useful. Unless you were out there at the start - the white stuff is pointless.

You need paddles!

Paddles are what can get you out there in the first place. With the white stuff, you just keep coming back to the shore, often prematurely. With the paddles you can come and go as you wish..

I've only just started playing with XML and XSLT - and it's really profoundly impacted on what I believe can be acheived. Publshed XML standardization means so much for the future of Information. It's a bit like playing with LaTEX.

Some people know HTML.. imagine on this blog, the titles were all in the <head><title> XML element. You could print a list of blog titles just by pulling that information.

Now imagine a more complex document, but with publish standards that you could pull information out from.. a pie chart on sheet 7 could be integrated into a document simply by cross-referencing it's XML.

XML can be document based API for the average user.

Microsoft have broken this.

Posted at 12:15 a.m. on April 7, 2008


3 Dan says...

ISO - I Sold Out

Posted at 11:28 p.m. on April 9, 2008


What do you have to say?

Show Editing Help


PyCon UK

About

Hello, my name is Zeth, I'll be your host here.

Command Line Warriors is about taking control of your own technology, it looks at our experiences of computing; especially using GNU/Linux, the Python programming language, the command-line and issues such as techno-ethics, best practices and whatever is cool now. If you take control of your technology then you are a Warrior too!

This site is your site too which means that you can contribute and get involved. You can leave comments using the facility provided. For me, the comments and discussions are by far the best part of the site. So please do have your say!

Latest Discussions

Tringi

December 1, 2008
Hi, I am far from your league, but instead of [20. Nd5], why not just play Qd8? :-) Wouldn't it be only Qd8 Qd8 then, or am I missing something?
Ruy Lopez, Berlin defence, open variation part three

Tringi

November 30, 2008
...oh, I meant "Qe8 Qe8" in my previous post, sry ;-)
Ruy Lopez, Berlin defence, open variation part three

Cruze

November 29, 2008
Buy discount professional health products online.
Include ODF support in the Linux Standard Base?

Mike

November 29, 2008
>The most useful xmlstarlet tool for me has been the XML validator, >which tests whether your documents are well formed or not. You >use the tool as follows: >xmlstarlet val ...
My God, it's Full of XML

Giacomo

November 29, 2008
Er, "elif test `ls "$with_xqilla"/libxqilla*.so 2>/dev/null | wc -l` -gt 0 ; then" should now be "elif test `ls "$with_xqilla"/libxqilla.so* 2>/dev/null | wc -l` -gt 0 ; then", as the ...
Native XML storage with Berkeley DB XML - part one

Felipe Coury

November 23, 2008
What do I have to say? Only this: "THANK YOU"! Awesome!
SFTP in Python: Really Simple SSH

fmv

November 19, 2008
just a real db SAMPLE please
Native XML storage with Berkeley DB XML - part one

Very helpful

November 12, 2008
but i need more help. I'm have to execute the sudo command after I log in. What do I need to do to enter the password after the sudo command ...
SFTP in Python: Really Simple SSH

blz

November 12, 2008
I buy 99% of PEP8, except: I don't like the line spacing rules... I can't read the code when it's too close together - it looks congested and I can't ...
Twelve commandments for Beautiful Python code

Zeth

November 11, 2008
Hi Ioxs, I said above *"I will give an example of a standard directive, then an example of a third-party directive"*, so the image directive is the example of a ...
An Introduction to ReStructuredText

loxs

November 9, 2008
Hello, Are you sure about the sourcecode directive, because I didn't manage to make it work. And it doesn't work with the online renderers too.
An Introduction to ReStructuredText