ODF Add-in for Microsoft Word

ODF Converter Team Blog

Wednesday 30 August 2006

Managing an Open Source project sponsored by Microsoft

Microsoft announcement that they would support an Open Source project to allow conversions between Office Open XML (OOX) and OASIS Open Document Format for Office Applications (ODF) provoked a lot of reactions. To have a measure of the "noise" made on the internet by this announcement, just type 'ODF "Clever Age" Microsoft' on Google - you'll have almost 25,000 results! (a pity that all those pages are not pointing to Clever Age's web site, that would have boosted our ranking ;-). Many reactions were positive, people applauding the fact that Microsoft did not persevere into a close-minded attitude regarding other formats and interoperatbility. But as usual, some people also manifested skepticism, wondering why Microsoft suddenly changed its mind (is it an "embrace, extend, extinguish" attempt?) and trying to find the "trap" that was necessary hiding in this attitude.

There is especially one thing that surprised people quite a lot, it is Microsoft's choice to support an Open Source project to accomplish the work. Why did they not develop it by themselve? Why Open Source? A lot of explanations (I should say: suppositions) were given, all of them trying to reveal Microsoft's real (and necessary bad) motivations. From what I heard during our discussions with Microsoft, I understand that they could not make the developments internally due to political reasons (in such a big company, changing people's minds takes time...), so they decided to ask a partner. Why Clever Age is another story that I may tell some day...

Now, why an Open Source project? From my point of view, things are quite (maybe a bit too) simple: they did not decided to, we (I mean: Clever Age) did! Actually, during the discussions that took place before the project launching (for information, the project started on june 1st, 2006), we suggested to have this project managed as an Open Source project so that we could benefit from user feedback and potential contributions. Clever Age is used to contributing and even leading Open Source projects, so we knew the advantages we could take from such a model. Well, I recognize that if Microsoft had disagreed with this idea, the project would not have been Open Source - but I don't think it would have been so if we had not suggested the idea. Fortunately, the managers we spoke to at Microsoft were receptive to those arguments, and there we are.

But there must have been discussions internally in Microsoft before accepting the proposal, for sure. They knew that if they accepted to launch an Open Source project, they would be at the center of the attention - with the risk of beeing criticized for whatever - good or bad - reason. And they were entirely right: not longer than four days after the announcement, a thread started on Groklaw about Microsoft having "grabbed" some code for "its" ODF plugin. And in the next few hours, several web sites reported that Microsoft had copied most of the code of its plugin from another Open Source project... First, the code was not (and is still not) Microsoft's property - it is and it will remain Clever Age's. Second, the piece of code was taken out of a book from J. D. Eisenberg (we mentioned its origin in our code) and was extremely simple - it did certainly not deserve such a discussion... We (I mean: Microsoft and Clever Age) wasted a lot of energy just to stop this rumour - posting answers, contacting the authors, making our own announcement on SourceForge, etc. Well, I suppose that's the counterpart of working on such a sensible project...

Now the pressure has fallen down, we don't feel like being watched by the entire earth any more. Until the next announcement from Microsoft?

Monday 28 August 2006

Everyday should be Sunday

That's always a good surprise, when coming back from week-end, to see that the project did not sleep during the last two days... at least, if we trust SourceForge project activity! It rose from 99.98% (when I left the office friday evening) to 99.99% when I came back this morning (monday) - having its best rank (#20) on saturday and sunday. I am thinking of telling the dev team to go on holiday for a while, maybe the project will then go on by itself... (ok, I suppose that SourceForge activity is computed not only for the previous day, but is an average of the past few days - but anyway, I always find this funny).

Speaking of the project activity, you may wonder how many people are involved in the project. There are not less than 24 members registered on SourceForge - but not all those people are actually developers (there are a lot of testers), and among the developers not everyone is working full time on the project. In fact the size of the dev team varies quite a lot - especially during summer, which is traditionaly a good period for vacation here in Europe. There are currently (I mean: today - tomorrow is another day) one project leader and four developers working on the project in France, and three developers in Poland. And there must be some testers doing the tests on the latest snapshot - I don't know the exact number as they work for different companies: DIaLOGIKa in Germany and AztecSoft in India.

We deliver two snapshots a week (monday and wednesday), what allows both the testers to have time to do their job and the community to follow the developments quite closely (but you can also get the current version by accessing the public SVN repository and compiling the sources by yourself). The bugs are reported on SourceForge Bugtracker (there are currently 77 bugs open). We don't use the forums internally, we prefer the mailing lists (we have public and private mailing lists) for the discussions. As SourceForge provides all those tools, it sounds like it was a good choice to host the project on it (we had other options: either an internal solution - based on OSS project TRAC - or Microsoft CodePlex - but we wanted to priviledge visibility and that's why we finally chose SourceForge).

Friday 25 August 2006

Welcome to ODF Converter Team Blog

Hi everyone,

This blog is intended to tell about the ODF Converter (also known as "ODF Translator") project, mainly from a developer point of view. I am the project leader, working for a french IT company called Clever Age - but I hope other developers will also participate in this blog, especially the polish team (Clever Age has developers in France and Poland). You may ask yourself why we decided to launch a blog more than 2 months after the beginning of the project... Well, there are many reasons, one of them beeing that we don't have enough work on this project, so we can spend time describing our lives ;-)

No, to be honnest, we initially thought that there would be much more people getting involved into the project (that's why we decided to make it Open Source), and we intended to rely heavily on the community, especially when decisions related to user feedback have to be taken. But until now, we only had one proposal for external help, and I must be almost the only one who posted on the project mailing lists... There are still some questions on the forum (yeah, today we had a new question!) or directly sent to my e-mail address, but that is very far from what we expected, especially when considering the buzz made by Microsoft announcement at the very beginning of the project. Now "the sea is quiet" (well, not sure this makes sense in english, but anyway, forgive my poor english: I'm french ;-) and trying to talk about the project and to make people react (hope, hope...) won't hurt for sure.

When developing such a converter, we face many issues due to the fact that the formats we're working on (OpenDocument and OpenXML) are quite different in many aspects. Some features simply don't exist in one of the two formats and can't be preserved (for instance: OpenDocument's "table shadow" has no equivalent in OpenXML); others don't exist but we might use workarounds (for instance: OpenXML does not have the "page break before" feature for tables, whereas OpenDocument does; in this case, we can add a page break before the first content of the table, it will behave the same way). The problem with such workarounds is that they may destroy the consistency of the document. A quick example: imagine that default fonts are not the same in both formats (say it is Bitstream for OpenOffice and Times for Word): should we enforce the font to be Bitstream each time we encounter characters with default font? Or should we let the default font beeing applied? With the first solution, the converted doc will look the same as the original one, but if someone adds some text with the default font, it will differ from the rest of the document (problem of consistency). With the second alternative, the converted doc won't look like the original one (Bitstream font will be replaced by Times), but the document will remain consistent with further modifications. OK, this example is not a good one, because in both formats you can specify the default font - but I think it is good for an illustration (you can find "real" examples on the users mailing list of the project).

I think this blog can be a good place to discuss such issues - so we'll try to expose them when possible, hoping that people will find an interest and give their opinions! We are very attentive to user feedback and open to any sugestion.

Powered by DotClear

Project page on SourceForge

SourceForge.net Logo