Although the timing with a very recently issued Request for Information (RFI) by the Commonwealth of Massachusetts is apparently coincidental, the ODF Foundation is talking about how a plug-in for Microsoft Office that allows Office users to save their documents in the OpenDocument Format (ODF) has been finished. First news of it's existence turned up in an interview of the foundation's founder and president Gary Edwards by Groklaw publisher Pamela Jones (see OpenDocument Foundation to MA: We Have a Plugin). I was alerted to the news by a comment that ZDNet reader Edward Meyers published yesterday on one of my blog entries about the ratification of ODF as an international standard by the International Organisation of Standardization (ISO). ODF's ratification by the ISO is good news for ODF. But overall, since the ISO is apparently happy to also ratify other formats (including Microsoft's), the word "standard" really doesn't come to mind in terms of what the ISO sets or ratifies.
Given that there was no official news regarding the plug-in announcement, I checked in with Edwards to find out about this mystery plug-in, how it came to be, and where those who might want it can get it. Edwards was suprisingly candid about how the developers, which he would not identify, reverse engineered Microsoft Office to achieve their goal. Edwards does not think there are legal implications to this practice. I'm not so sure. Here's what Edwards told me (my questions are left out. It's pretty self explanatory):
I had converstation Timothy Vaverchak [Director of the Open Source Initiative in Massachusetts Information Technology Division (ITD)]. A lot of people told ITD that a plug-in [so MS-Office could save and open ODF-compliant files] was impossible. Although it had no involvement in this effort, Sun assured the EU and Massachusetts that they wold work to create something. And they did in the form of a conversion server that will convert docuements forward and backward. It's very fast.
But to do a plug-in, you have to approach this from left field. You can't approach this through the traditional methods of writing a plug-in for Microsoft Office. There's nothing in any of the books that have been written about doing conversion at the file format level. You've got to go binary. It's a process of watching how Microsoft Office works with its own file formats. Generally speaking, this is called reverse enginneering. It's where you study the behavior of the application, trapping the system calls and the API implementation. If you stick to the behavior fof the API being called, that's how you learn about the full range of what the API can do. There's a community of people out there who are very adept at reverse engineering and publishing books about undocumented APIs.
I can't talk about who did the work. ODF is dedicated to the promotion of OpenDocument and we put out a call for help a year ago. We knew the best first step toward adoption of OpenDocument would be this plug-in. So, we put out a call for help. [How we got from that call for help to this plug-in]: I'd rather not go into it. It doesn't put certain developers at risk. I'm just not authorized to talk about it. It's small group of
people who participated and now that we have it, we have to decide what do we do with it. Do we open source it? Do we give it away?
With Vaverchak, I offered to deliver it to him (for testing) whenever he's ready. Hopefully, by the time I bring it to him, we will have resolved the issues regarding what we're going to do with it.
To be honest, I not convinced of the serendipity here; the way a plug-in surfaces at nearly exactly the same time that Massachusetts issued an RFI for the same thing. But that doesn't change the fact that the plot has once again thickened now that has become even easier to make the switch away from Microsoft's formats despite the fact that Microsoft has been opening them up for usage by developers and others. I also can't help but wonder if Microsoft may look to take legal action here. I'm not bothering to contact Brad Smith or any of Microsoft's lawyers because the their standard answer to the question of whether they might take legal action is always that they can't comment on lawsuits that haven't been filed. Perhaps someone else can tell me what the end user license agreement for MS-Office says (I don't have one handy). But I'm pretty sure reverse-engineering is one of those things you're not supposed to do. On the other hand, who would Microsoft sue once the code is out there? The customers who use it? Doubtful.