The ODF-support-in-Microsoft-Office-2007-SP2-fiasco-and-its-fallout (phew, try saying that fast five times over!) is, from the perspective of this participant of the Great Document Format Wars, pretty silly.
Yes, its true that ODF (for version 1.1 and below) has had under-developed formula specification. Calling it undeveloped is being charitable. For those of us who toil by the craft of the code, the specification was pretty much non-existent.
Having said that, most officeware that support ODF worked just fine because they emulated the behaviour of OpenOffice, the dominant ODF supporting office suite. This state of being, while not being particularly ideal, wasn’t that big a deal because:
- Reverse engineering ODF file format is really just an unzip followed by an xmllint (to format the XML) piped into less. I know this because I spent a few weeks writing a parser of the file format that would become ODF. It wasn’t particularly difficult then (I had ZERO reference documentation), it shouldn’t be difficult now (given tons of reference documents available today) .
- First versions of standards tend to not be perfect. Despite the fear-mongering I’ve heard from various parties, non-perfect standards are actually perfectly OK. The idea is to get a reasonably decent standard out and improve it incrementally over time. If we were to wait for each and every standard to be perfected before being released, we’d get nowhere.
- Formula specification support is slated for ODF 1.2. ODF 1.0 was the original major release, followed by a minor 1.1 release. With ODF 1.2, formula specification should be properly formalized. It must be noted that formula specifications require time to perfect (a lesson that Microsoft learned the hard way when it was revealed that formula specification in OOXML was less then perfect). Hence, the OpenFormula team spent a significant amount of time developing the extensive OpenFormula specification which ODF 1.2 will support.
Microsoft Office 2007 SP2 shipped with ODF support. The raging debate across the Interwebs is whether Microsoft intentionally or unintentionally broke ODF support as basic formulas have fail to compute across different applications. Doug Mahugh argues the Microsoft perspective that they had followed the standard to the letter. Others have pointed out that Microsoft’s offering is not compatible with other ODF supporting officeware.
To this observer, following the letter and not the spirit of an open standard seems to serve no useful purpose to users of the application other then to lock them into an open standard that is, for all intents and purposes, proprietary. Sure, ODF <= 1.1 has had substandard formula specification. However, most applications interop just fine, so why can’t Microsoft Office?
From an engineering perspective, attempting to replicate OpenOffice’s behaviour would have been the correct approach. Everybody knows about ODF’s <=1.1 substandard formula specification. This was due, in part, because Microsoft publicized the flaw wide and deep when ODF was being adopted as national standards (oh, the debates in national TC’s then were just so much fun </sarcasm> :p).
My point is that if you know something is broken, the correct engineering approach is to see how others have fixed it and to follow their footsteps if the fix is reasonable. As it so happens, others have replicated OpenOffice with decent results. If Microsoft had done the same, their users would be able to share documents between other ODF supporting office suites just fine. Now, that would truly be serving the spirit of an open standard!
On a related note, Gray Knowlton (who leads the product managment team for Office Developers) has a blog post on removing Rob Weir as the Chair of the ODF TC. He says:
“I’m not saying Microsoft (or anyone) should be the chair instead, but I am saying that Rob is unfit as a leader given his inability to separate his personal venom from his role as a leader in driving the standard forward.”
For those of us who have been following the Great Document Format Wars, Gray is being disingenous. To a large extent, ODF has come as far as it has because of Rob’s (and other ODF TC members) fantastic work on it.
As for personal venom, it takes two to tango. Microsoft is certainly no blooming lily where personal attacks are concerned. After all, it takes two parties to build a healthy working relationship. On this, Gray cannot place the blame solely on Rob’s shoulders.
Given how ODF has flourished under Rob’s leadership, there doesn’t seem to be any meritorious reason for him to vacate the Chair.
"For those of us who have been following the Great Document Format Wars, Gray is being disingenous. To a large extent, ODF has come as far as it has because of Rob’s (and other ODF TC members) fantastic work on it." The higher the rank of the people you demoralize, the better.
That's Knowlton's way to kill ODF: Decapitation. Make sure those that works on the standard are demoralized, or discouraged from continuing their work.
However, I think as a chairman, Rob do need to tone down his attack on the opposition, i.e., write his blog postings in a more neutral rather than us vs them way.
---
"From an engineering perspective, attempting to replicate OpenOffice’s behaviour would have been the correct approach."
I disagree. The correct approach, is to create two modes: One that follows the standard to the letter, and another to emulate the formula behaviour that is most likely to become part of the standard later, i.e. OpenOffice.org's.
It's easy. Just use callback.
The bonus of this approach?
(0) Your users win. Most will want emulation, but they can switch it off if necessary.
(1)hopefully what you emulated becomes the standard, then you win your bet.
(2)if you lose, then you are in a position to replace your emulated stuff with the actual stuff.
(3) **technically most important**
Your designs looks ahead and planned for changes that you know will happen. When the new formula language is available, you don't have to go back and crawl through all the source code in order to implement the new formula behaviour. If you follow the standard "to the letter", then going back to the source code and implement the new formula behaiviour _is_ inevitable.
The office programming team is not stupid, they definitely will use the approach I outlined here (or something close to it). It is the business people that decided to score points by not emulating OpenOffice.org's formula behaviour.
They (business people) might had stop the work on emulating OpenOffice.org's behaviour by stopping it from receiving the proper support. However, I am sure the infrastructure for adding formula behaviour is there. That's why we need to keep the pressure on!
Posted by: Wu MingShi | Monday, 11 May 2009 at 07:19 PM
It is a pity that Microsoft's struggle to (dis-)implement ODF does not raise above the morals of a children's book.
However, I think we can easily characterize MS' behavior according to the words of Albus Dumbledore teaching Harry Potter that:
"It is our choices, Harry, that show what we truly are, far more than our abilities."
Indeed, MS had a real choice to implement ODF to interoperate with other applications or not. Whatever their "excuses, excuses" about the incompleteness of ODF 1.1, they had a choice. And what they chose to do does characterize them in all respects.
Winter
Posted by: winter | Tuesday, 12 May 2009 at 01:54 PM
I'm not sure I agree here. The reason why MS couldn't justify not interoperating with ODF is because ODF is a de jure standard. It has been produced as part of a long, communal development process to represent the interests of all stakeholders.
The OpenOffice formula spec, by contrast, is a de facto standard. Microsoft's approach to formulae is also a de facto standard. Why should one be privileged over the other? Until a de jure standard is published, we have no moral high ground.
This is not the correct point in time to start screaming at MS. First wait til they conspicuously fail to implement OpenFormula. *Then* start screaming.
Posted by: Lifewish | Friday, 26 June 2009 at 09:04 PM
Need to take into account that *no* format anywhere, prior to ODF, had any kind of formula specification. ODF is first in that, too.
Posted by: Puppesurferen | Wednesday, 19 August 2009 at 01:39 AM
I wonder what is the global effect of i4i lawsuit for copyright infringement against Microsoft for its XML implementation.
Posted by: mridzuan | Tuesday, 01 September 2009 at 10:09 PM