Michaels Meeks, OpenOffice.org hacker


Although his official position at Novell nowadays describes him as "Desktop Architect" Michael Meeks main focus is on improving OpenOffice.org. A task which is not made easier by a severe lack of openness at Sun as he puts it. In an interview at the recent GNOME Users and Developers Conference (GUADEC) in Istanbul he talked with Andreas Proschofsky about future developments around the free office suite, the current need for Go-oo - an improved OOo flavor - and about breaking down barriers between KDE and GNOME.

The following interview is also available in a german translation.

derStandard.at: A lot of applications are moving to the web, also in the office space - like with Google Documents and other solutions. Is the need for a full office suite slowly fading away?

Michael Meeks: That's a very good question - and a very difficult to answer one. So I think there are lot's of different classes of users, lot's of different types of workloads. And typically the easy workloads are moving to the web and there are a lot of benefits that you can get from that. In particular collaboration is the killer feature that has made these fairly feature-free office-suites useful to people. But the problem is: As more and more simple stuff moves to the web, you are left with the increasingly non-simple stuff and you actually need quite some horsepower for some of that. Even a simple chart in your presentation can have a huge pivot-table behind it that is doing some serious data crunching.

Also OpenOffice.org isn't even finished right now and rewriting all of this in HTML and Javascript would be quite difficult, the web is not a beautiful, clean development environment. It's actually very difficult to produce something which looks like you want it to look like. And that's by design - it's not a fixed layout, which is good for the web but when you try to layout documents you need more precision.

derStandard.at: The user interface of OpenOffice.org is still quite similar to Office 2003. Microsoft has done some big changes there with Office 2007, is OpenOffice.org going to follow suit here?

Meeks: I think we substantially have to improve and rework our user interface and there is a plan for that. But the problem with the current UI really isn't ribbon or not ribbon in my view. The current one is using a very inflexible widget toolkit called VCL and that is really something out of the Mid-Nineties - it's a disaster. It hasn't been improved substantially since then. So we are doing a whole lot of work to improve the widget toolkit inside OpenOffice.org, to introduce layout and that's being funded by Novell and driven by us.

derStandard.at: Are you going to replace VCL or improve on it?

Meeks: Replacing VCL is difficult because it's used in both the documents itself but also in the user interface. So what we are trying to do is using a different toolkit for the chrome, we are looking into using GTK+ as a pluggable backend.

derStandard.at: Will this be specific to the Linux version?

Meeks: Yes. Currently VCL on Linux uses GTK+ to render the styles and also the top level window is a GTK+-window, so a lot of infrastructure is already in place. But in the first pass we are using VCL and introducing layout there and push this around the codebase.

The problem is - if you look at say Firefox, they changed the UI and it's excellent, but there is almost no UI there. And in OpenOffice.org we have such a large amount of User Interface so it's difficult to change. And that's historically been the problem why it hasn't been improved. So hopefully the way we designed Layout is that it makes changes very reasonable and have pretty low impact so that we can at least move to something better and make it look nicer pretty quickly. I think we should be seeing that starting to land in the codebase in the next six months.

derStandard.at: Isn't naming the next release OpenOffice.org 3.0 a marketing stunt, as there really seems to be nothing which differentiates it from being another 2.x-release?

Meeks: Yes it is. And I think we should not be ashamed of it.

We had a major achievement by moving to a regular release schedule so that it's predictable when it's coming out and this has delivered incredible increases in stability, the cycle between bug creation and bug fixing is so much shorter, so there is so much more feedback coming in. And we also don't push features in the last moment, cause there is another release in six months anyways.

So don't slam OpenOffice.org for not being totally new with 3.0, but it's a marketing occasion, it's also easier for people to say "this has been fixed with 2.0, that one with 3.0".

derStandard.at: Besides the user interface rework, what stuff are you focusing on at the moment?

Meeks: There's a lot of work ongoing, I must say, in particular in improving VBA, we have quite a chunk of our team working on that, there's a lot of bug fixing going on. I'm personally interested in the build and developer side of it. Because one of our huge failures in OpenOffice.org is getting developers involved and that's really my passion. So we are starting to split the build in multiple source packages so that you don't have to rebuild the whole thing every time you are just fixing a bug in Calc. That's really a key feature from a developers perspective.

I think one of the sad things we see at the moment is the decreasing amount of interest in investing in OpenOffice.org. So we see Sun cutting back their developer count on OpenOffice.org, while we still see them demand ownership for all of the code, which kinda retards other people investing in it.

derStandard.at: There's been this rumor for quite some time now that Sun might sooner or later drop out of OpenOffice.org development cause they are not really making money of it. So what would happen in such a case?

Meeks: Actually I don't know if that would be an entirely negative thing. I mean it would be appalling to loose Sun and the talent of engineers they bring in, I think it's well worth saying that Sun still is a huge contributor - even at a reduced level - and they do some good work. I just think it's a shame that Sun is having this great engineering culture but when it comes to managing things it gets really painful.

In terms of them reducing contribution: Yeah I think they still have a bunch of engineers on OpenOffice.org - but they are fewer than they were, it's clear that they are redeploying people internally. And that's fine, Sun can do with it's resources as they like, you can't criticize that per se. But the sad thing is their failure to build a community around it, getting other people involved. And that's tied to Sun owning OpenOffice.org. It's a Sun project. They own all of the code, they demand ownership rights, and that just really retards developer interest. I mean: Would want to work cleaning someone else's gun?

So I think there is a growing skepticism about Sun's motivation around OpenOffice.org

derStandard.at: Still if Sun drops out, a lot of developer force will be gone...

Meeks: I'm not saying that Sun is dropping out, let me be clear, but they are certainly reducing their investment. Still - if Sun dropped out it would be possible to fix some of the almost unfixable things so far, to make the community more fun and to make it more compelling and more easy to contribute to.

derStandard.at: And you wouldn't require copyright assignment anymore...

Meeks: Right, but I'm not against copyright assignment per se. I think having a foundation or some kind of trusted entity handle this is fine. The Free Software Foundation do this for example - and they demand a much stronger assignment. The problem is to invest in OpenOffice.org you need to trust Sun and the amount Sun can be trusted is open to substantial question.

The have tried to compromise though, they've created this very laborious process, they've instantiated an advisory board. And then they met and they met and they talked and they talked and in the end of the day they came up with a means to get source code in the OpenOffice.org code repository. So you can commit code in their CVS-repository but with this massive list of conditions which are arguably almost impossible to fulfill. Offering everyone this appallingly bad system as their ultimate offer to trying get other people involved is pathetic, it's derisory.

We hoped for more and if we could be sure that our extensions could actually be part of OpenOffice.org we'd be thrilled. If OpenOffice.org would start to become more of an open project, we would be happy, that would end our beef with Sun substantially. And it's so tantalizing to see them go so far, put all this effort in, have all this meetings and just get not quite there. With all this ridiculous restrictions, the unclear legal situation about ownership. It can't be bundled with OpenOffice.org unless Sun owns it. And that's a shame. If you control yourself an open project and you are deliberately excluding all these things on the basis of your own proprietary interest you begin to wonder how open OpenOffice.org really is.

derStandard.at: Coming back to the question of copyright assignment: Isn't Novell doing the same with some of its own projects like Mono?

Meeks: That's a really good question. If you look at Mono, it's true that Novell has a stated company policy of requiring copyright assignment for the core - the JIT - which is some tiny proportion of the code, less than 15 percent. So Mono is a huge thing, there are the class libraries, there is all this infrastructure, all these pieces are usable in other places. It's the core that is kept LPGL and it's done so for commercial reasons and we are very upfront about that. So if you want to contribute to Mono, you can contribute in 80+ percent of the project without assigning rights to anyone. We'd love that to be the case with OpenOffice.org, honestly.

Sun is actually trying to push the problem off to plug-ins, by not requiring copyright assignment there. So the software ships pretty broken and in order to actually open your document you have to be online and download this thing from the public extension repository. And the OpenOffice.org user experience is already bad enough without anyone saying "your are going to have to install this, go to this webpage, look at our advert and then download it".

derStandard.at: Which parts are you referring to?

Meeks: Interestingly there are several pieces which are deliberately not installed by default to drive traffic to the plug-ins-site. There is this thing called "report builder", which is really a key part of the database thing. So as you get where it should be it says "There is something which isn't here, why don't you get it from the plug-in repository" and that's just an appalling user experience, there is no need for that, it doesn't offer you any efficiency wins.

derStandard.at: Being fed up with the current situation with Sun, you seem to be pushing harder for your own OpenOffice.org version with Go-oo.

Meeks: That's right. I think the reason is just frustration, we want to get a good user experience out there, we want to get our code out, we want it to be included - and if Sun won't include we have to do it ourselves. So we are now providing our own releases for Windows and also generic builds for Linux and encouraging people to use it. We'd love to have a unified release, but at the moment this is just not possible with Sun.

So the systray quickstarter is a good example for that: We improved the systray drastically, we tested it on Linux and Windows and then sent our patch upstream, but it broke something on Windows. So Sun "fixed" it upstream but of course broke the GTK+build again which they clearly didn't test themselves. So now it's in the code, but it is not activated, it's conditionally compiled out. Which is a shame as it's a huge win for startup-performance.

There also is the gstreamer audio/video-support which is not yet upstream, lots of that nasty Microsoft Works file format support, Mono-integration, better Chinese font rendering and so on. You can go to go-oo.org/discover and check the differences out for yourself.

derStandard.at: At the moment the Go-oo releases still trail the ones from OpenOffice.org quite a bit, are you going to improve on that?

Meeks: Yes. We've substantially improved on that recently actually. We are trying to get out concurrently with Sun. Clearly people don't want to be waiting around for bug fixes.

derStandard.at: Lot's of the work you have been doing in the past was focused around performance improvements and reducing the memory footprint. Is this an area where you are still able to make further substantial improvements?

Meeks: Yes, definitely. We have done a lot of work in partnership with AMD actually, because they wanted to get this done for ultra-mobile devices. This helped a lot in getting OpenOffice.org work well with Linux - and the other platforms as well. So we got startup down - on a reasonably fast CPU - to less than a handful of seconds. But cold start is still a problem, we load too much code that we don't really need, which is a bit silly. So the code needs restructuring to improve. And we need to do less I/O, so I'm trying to write some tools to see what I/O we are doing and where it's coming from.

But actually I'm already pretty impressed by the performance, if you for instance look at The GIMP, we now start faster than they do. We're approaching Firefox for warm start, so hopefully the cold start issues can be fixed and we'll be really good.

derStandard.at: Your official position at Novell now is "Desktop Architect", so what's part of this job?

Meeks: [laughs] Writing reports and talking to people. Trying to encourage people to work together more. There are some interesting things we are trying to do to get KDE and GNOME to share more work. And I've been pretty impressed by the KDE-people at SUSE how they embraced that. Moving the desktops together and sharing more code is really key. I mean the interest for us is to reduce maintenance costs, it's said that some 85 percent of the cost of writing software is maintenance. Also there a very sharp people on both sides of this divide, it's good to encourage GNOME and KDE people to work together, you know where there aren't bigger philosophical differences. Clearly we don't want to stop KDE being KDE or GNOME being GNOME, but competing on certain things doesn't make sense.

derStandard.at: So that's not about unifying both desktops?

Meeks: No. We don't want to have uniformity, we don't want a single desktop, clearly having both is great. But encouraging them to work together more closely is useful. And we see really encouraging signs, there's already lots of code that is shared across the desktops now. Having d-bus is a great example, not just because it is shared at all, but also because it is an enabling technology, because you can start to mix and match GNOME and KDE technologies.

Together we have much more power to encourage other people to get involved and reduce fragmentation across Mozilla and OpenOffice.org and all those things if we come along with really good shared infrastructure that's cross-platform. So it's the logical thing to do but the problem is breaking down the divide, some of the totems, the language barriers - all that things.

(Andreas Proschofsky, derStandard.at, 27.07.2008)