|
|
Subscribe / Log in / New account

Behind the KOffice split

This article brought to you by LWN subscribers

Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.

December 14, 2010

This article was contributed by Joe 'Zonker' Brockmeier.

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.


Index entries for this article
GuestArticlesBrockmeier, Joe


(Log in to post comments)

Behind the KOffice split

Posted Dec 14, 2010 22:31 UTC (Tue) by rvfh (guest, #31018) [Link] (8 responses)

KOffice reminds me konqueror: very nice and ambitious, but never quite up for the task, and eventually forgotten because bigger names fill the space.

I just hope that this will never happen to KDE as a whole...

Behind the KOffice split

Posted Dec 14, 2010 23:01 UTC (Tue) by martinfick (subscriber, #4455) [Link]

konqueror may be forgotten by many, but its code still powers all the webkit based browsers out there (Safari, Chrome...)!

Behind the KOffice split

Posted Dec 14, 2010 23:19 UTC (Tue) by iabervon (subscriber, #722) [Link] (5 responses)

Konqueror drove khtml development to the point where it was a suitable base for Apple to do the last mile to get webkit. I don't think I'd be particularly sad if what is currently KWord ended up as ODT support in Chromium, particularly if it also contributed behavior towards HTML5 contenteditable support. There are worse fates for an open source program than to be supplanted by a program based around a fork of the library that provided most of its functionality.

Behind the KOffice split

Posted Dec 15, 2010 3:42 UTC (Wed) by mrshiny (subscriber, #4266) [Link] (4 responses)

Well, Google and Apple get all the credit in the mainstream for WebKit and meanwhile the Konqueror people are still relatively unknown. Not to mention that Safari is proprietary, and Chrome quasi-proprietary.

Behind the KOffice split

Posted Dec 15, 2010 8:18 UTC (Wed) by ingwa (guest, #71149) [Link] (3 responses)

I think most people are missing the point here. For KHTML, the code was copied from the KDE repository by Apple and then developed away from the community for a long time until it was released as a big code dump with so many changes that it was basically impossible to merge back into the main branch.

In the case with KOffice / Calligra and Nokia, the code is developed inside the main repository and committed one bugfix or feature at a time. For new features and complex bugfixes there is a review process using the KDE review board.

The situations have almost nothing in common.

Behind the KOffice split

Posted Dec 15, 2010 14:18 UTC (Wed) by marcH (subscriber, #57642) [Link] (1 responses)

> The situations have almost nothing in common.

For now?

Since you seem to know the situation well, could you please remind us what are the respective licences of all these?

Behind the KOffice split

Posted Dec 15, 2010 14:50 UTC (Wed) by ingwa (guest, #71149) [Link]

Well, it's difficult to tell the future, but I have seen no signs of any change in the approach.

Regarding licenses, the majority of Calligra is under LGPL with some small parts under GPL. All code contributions so far have been under LGPL.

Behind the KOffice split

Posted Dec 15, 2010 17:07 UTC (Wed) by ThinkRob (guest, #64513) [Link]

I think most people are missing the point here. For KHTML, the code was copied from the KDE repository by Apple and then developed away from the community for a long time until it was released as a big code dump with so many changes that it was basically impossible to merge back into the main branch.
Indeed. After the community complained, however, Apple opened their repositories, and eventually produced the open-source WebKit engine -- a project which Apple still sponsors (and employs the lead developer(s)) to this day.

Behind the KOffice split

Posted Dec 15, 2010 9:33 UTC (Wed) by mlankhorst (subscriber, #52260) [Link]

I'm afraid I have to disagree. In the 3.5 era konqueror was still pretty solid as a browser. Currently konqueror 4.5 with KWebkitPart is able to display pretty much all the pages again including gmail with the talk applet. I still prefer konqueror about dolphin for file browsing too, kio makes it a very powerful browser.

Behind the KOffice split

Posted Dec 15, 2010 6:57 UTC (Wed) by jamesh (guest, #1159) [Link]

Asking that contributors not introduce test failures seems like a fairly reasonable request. Requiring them to include tests for new functionality also doesn't seem like a big ask if the infrastructure to write those tests exists.

I'm kind of surprised that Nokia would want to contribute to a project and not ensure that other contributors don't break all the features they've added.

Thank you LWN

Posted Dec 15, 2010 8:11 UTC (Wed) by niner (subscriber, #26151) [Link] (8 responses)

This is what I pay my subscription for. When I read the fork announcement, I thought: "ok, they got rid of an unreasonable and unsociable maintainer". Thanks to this article my view may be just a little more balanced right now.

They got rid of him to be able to develop without maintaining a proper test suite? To focus on competing with Microsoft Office instead of getting the product ready to use first? Talking about unreasonable...

I still don't know much about the whole thing and considering that there were problems before, Zander might be difficult to work with. But that's far from my original thoughts and I thank LWN and Zonker for showing me his side as well.

Still leaves the question, what the best way forward would look like. For me personally, I would happiliy switch to the fast, nice looking, powerful, userfriendly and power saving koffice/Calligra if it's ODF compatibility (meaning being able to open my OpenOffice.org documents) was a little bit better...

Thank you LWN

Posted Dec 15, 2010 8:44 UTC (Wed) by ingwa (guest, #71149) [Link] (5 responses)

Quote: They got rid of him to be able to develop without maintaining a proper test suite? To focus on competing with Microsoft Office instead of getting the product ready to use first? Talking about unreasonable...

This is bullshit!

Some points:

* The drive towards end user readiness was proposed one year before Thomas at the KOffice sprint in Oslo. By me, in fact. At that point Thomas was dead against it, wanting to work on the libraries instead.

* The so called new features that "were in the way of making KWord user ready" were mostly bugfixes. For instance, in one of Calligra / KOffice the keys PageUp and PageDown works, in the other not. I will let you guess which community has implemented this "advanced feature".

* Calligra is not focused on mobile. We want to create an architecture that allows many different user interfaces. One of them is a UI that works for mobile. However, we also maintain the desktop version. If you look into the mailing list of Calligra Suite right now, you will see several usability improvement initiatives that are not done or even wanted in KWord.

* It is true that a lot of effort was put into import filters for MS formats. I fail to see why that isolated effort would impact end user readiness for the applications.

Finally, regarding end user readiness, I think it consists of two parts: lack of bugs and a usable user interface. The text layout a year ago was very bad with lots of bugs. A lot of the effort at that point went into fixing text layout bugs, leaving the KWord maintainer to fix problems in the user interface. In no way did the bugfixes impact any user visible parts of the UI except for improving rendering of document contents. Needless to say, we hardly saw any such UI improvements.

Thank you LWN

Posted Dec 15, 2010 9:52 UTC (Wed) by rvfh (guest, #31018) [Link] (4 responses)

What about the alleged breakage or lack of unit tests? Could you please shed some light on that point too?

Thank you LWN

Posted Dec 15, 2010 10:17 UTC (Wed) by halla (subscriber, #14185) [Link] (3 responses)

Thomas complained that a long-standing community member who had been helping a summer of code student with the tables feature had not delivered the exact set of unittests he had requested and refused all further contributions from that community member after he joined KO GmbH.

Despite being the only free software suite that actually has a set of unittests (with about 25% code coverage) there are problems with the architecture Thomas designed for the text editing feature that make writing unittests in this particular area very hard or even impossible, so it was a convenient tool for him to make people's work impossible. (And there's not just unittests, we have a set of over 3000 documents that are tested after every commit. This set was provided by Nokia, by the way.)

As for breaking stuff... Well, I'm sure that happened. Basically, KWord's layout engine is not just very complicated, it's also really brittle and buggy. Basically, unmaintainable spaghetti code, so everyone who touches it breaks stuff, including Thomas. And even if it were great, where work is being done, stuff breaks.

Thank you LWN

Posted Dec 16, 2010 15:27 UTC (Thu) by cesarb (subscriber, #6266) [Link]

> we have a set of over 3000 documents that are tested after every commit

Does LibreOffice also test against that set of documents?

Thank you LWN

Posted Dec 20, 2010 19:28 UTC (Mon) by k8to (guest, #15413) [Link]

> Despite being the only free software suite that actually has a set of unittests

Do you mean the only free software office productivity suite? If so, what are the candidates? OpenOffice, KOffice and .. is there another entrant?

I'm not mocking, I just don't really know what's being implied here. If the statement is essentially "we don't have full coverage and we'd like more, but OpenOffice has none", I find that pretty informative, if somehow personally unsurprising.

Read flatly, it seems to imply that you're the only free software suite of any sort that has unit tests (not sure what comprises a suite.)

Tried Monkey Testing?

Posted Dec 29, 2010 16:26 UTC (Wed) by gmatht (guest, #58961) [Link]

I was just wondering if you had tried monkey testing. Dumb monkey tests only find crash/abort type bugs, but that is certainly good start. I wrote a script to perform Monkey tests and related tasks: spamming millions of keypresses, detecting crashes, finding minimal recipes to reproduce the crash, automatically finding the changeset that introduced the crash and so on. At the moment I've mostly used it on LyX (on which is has found about 60 bugs), but I am making it more general, and it has found a bug in abiword.

http://blogs.tucs.org.au/frsi/programme/#mccabe
http://dansted.co.cc/Mon-Keytest.html
https://github.com/gmatht/Jankey

My goal is to get it so that you can just point it at any project and press go. It is still rather finicky at the moment however.

Thank you LWN

Posted Dec 16, 2010 22:25 UTC (Thu) by k3ninho (subscriber, #50375) [Link] (1 responses)

>They got rid of him to be able to develop without maintaining a proper test suite?

A colleague who was at Nokia told me of the horrors of their build system and regression testing process. But that was over 18 months ago and may have improved so that there is some unit testing / integration testing going on. I don't know the facts right now but trust Nokia to meet their duty of care to ensure that they provide high-quality software.

I was also told that Microsoft were being paid by Nokia to develop Office tools on QT for Meego, which causes me to question the 'Office compatibility' part of the story.

Take care.
K3n.

Thank you LWN

Posted Dec 17, 2010 8:40 UTC (Fri) by halla (subscriber, #14185) [Link]

At the moment at Nokia, software has to have a certain % of unittest coverage and no failures to be released. Btw, Microsoft is working on a Qt-based version of their Office for Symbian, not MeeGo. Office for MeeGo is going to be Calligra-based.

Kalligra?

Posted Dec 15, 2010 23:10 UTC (Wed) by hingo (guest, #14792) [Link] (1 responses)

Surely this is a typo and the real name of the fork is Kalligra? Yes?

Kalligra?

Posted Dec 16, 2010 12:14 UTC (Thu) by armijn (subscriber, #3653) [Link]

No. KDE developers are phasing out the excessive use of 'K' :-P


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds