Behind the KOffice split

Benefits for LWN subscribers The primary benefit from subscribing to LWN is helping to keep us publishing, but, beyond that, subscribers get immediate access to all site content and access to a number of extra site features. Please sign up today!

On December 6th the KDE Project announced the Calligra Project, which was called a "continuation of the KOffice project." Others, though, might call it a fork or a split between the bulk of the KOffice developers and KWord developer Thomas Zander.

What's been widely publicized already is the plan for the Calligra side of the split. The new suite will contain the existing KOffice applications, mostly rebranded from the originals. KWord now becomes Words, KSpread becomes Tables, KPresenter becomes Stage, and so on. Calligra will roll up eight applications into one suite, with more promised as the project gains more contributors.

The development will also move to Git from Subversion, and will continue to be hosted on KDE Project infrastructure. Though the new name and detailed plan was announced on December 6th, the split has actually been a long time in coming. Cyrille Berger Skott announced the intent to split the KOffice community on October 23rd. As the post indicates, this was after "months of discussion." Some of the discussion has happened on the public mailing lists, and other discussions have taken place off the devel list through KDE's Community Working Group (CWG).

Causes for the split

One thing lacking in the official KDE post about the split is a rationale for the move. There's a terse section in the announcement about "Calligra and the past," but it provides very little insight into the split:

Nearly everyone in the KOffice community has joined together to make this move. Leaving the past behind us, we are excited at this opportunity to make our software more innovative and widely-used. At the same time that the Calligra project is created, we will move from Subversion to Git, making it an even better platform for innovation in the free office space.

Aaron Seigo's post on the matter was a bit more substantive, explaining that KOffice experienced an internal fork:

The fork itself came about through unresolved differences between a member of the KOffice team and the rest of the members over how to manage both long term targets and day-to-day development. This eventually resulted in people coming to the conclusion that those differences were not only unresolved but also unresolvable. To call a one person schism a fork may seem a bit overly dramatic, but that's certainly how it felt to those involved and was not a triviality. Coming to a fork, the rest of the KOffice team took the opportunity of change to rethink various aspects, including the name.

What's not been said here is who isn't joining together for the move. That would be Zander, a former Nokia employee (Zander says he resigned a while ago), who is the KWord maintainer and co-maintainer for the KOffice libraries.

Reading through the koffice-devel list, a lot of fingers are pointed at Zander, while he points to Nokia's involvement in KOffice. A discussion in July over a post made by Zander to the KOffice.org front page demonstrates a fair amount of tension between Zander and other KOffice developers. The source of contention, in this case, stems from a posting by Zander about some ideas for the direction of KWord development. This typically would not raise eyebrows in a FOSS project, but Zander originally chose to use the front page of the KOffice.org site, apparently without much agreement on the ideas or the placement of the post.

The placement of the posting, however, was not the only bone of contention. Asked via email about the split, Zander says that he was running into differences of opinion with Nokia-sponsored developers who have been trying to add features that mirror Microsoft Word and PowerPoint for Maemo/MeeGo use:

As you probably know, Nokia has been working with some KOffice members for about 18 months to create an MSOffice documents reader to run on Maemo/Meego. For this goal Nokia demands a lot of features to be added that Word/Powerpoint have. There are some 10 people working full time to add those features. As the maintainer of KWord and a co-maintainer of the koffice-libraries this work was becoming a problem for the goals of releasing an end-user-ready version. More regressions than I could fix in my spare time and requests to those full-time authors to write new unit tests and to take care not to break unit tests etc. were ignored. I saw 4 years of work that went into KWord2.x going in a direction that was not going to let me release a version an actual user could edit with for a long long time.

In the end, Zander says that other KOffice developers said "MeeGo had a deadline and they had to deliver or else," with a request to help them out. Zander says he declined, and that prompted the request to split KOffice which he agreed to. "I am not opposed to that; the goals of the two teams [are] just too different."

Zander claims that Nokia is responsible for the split, saying "lets call this whole thing what it is, a fork off of KOffice focusing on getting it ready to render MSOffice documents properly and getting it working for Meego using the ways of working that Nokia uses for such projects."

Berger Skott disagreed that the blame lies with Nokia, and said in email that KOffice work is relatively balanced between paid and unpaid developers:

Between Beta 4 and RC1, there have 229 commits, by 25 authors, 14 are paid developers, to the exception of one who is paid by the NLNet, the other are paid directly or indirectly by Nokia, six of them started as koffice volunteers developers, one comes from KDE, they made a total of 105 commits. The other 11 developers are volunteers, they did 120 commits (the four remaining commits were made by the internationalization script). As you can see this is rather balanced.

In a post on his blog, Berger Skott agrees that the goals and vision for the two projects are different. In IRC, he said that "we believe that the person who does the work is the one who [gets] to decide, all developers are treated equally and contribution is accepted, whether from community or paid developers, while Thomas is favorable to a stricter control on the code." He added that "community issues between him [Zander] and other members started a long time ago." Indeed, Zander had been asked to leave the KOffice project once prior, and came back in February 2008 with a promise to avoid non-technical discussions. Strictly speaking, that didn't happen.

It's unclear how many developers will continue to work on the non-Calligra suite, but Zander did ask for volunteers to continue KOffice and says "I have received various people's blessings and know I am not alone in this endeavor, and that does make me feel pretty good about this."

Zander says that Krita and Kexi will be removed from the current KOffice tree, as they are "too big to be without a maintainer," but that development will continue on the rest:

The other apps share the majority of their logic in the libraries and they will continue to be developed on; now with an even stronger focus on getting end-user-ready. So if users were annoyed that it took [so] long to get KWord in a decent shape; the biggest hurdle has not been taken away and we should move towards a better version much faster.

Moving forward with Calligra

Regardless of who and how, the Calligra team is energized now and might be in a position to put the suite on the map. Seigo noted in his post that the Calligra team is charged up and now has the challenge of tapping the momentum and "building a healthy, dynamic community with real leadership around it and a coherent vision under it."

The community building is taking place on the calligra-devel list. There's currently discussion about whether to elect maintainers and how to handle problems with individuals or conflicts if or when they arise in the future. Nothing has been decided yet, however.

On the technical side, much has been made of the Nokia/MeeGo influence on Calligra already and possible use for mobile devices. Berger Skott writes that Calligra is not mobile oriented:

Lets be clear, it is not true. Calligra is focused on developing technologies related to office and creativity applications, on top of those technologies, the Calligra project is delivering a set of desktop applications and mobile applications (and maybe tablet, in the future). All of it is [built] over the KDE technologies, using the Qt toolkit, which makes it potentially available to an incredible range of devices and operating system: Linux, Windows (desktop and mobile), Mac OSX, Symbian, Meego, Haiku (and maybe Android, iPhone, WebOS...), using a desktop computer, a laptop, a mobile phone, a tablet, your TV... And all with an user interface that is most suitable for your form factor.

But he adds that Qt and KDE availability is not enough to make Calligra work on those platforms, and that the majority of the volunteers are targeting the Linux desktop, with Nokia supporting MeeGo and mobile phones.

Despite the fuss over the launch of Calligra, there is still one KOffice release to come. The KOffice 2.3 release is being prepared now, with the first release candidate out as of December 9th. The final release does not have a set date, but will be released when all release blockers are fixed. The first Calligra release will be 2.4, and the schedule and feature plan for that haven't been set yet.

Now that the Calligra team is finding its footing, one hopes that it (and whatever rises from the other half of the KOffice fork) will be successful in providing a competitive productivity suite. The harsh truth is that KOffice as a whole has not been terribly successful as of yet. The FOSS community could use another office suite that can hold its own against Microsoft Office, maybe this restructuring will provide the foundation for Calligra to meet that need.