Back to article
Building a New KDE
Starting from Scratch
January 31, 2008
How do you produce a major update of a popular desktop for GNU/Linux? Following the January 11 release of KDE 4.0, I talked with Wade Olson, the press contact for KDE in North America, and a member of KDE e.V., the German non-profit organization that is the financial and legal arm of the project. Olson talked about the goals of the release, its highlights, what was left out, and where development of KDE is going next.
According to Olson, planning for KDE 4 began nearly two and a half years ago. About then, he says, "People realized that they were reaching the current capacity of the code base." While nothing was wrong with the KDE 3.x code, Olson says, "Any code base that has been used successfully and built upon for four or five years will start to show its age, and become patched and inelegant. Don't get me wrong - it's not like the code base has been thrown out and we've started from scratch. but this was an opportunity to do a significant refactoring."
Besides, the community was aware that a new version of Qt, the programming tool set used in KDE, would be due, and core libraries for the desktop would need to be rewritten to take advantage of it. Add the fact that the community was hoping to expand the use of the desktop beyond workstations and take into account the proliferation of laptops, handhelds, and mobile devices, and the time for change had clearly arrived.
The realization sparked an explosion of effort. Exact figures are hard to come by because of the informal nature of free software development and the fact that teams often committed their work as a whole rather than individually, but Olson estimates that in the last few months of development, some 250 developers were submitting up to 2500 code changes per week. When non-developers such as graphic designers, translators, and marketers are included, as many as 400 people were working on KDE on a daily basis during that time--and even that does not include the developers working on independent projects like KOffice and amoroK, or the developers who liaised with KDE to incorporate the finished result in their distributions.