FOSDEM is the biggest free and non-commercial event organized by and for the community. Its goal is to provide Free and Open Source developers a place to meet. No registration necessary.


Interview: Boudewijn Rempt

Boudewijn Rempt will give a talk about "Calligra Under the Hood — Using the Calligra Suite Office engine in your own applications." at FOSDEM 2011.

Could you briefly introduce yourself?

Well, I started out at University studying Sinology. From there I moved on to specialize in comparative and historical linguistics, focusing on the Sino-tibetan languages of Eastern Nepal. But all the time I had been coding, and when I had to decide what to do after getting my MA, I decided to try writing software for a living.

Also around that time, ca. 1994, I came across Linux and the ideas of Free Software. My first free software application was, ahem, written in Visual Basic. It was a mail and usenet client for the waffle uucp system. But when it was perfect for my requirements, my wife and I left Windows for Linux full-time! Then I started working on a language database application, Kura. This was done in Python and Qt, and as a result I wrote a book on PyQt. Great technology!

From there, I moved on to working on Krita, because I had a new graphics tablet and wanted to paint. I'm still the project maintainer, and last year we've finally managed to get a really good end-user-ready release done! Since Krita was part of KOffice, I became involved in that community as well.

Together with a friend from the KOffice community, Inge Wallin, and relative outsider Tobias Hinze, we founded a company KO GmbH, around the idea that quite soon expertise about KOffice and open document standards was going to be in demand. That turned out to be right: with Nokia looking for a free software office product to integrate into Maemo and various governments wanting to open up their documents more and more, we've been quite busy over the past two years!

It's not all hacking that I do, though -- I'm also a part-time sculptor.

What will your talk be about, exactly?

Over the past year, there have been numerous attempts at using the Calligra office engine in various projects, both free software and closed -- which is fine since the engine is LGPL. I've talked to people who were doing vertical-market applications, like a portable medical file editor, we've seen Calligra end up in Calligra Mobile, formerly known as FreOffice on Maemo. I've seen applications based on traditional QWidget technology, on QGraphicsView technology and Qt Quick/QML applications embedding the Calligra engine.

Calligra makes that sort of project very feasible -- one of the goals inside our community, apart from making an awesome suite of desktop applications, is to make the Calligra engine kind of the Webkit of the office world: a really capable component that you can use to add the capability to view and edit office documents to your own applications.

This presentation is going to be very technical. I will first show the basic architecture of Calligra, then go through the steps needed to integrate Calligra into a QML application -- and I will go through the main pitfalls as well. There are still a number of rough edges because we're only now in the process of finding out, through trial and mistake, what is really essential and what is superfluous.

What do you hope to accomplish by giving this talk? What do you expect?

Calligra is still relatively unknown -- and we do have feature gaps, like saving to Microsoft Office document formats -- but with this presentation, I hope that people realize that Calligra is a good option to consider whenever you need to show or edit office documents -- on a desktop, on a tablet, on a mobile. This flexibility is really where Calligra shines!

And of course, our community is a really welcoming place. There's lots of interesting work to do on a variety of projects, and if my talk makes people check our community out, and maybe give them the idea that it would be cool to get involved... Well, welcome!

At the end of 2010, the KOffice community decided to split, and Calligra is roughly the continuation of the KOffice community without the KWord maintainer. What struck me is that after this difficult experience, the community remained polite and civilized and just went on without making a fuss about what happened. Can you give some advice to other open source communities about how to handle a split or fork?

Oh man, that was a tough period, really tough. And there's still hurt all over the place. What's important though, is to realize that, yes, there's polarization, there's a split, there's anger -- but if you're on one side and realize that the other side also feels that hurt, then you know that the worst thing you can do is let your "righteous" anger run riot.

The situation for KOffice/Calligra was quite unusual in many respects, with KOffice being part of the wider KDE community. KDE has a code of conduct, it has a Community Working Group, which tries to mediate and resolve issues like this. I think I'm right in saying that without the CWG, we would have ended up fighting on the street -- so a big thank you to these people is in order!

And that's the second piece of advice: if there's such an acrimonious situation in a project, where people can't communicate with each other anymore, you're not going to get out without third party involvement.

What are the unique selling points of Calligra compared to other open source office suites?

The codebase is relatively small, at under a million lines of code for all libraries and applications, and it's relatively modern, having been rewritten extensively from 2006 onwards. There's a lot of functionality packed in those lines of code as well: not just the wide set of applications, with word processing, presentations and spreadsheets covered, but also vector art, raster graphics art, project planning, diagramming and a database application.

Calligra is based on a concept of having small, fine-grained objects making up your documents, and so the text handling is done through the same plugin in all applications, for instance.

We also do have a pretty good set of import filters for various formats, and most of those filters are rather special in that they convert to OpenDocument. They are small standalone programs that can be reused in many ways.

Also, we've got quite a nice set of unit tests and there's a document database that we regularly run through the applications to check for regressions.

And of course, there's the community!

Which new features can we expect in the Calligra Suite in the near future?

Calligra Words will be majorly overhauled. The KWord 2.3.0 user experience is, frankly, not good -- and the text layout engine needed some really deep and hard work. Casper Boemann, the Words maintainer, is working on both issues now, and the first results are very promising.

We expect that Kivio will return in Calligra 2.4 as Flow. There's a new maintainer, Yue Liu from Beijing, and Jan Hambrecht, the Karbon maintainer, is back as well, and he's working on connectors for graphical shapes -- this will help a lot getting Flow back on track.

There'll also be a major new application based on Calligra, Braindump, by Cyrille Berger -- an idea outliner.

Have you enjoyed previous FOSDEM editions?

Actually, I've only ever been at one FOSDEM before -- and only the Saturday afternoon. I liked to see the enormous crowd of geeks. My wife went on her own last year, to do booth duty at the KDE stand, but I skipped it. This time we're coming together.

Creative Commons License
This interview is licensed under a Creative Commons Attribution 2.0 Belgium License.