How much compatibility do you need?
How much compatibility do you need? That's not a rhetorical question, but one that requires some serious thought.
I'm asking this question in regards to migration from legacy Microsoft Office formats to your next-generation XML format, be it ODF or OOXML. But first, a couple of personal anecdotes that bring this to mind:
Yesterday I was in a training class (it was about the security aspects of development methodologies, but that's not important right now). The university professor who was teaching the class casually mentioned that he had a couple of papers turned in in OOXML format, which he couldn't read. He uses an Apple computer. Very simply put, if he can't read it, you fail. It may sound draconian, but if you take into account that he's dealing with a large number of students and he's clearly told them what format to use then his frustration is understandable. Sadly, due to misinformation from Microsoft's marketing arm, the students' failure to comply is understandable as well.
Today I was assisting someone with a system written in Microsoft Access 97. My current version of MS Office Professional is 2007. It will not edit the older version at all. Period. Get over it. Your only options are to (A) convert the database to a newer format (not feasible, since it's not mine, and the owner cannot afford to upgrade all of her machines), or (B ) edit the database with the older version of Access. I'm going with Plan B (using the older version). I do have a licensed copy of Access 2000, so I tried that, but it's still too new... it won't read the database either. I'm going to have to do it on her machines rather than mine, since I don't have a copy of the older version and won't pirate one. What this means is that the work I thought I'd be able to squeeze in in a couple of spare hours may not get done this weekend since I have a lot of other high-priority work to get done. She's going to wind up with a manual workaround instead.
Microsoft has made lots and lots of noise about “the fact” that its OOXML formats “are compatible” with the billions of existing office documents in the world. Anecdote 1. shows that up as a half-truth at its theoretical best, and a lie in every practical sense. There is no clever argument that could make up for sending a format you were told was “compatible” to your college professor and getting a zero for your work. I feel sorry for those people that fell into Microsoft's semantic trap.
By “compatible”, of course, Microsoft merely means that their software can read the old format and write to the new one. Notice the disconnect there. Writing the new format is in no way dependent on reading the old one. You don't need to know how to read Latin to write German. If you want to translate Latin to German, you need to know how to do both, but German need not be designed for “compatibility” with Latin. The best possible characterization of Microsoft's argument is that it is a lie.
The reason they can get away with this lie is that they are the only group with the fully documented specification of the old format. They're “native speakers”, so to speak. Everybody else has had to learn the old “language” by listening to the native speakers, who refuse to teach anybody else the language. When it looks like other people are getting pretty good at reading those formats, Microsoft changes them, as Anecdote 2 illustrates pretty well.
Just recently on ZDNet, Paula Rooney claimed that “ Customers won’t adopt any open source desktop — whether it is backed by Sun, Novell, Red Hat or IBM — if it doesn’t offer seamless compatibility with Microsoft Office.” Of course she's wrong. We can see from the examples above that Microsoft doesn't offer seamless compatibility with its own products. Nevertheless, people still upgrade their Microsoft software based on the lie that such compatibility is provided. It's only when they actually try to take advantage of it and fail that they learn the ugly truth.
Microsoft doesn't really believe their customers need 100% compatibility. If they did, they'd provide it. This set of slides re: Compatibility Mode Confusion details one administrator's set of problems. Nevertheless, Microsoft promotes the myth of 100% compatibility, sometimes claiming vague “legal concerns” that simply don't exist. (For instance, in contracts. It's the copy of the contract that you printed and that the parties actually sign that's of legal consequence, not the source document in binary form. If it were, then translating it to any other format would be equally damaging.)
The Microsofties deride OSS proponents when we use terms like "good enough", but they absolutely depend on it (and consumer ignorance of the compatibility issues that remain) for sales of Microsoft Office 2007. And if you allow that the concept of "good enough" is valid for switching versions of Office, then it has to be valid for adoption of Open Source as well. That is, if you're fond of actually using logic in your thinking.
Yes, companies have huge libraries of .doc, .xls, and .ppt files. Microsoft would like you to abandon that format for OOXML on the basis of the "good enough" fidelity provided by Office 2007. OSS proponents would like you to abandon those old formats for ODF, also based on "good enough" fidelity. However, ODF is already a widely adopted (by vendors) standard. OOXML is not widely adopted by vendors; nor is it widely adopted in practice by users.
Microsoft's market dominance isn't anymore permanent than the blockage of the NorthWest Passage. Remember WordPerfect? It was dominant, too. A blind man can see that the entire industry is changing. So if you've got to switch anyway, be smart about it and go the standards route.
By this I mean real standards, of course. Microsoft's OOXML, used in Office 2007, was rubber-stamped by ECMA and has no widespread adoption despite the fact that Microsoft Office 2007 ships with most new PCs. No vendor other than Microsoft had input to that format, and MS Office 2007 not only doesn't comply with the published spec, Microsoft won't commit to compliance in the future. OOXML recently failed a crucial vote with regards to ISO standardization.
On the other hand, ODF sailed through the ISO standardization process methodically and with no dissenting votes at all. It is defined and supported by multiple vendors of multiple applications on multiple platforms. Sun's StarOffice, OpenOffice.org, IBM's Lotus Symphony, and Koffice are some of the applications to support it. These applications are pretty good at reading the old formats, too; and are excellent at creating widely sharable documents. Even if the other guy's using a Mac, or Linux, or Solaris, or BSD instead of Windows. Even if one's using Symphony and another's using Koffice.
If you've ever been bit by the compatibility bugs in Microsoft's products then you really should consider moving to one of the office suites that doesn't suffer from them. This week the governments of Russia and the Netherlands announced ODF policies. They join [pdf] Belgium, Brazil, Croatia, Denmark, France, Japan, and Norway. And me.