Saturday, March 15, 2008:
The KDE 4.0, the latest version of KDE desktop environment, was released recently. On this occasion, we reached out to the founder of KDE project, Matthias Ettrich who started the KDE project back in 1996. Almost 12 years down the line, he's now working at Trolltech, hacking Qt. Here is what the KDE-Man had to say...
How did KDE begin?
The time was just right in 1996. Linux was popular enough that it had plenty of developers and users who were interested in graphical user interfaces, as opposed to the early console-only hackers, as Microsoft shocked the Free Software world with Windows 95. It may sound unbelievable, but back then, many hackers thought something like Windows 95 could never be matched with Free Software. How wrong they were!
How much time do you contribute to the development of KDE now?
ME: I haven't done specific KDE coding work in a while. Everything I have been doing goes into Qt. But since Qt is a part of KDE, or KDE a superset of Qt, I still consider myself a KDE programmer.
So, what is your role at Trolltech?
ME: Until this year, and during the entire Qt 4 development phase, I've been Trolltech's head of the Qt desktop development unit. As vice president, engineering, I've been a member of the management team, and I've also been a member of the board of directors. I didn't want to miss the fun and the experience I gained from that, but after all those years I wanted to move back to my home country. Since the summer of 2006, we've been building up a new development site in Berlin/Germany for Trolltech, so currently I'm general manager of a pure development office as well as a senior software engineer. My successor in Oslo (in the VP engineering role) is another guy from the KDE project: Lars Knoll, the creator of KHTML. So Trolltech will remain as KDE-friendly as ever.
Firefox, OpenOffice.org and many other FOSS tools are becoming popular on the 'Windows' platform. Where do you see KDE on Windows?
ME: When you say KDE, there're at least three of them: the development platform, the desktop and the set of applications built on top of that platform. You will always get the best KDE experience when using all three combined. Nevertheless, the KDE team did a tremendous job to ensure that not only the underlying Qt libraries, but also the additional KDE libraries and technologies were portable. This makes it possible to develop true KDE applications on MS Windows, and in return, to use KDE applications on MS Windows. For application developers, this means more potential users, which to some is an important motivational factor: now your friends can use your applications without having to install Linux first.
And more users mean more developers, since developers of free applications typically start as users. My hope is that Windows users will fall in love with some of the apps, and some will eventually join the development team. Keep in mind that the real strength of a Free Software project is the number of developers, not the number of users. If the setting is correct, users eventually become developers, but this isn't a given. Many things have to fit together to make this happen. Last but not least, you need a friendly and helpful community and a powerful framework with a not-to-steep learning curve. KDE is very strong in both, so we are looking ahead to a very bright future.
Vista seems to be Microsoft's swan song. Do you think it is the right time for FOSS to hit hard and take over the market?
ME: The desktop problem has been solved many years ago. I mean, try to compare Windows XP with KDE 3: nobody in their right mind would choose Windows over GNU/Linux based on the desktop experience alone. The Web problem has also been solved. Microsoft clearly lost the Web war -- they failed to enhance the Web in a proprietary way. What remains are some legal issues on the multimedia side that can be mostly worked around, the office documents formats issue and the flood of applications that only run on Windows, mostly games.
What we need to get across to the software developers is: write portable software -- it's easy, it's doable and it's feasible; simply use KDE/Qt or Java technologies. With Qt Jambi, you can even write KDE applications in Java. Microsoft Office is still a major hurdle; we need more governments and companies to have the bravery to standardise on truly open formats. A proprietary undocumented text format as the de facto standard -- and that's what .doc is -- is a shame for all parties involved. It's like using a special patented ink that can only be read with special patented sun glasses. Who would want to use that for all their scientific, private and business documents? Probably nobody. Why they do so with computers is beyond me.
How would you compare KDE 4 with Vista or Mac Leopard? In your opinion, which is the best and why?
ME: From a user's perspective, they play in the same league; so yes, you could do a feature-by-feature comparison. And, weighing certain features differently, different people will probably draw different conclusions on which one is the best. But that's mood.
To me personally, two things matter the most. First, how easy is it to develop applications that really utilise the power of the underlying platform? Keep in mind that those 'desktops' really are software development platforms, what you see on the screen is just the tip of the iceberg. And second, is it free, in the liberty sense of the word? Do I get the source code? Can I learn from it? Can I modify it? Can I share my modifications with others? Imagine where the world of computer science would be without Free Software! How much secret knowledge would be kept behind closed doors? Without us, people would study computer science and programming without ever having seen a real program in its entirety. That's like becoming writers without ever having read a complete book.
Many consider Plasma as the main highlight of KDE 4. Also, according to many, the new interface has taken a lot of design ideas from Mac. However, the UI team may have something else in mind. What were the major requirements proposed by the team?
ME: You don't need to go to the Mac to seek inspiration. KDE3 had SuperKaramba, which might have been inspired by Konfabulator, or not. The basic idea isn't all that new. There have always been small applet programs on X11 desktops -- the predecessors of today's desktop widgets. KDE's panel had them since Day 1. What's new to Plasma is the simplicity to create your own plasmoids. And that's not a Mac feature, but rather the fact that underlying technologies like SVG and scripting are ready and cry out loud to be used.
Despite Plasma and other assorted eye-candy, it's claimed that KDE 4 uses 40 per cent less memory compared to KDE 3. Is the claim valid? How did you achieve this, when the general trend is more features, and eye-candy requires more hardware power?
ME: There is typically no simple and straightforward fix when a program is slower than it should be, or uses more memory than it should be using. If there was a simple fix, it would have been done already. That's the power of Free Software. Anybody who cares enough can run a profiler and fix it. What we have done during Qt4 development was to carefully redesign many core aspects of Qt, with memory consumption and runtime behaviour in mind. The sum of all these thousands of changes ends up showing a significant effect.
I still would be very careful with claims that KDE 4 is going to be faster than 3. For the same features, it's probably true, but I fully trust the developers to find creative ways to spend the extra CPU cycles on new stuff. The performance part I care the most for is boot, log-in time, and application start-up time -- something we have already become quite good at.
Qt 4 is tagged as a major improvement over version 3. What are these improvements?
ME: Qt 3 came out in 2001, Qt 4.0 in 2005! We are now about to release Qt 4.4. Among the major improvements in the 4 series are: A new graphics system that makes modern SVG rendering possible. All the eye-candy with alpha blending, anti-aliasing, and gradients is possible because of this. Much stronger multi-threading support, so we can benefit from the multi-cores that have become common in the past few years. The speed and memory consumption issues we have already talked about. A set of new widgets with CSS styling capabilities. New tools, like our visual designer, assistant, IDE integrations, etc. It's open source across all platforms, including Mac OS X and MS Windows.
What follows the release of KDE 4? Any other major projects that you are working on currently?
ME: Apart from Qt 4.5 there's indeed another project. Unfortunately, I can't talk about it right now, but you will hopefully hear about it soon.
Do you have any plans to visit India? What do you want to say to the developer community in India?
ME: With a little daughter at home, I don't travel much at all these days. With regards to the development community in India, I think it's awesome to see the FOSS community getting stronger. India is a major commercial software development centre, home to some of the world's largest software companies, and there's no reason why it shouldn't play a similar role in the Free Software space. Remember: our biggest challenge in the short run is to get more cross-platform software, software that is portable and that also runs on free operating systems.
The technology is there; it's Qt and KDE, with either C++ or Java. Imagine some of the big Indian software development companies using their technology influence to push cross-platform solutions to their overseas clients. What a boost that would be for Free Software!
-- Swapnil Bhartiya
Swapnil Bhartiya, EFYTIMES News Network