Norbert Bollow's Comments on Standards

2009-08-12: The ISO/IEC Working Group on OOXML Wants to Unfix the Leap-Year Bug and Related Date-and-Time Problems.

Brief context

For the benefit of those who have not followed the "standardization war" on ODF versus OOXML in detail, let me start by giving a bit of context. (If you're familiar with the topic, you can skip this.)

The rush for the standardization of file formats for office documents (such as textual documents, spreadsheets and presentations) started in 2002 with the creation of a standardization committee at OASIS for the development of an open standard on the basis of the XML-based documents format of OpenOffice.org. Version 1.0 of this standard was published in 2005 and ratified as an international standard in 2006.

Microsoft, desiring to preserve their dominating market position in the area of "office software", rushed to get a format of their own design also accepted as an international standard. There were some problems along the way: The rules of ISO, the International Organization for Standardization, do not really allow the creation of a competing international standard just for the purpose of avoiding to use an existing standard which originates from a competitor. However, these kinds of concerns were simply waved away: Apparently some standardization officials wanted very badly to have Microsoft on board. Many criticisms were voiced with regard to technical problems of Microsoft's OOXML format, one of the most frequently-mentioned issues being the infamous leap year bug. OOXML failed its first vote to become an international standard, but after a "ballot resolution meeting" in February 2008 in Geneva, where in particular the leap year bug was fixed by demanding that dates should be stored not in the buggy "serial value" format but in the ISO 8601 format, enough national member organizations of ISO changed their votes so that the modified version of OOXML was accepted as an international standard. Of course Microsoft was engaged in heavy lobbying in each of these countries, and in many cases there were some irregularities along the way in which the decision was reached to vote for approval of OOXML or to change from disapproval to abstention. In an unprecedented turn of events, four countries submitted appeals, but the responsible officials at ISO and IEC (the International Electrotechnical Commission, which is also involved in this standardization process) declined to seriously consider the appeals without even answering the concerns and arguments which had been voiced.

Now, whether we like it or not, OOXML is an "international standard", and it makes sense to demand that least the further development of this standard should be according to the recognized principles of standardization, in the sense of a consensus-based process which aims at solving technical problems and at ensuring that the standard will eventually meet everyone's needs (i.e. not just the needs of one company and its direct business partners and customers).

They're actually trying to re-introduce the leap-year bug!

A steady stream of so-called defect reports has been arriving at the responsible ISO/IEC committee, and a working group (the so-called Working-Group 4 of JTC1 SC34) has been formed to address them and propose corrigenda and amendments for the standard. Recently, the first set of proposed amendments and corrigenda has been sent to ISO's national member bodies for balloting.

I have been shocked to find that they're actually proposing to re-introduce the leap-year bug.

This change is well-hidden as the twelfth item in the DCOR 1 ("draft corrigenda 1") document for ISO/IEC 29500-4, the part of the standard which deals with specifics of the "transitional" conformance class. Currently all OOXML documents which exist in practice are of this conformance class, so regardless of the name, any change which is made there has in practice exactly the same effect as a change which refers to both conformance classes (the other conformance class is called "strict".)

The precise proposed addition to the text of ISO/IEC 29500-4 is:

ยง10.7, "Additional representation for dates and times (Part 1, Section 18.17.4 )"

For a document of a transitional conformance class, each unique instant in SpreadsheetML time shall be stored as an ISO 8601-formatted string or as a serial value.

This would override, for files of the "transitional" conformance type, the statements in Section 18.17.4 which allow only the ISO 8601 date format.

The problem with this is of course that by allowing the buggy "serial value" date format of "Office 2007" in ISO/IEC 29500 format files, due to market forces that would certainly end up being the de facto standard way of storing dates in spreadsheet cells. In effect the leap-year bug and its associated problems would be back in the standard.

What can be done?

Obviously, if you're involved in your national mirror committee for ISO/IEC JTC1, you can seek to convince it or the relevant subcommittee that 29500-4 / DCOR 1 should be disapproved. The international deadline for this ballot is 2009-11-04; the national member bodies of ISO will generally have deadlines in October by when the concerned committees mus make their decisions. While you're at it, you'll also be able to argue for disapproval of 29500-4 / FPDAM 1 (for related but different reasons, I'll explain about that in one of my next blog postings.)

If you're working for a software company and it is not yet active in the appropriate national standardization organization, you should probably become active to make sure that the emerging body of international standards in the field of IT isn't going to get in the way of your company's business interests. This recommendation for getting involved applies even if your company is a small one, or if software development isn't the firm's main line of business.

Notes on feedback from readers

From the reactions of some WG4 members I'm getting the impression that in future blog postings, I will need to provide more in-depth arguments in order to make clear in particular to the members of WG4 that I understand the facts of the topic that I'm talking about. This blog posting has also been mentioned favorably, by IBM's Rob Weir.


Note: I aim to create a leading blog on the need for standards which are truly open standards and technically of excellent quality. More blog postings will come soon, but first I'm looking into choosing blog software which meets my needs well. As soon as that is installed, there will be at least an RSS feed, and possible also an Atom feed. If you would like to be informed when that is available, please drop me an email with this request.

Homepage

Benefit- oriented consulting

Golden mean between open source and profit oriented software

Norbert Bollow's Comments on Standards

Contact Adaptux

Adaptux GmbH (Zurich, Switzerland) / Tel 044 972 20 59 / Fax 044 972 20 69 / Email info2009@adaptux.com