Inteview with Matthias Ettrich

Talking with the creator of KDE about its roots and its creation.

Matthias Ettrich is the creator of the KDE desktop environment. Below, Aleksey Dolya interviews Matthias about the process of creating KDE and what he's up to these days.

Aleksey Dolya: Matthias, could you tell us a little bit about yourself?

Matthias Ettrich: Sure. I was born in 1972 in southern Germany. My first computer was a Commodore C64 that I bought with my brothers when I was about 12. I simply got hooked, that was exactly what I wanted to do. Later, I forgot about computers--there's more interesting things in life for a teenager--until I started studying computer science at the university of Tuebingen. The MS-DOS stuff at that time was frustrating; I kind of couldn't see the real progress to what we already had on the C64. GNU/Linux I discovered a year later, and with it the fun came back to computing [for me].

Privately, I'm living happily with my fiancée and two black cats in a small flat in Oslo. There's a fitness center right across the street, which adds to my constantly guilty conscience of not working out enough. We have an acoustic piano inside the apartment. After having turned 30, my sense for classical music came back. At present I'm practicing my way through Beethoven's piano sonatas, which likely will keep me busy another decade. Apart from that, we try to take advantage of Norway; in wintertime this means skiing. While Norwegian downhill areas are small compared to the Alps and are essentially sun-free, the fine powder snow easily compensates for it.

AD: Could tell us about the creation of KDE?

ME: Around 1995 I became a real GNU and Linux fan. I was so convinced by the system that I couldn't understand how fellow students, no matter what they studied, could bother with Windows 3.1--no multitasking, 16-bit address space, permanent crashes, horrible icons, ugly fonts. There really was nothing good one could say about it, but it was popular. The application used most was Word 2.0, despite the steep price, the instability and the poor end results. Students manually were splitting up their documents into smaller chunks, because their word processor couldn't handle more than 10 pages safely at once. We [GNU and Linux] and had TeX and LaTeX, which were easy to use, produced great results, never crashed and were free. Why would anybody not want to use them?

Back then, Microsoft was far away from victory, so I was unwilling to believe in technology lock-up theories. Rather, I blamed existing software and its lack of end user focus. This was when I started to write a graphical front-end to LaTeX, which later became the LyX document processor. Although the project really didn't stop the success of Word, it turned into a successful free software project with an active development community, and it taught me how free software projects work internally.

On the downside, I learned that a word processor alone wasn't enough to make people consider GNU/Linux as a serious alternative. Windows 95 was about to replace most 3.1 installations, and with it more powerful GUI applications became standard. Even small details like the file dialog were light years ahead of anything possible on X11 at that time. Drag and drop were everywhere, and network protocols such as HTTP were built into the system and thus available to any application through component technology. And, worst of all, it actually no longer looked so bad. In fact, it looked quite similar to Motif, just a slightly lighter gray--a fantastic default background color--and a more sophisticated button shadow.

In the following months I played around with different alternatives to improve the situation. I tried most toolkits I could get my hands on and did smaller hacks to different window managers. Luckily, I was studying computer science at that time, which in Germany translated to having lots of spare time and a fast internet connection.

Eventually I discovered the Qt GUI toolkit, which was the first toolkit I tried that didn't look vastly inferior to what was happening on Windows. The reason was Qt was running on Windows as well, thus it had to emulate the powerful Win32 controls. I got so excited by its possibilities that I posted a project invitation to various news groups. Martin Konold, who I knew through the LyX project, was setting up some services, FTP space and mailing lists, so we waited. The response was immediate and tremendous, a clear indication that many people in the community were thinking about exactly the same issues and looking for ways out. The timing was just about right. A few days later, we had more than 40 seriously interested software developers on the mailing list; then, we agreed on the most important items and started coding.

At that point in time, the choice of the Qt toolkit simply was a suggestion of mine. It was heavily disputed. Many were not happy with the license it had back then. Another technical disadvantage was it's hardcoded look and feel, either Motif or Windows. But this was compensated for by the intuitive API, and writing new software was what we foremost wanted.

We felt we could deal with the other issues later, and time has proven us right. When I joined Trolltech two years later, my first assignment, one that I gave myself, was to introduce stylability into Qt. My second personal assignment was to improve relations with the KDE community, which meant pushing towards license changes--first open source and later GNU GPL.

Those were strange times. While we in KDE were heavily defending Qt's licensing in public as something not so important for the time being, some of us were working on a free Qt clone while others were trying to influence Trolltech. Ironically, most hackers at Trolltechs had a background in the Free Software community. They could easily picture themselves attacking Qt on mailing lists and coding GTK+ instead, given things had gone slightly different for them personally.

Good intentions were always there, but so was the fear to cut off the revenue stream required to ensure further development on Qt. All Trolltech wanted to do was develop a GUI toolkit for a living; the challenge was to learn that this was possible with the GNU GPL. It had not been tried with a software library before, and nobody knew how the market would react or whether it understood the complex licensing terms.

AD: What tools did you use to create KDE?

ME: We used everything that was available: news, mail, Web, IRC, GCC, flex, bison, bash, automake, autoconf, Perl, you name it. And of course, the Qt GUI toolkit, which together with our C++ bias was the most disputed choice.

All the tools had one thing in common: they were free software or at least freely available in source code. While freedom of tools doesn't guarantee the success of a software project, it's a necessary precondition. Imagine KDE developers would have had to buy the OS, the compiler, the revision control system client, the editor and so on. How many contributors would we have gotten, if any?

AD: How do you find the current popularity of KDE?

ME: Beyond all expectations, really. We see more and more contributors, more languages, more applications. And we see KDE code move onto other platforms. Recently Apple came up with their new browser for the Macintosh, which they built on top of KHTML and KJS, two of the more important pieces of KDE technology. Thanks to KDE's use of the GNU (L)GPL and Apple's cooperation, we not only will see improvements in Konqueror soon, but we also vastly increased the development and maintenance team of our HTML render component. The fewer people that browse with MSIE, the better for the Web.

AD: Could you compare KDE and GNOME? At first glance, they seem to have different interfaces and themes, but the functionality is the same.

Both projects are similar in that they have two, often distinct, target groups, the end users and the application developers. We try to make end users enjoy our look and feel, and we empower application developers to write powerful and compliant applications. KDE is about getting more and better software for GNU/Linux; that is, ultimately the APIs and back-end systems are more important than its surface. The comparison of the development frameworks I would rather leave to others; a lot of it is matter of taste. Generally speaking, both have similar goals, and thanks to common and mutual inspiration we often made similar choices. This is stressed by the fact that today there is cooperation between both teams on almost any level.

AD: GNOME is an industry standard. Why did it happened?

ME: I assume you mainly refer to Sun's introduction of GNOME as the user interface for Solaris. I don't know the exact reason why they are doing it, but I'm glad the commercial UNIX vendors finally seem to understand, backup and support free software on the desktop. I only wish that came 11 years earlier, when they still had a chance against PCs. Today it means little to KDE whether the few Solaris administrators that also have a Solaris console on their desk use an xterm or the GNOME panel to launch Oracle's Java-based configuration utilities. What matters to us--and to GNOME--is that more and more developers write applications against our APIs.

AD: Do you know Miguel De Icaza (the creator of GNOME)? What kind of relationship do you have with him?

b>ME: We met a few times. I admire his energy and the risk he took in creating Ximian. A business built around free software on the desktop is a big challenge, and with Mono and Evolution they have two very interesting projects in the makings. I truly wish them success and the quantum of luck that every business needs.

AD: What does the word KDE mean? Who is its author?

ME: It means K Desktop Environment. I picked the K not only because it is the letter before L, for Linux, I also liked the pun with CDE. The letter K is pronounced the same as C in many languages. Originally we thought about giving the K a meaning other than KDE, but we gave up that idea before the first line of code was written.

AD: Where do you work now?

ME: I work as director of Trolltech AS in Norway's capital, Oslo. My responsibility is to lead the development of the Qt toolkit for UNIX, MS-Windows and the Macintosh. Thanks to the wonders of lean management and a good HR department, I'm still able to participate heavily in the development work myself.

AD: What is favorite Linux distribution? Why?

ME: Hard to answer; every distributions has its own specific target audience. Personally I do like SuSE for its comfort and its completeness and simply because both my fiancee and I are used to it. But we do run an equal share of Debian machines at work. Given that we have sysadmins to handle the tricky stuff, I'm rather distribution agnostic, at least as long as Emacs and GCC are available.

AD: What are you future plans?

ME: Professionally I'm focusing on the next generation of Qt. Qt today is established technology that has been developed for more than ten years, so we feel it's about time to revise some of its architecture. The wide range of devices it is used on--[everything] from powerful desktop workstations to small embedded devices--leads to new challenges. Interestingly enough, both small embedded applications and the big desktop applications that constantly become more and more complex have one thing in common: they would benefit from a more flexible, smaller and at the same time even faster toolkit. And we believe we can [deliver] exactly this.

In the shorter run, my team will come out with, no surprise, more free software. A piece we are particularly proud of is QSA, Qt Script for Applications. It's a new script binding technology for Qt that makes it easy to turn existing applications into scriptable ones. We'll ship this together with a Java/ECMA-script compliant scripting engine and a graphical script IDE. Let's see whether free software picks and if it finds its way into KDE.

Privately I want to set apart more spare time to do KDE hacking myself, but whether this will become a reality only time can tell.

Aleksey Dolya is a Russian C/C++ programmer interested in network security and software protection.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Inteview with Matthias Ettrich

Anonymous's picture

I can't believe you interview a developer and don't ask the ultimate question:

vi or Emacs!?!?!?!?!

Re: Inteview with Matthias Ettrich

Anonymous's picture

Although he didn't ask this question, the answer is still there :-)

Re: Inteview with Matthias Ettrich

Anonymous's picture

Check the distribution question...

Re: Inteview with Matthias Ettrich

Anonymous's picture

I have done a bit of programming in QT/KDE, and I must admit, it is a _very_ nice API. With KDevelop and QT Designer, you really have first class RAD tools on Unix.

What I'd like to see though is integration of a GUI designer with KDevelop further (Like with Delphi/Kylix), so that say, double clicking a button in your form inserts code into your KDevelop application where you can code what you want that buttonclick to do... Just use Delphi/Kylix and you'll know what I mean.

Re: Inteview with Matthias Ettrich

Anonymous's picture

AFAIK Qt4 (which will be released somewhen in 2004) will bring some improvements to the Qt-designer, so it could be easily embeded in KDevelop by the kde folks.
I think KDvelop3 will be one of the best IDEs, and when QT-designer is embedded, it will be even better.

QKW - native KDE on win32

Anonymous's picture

There is a project started to assure integration you told about. KDE (at least many KDE apps and KDE libs) will be available on win32 for both commercial and free developers/users.

To read more, visit:

http://www.iidea.pl/~js/qkw/

Nice interview =)

Anonymous's picture

I hope there are more to come soon. Its always cool to learn a bit about the future and the developers making your favorite applications.

I also like Qt, even though I have not used it too long yet. I expect nothing but the best toolkit with the most innovative and intuitive technologies went into it and that Trolltech is busy at work on the next version. Qt also has a very nice online manual. (However, many parts of the Trolltech website seriously need to be updated, especially in the "developers" section. http://www.trolltech.com/developer/index.html Much of the information is old.)

Trolltech Website

Anonymous's picture

Its true, the trolltech website is in dire need of update in the Developer section.

Here: http://www.trolltech.com/products/qt/codecomp/index.html?cid=4 It should also have a comparrison to GTK+ which has a C++ binding. But, the ultimate comparrison which might also decide the language is a comparrison between the dominant Java, Python, C, C++, C# Pascal etc. toolkits to Qt. If Qt still keeps its advantages this is by far the most convincing way to advertise Qt. If another toolkit is shorter, say Qt is more flexible or pick another example =p or jsut improve Qt until it becomes shorter while keeping its flexibility.

QT vs KDE as an app API

Anonymous's picture

As I understand it, some developers of commercial software end up coding to the QT API rather than KDE either for licensing reasons or because the KDE API's aren't available under Win32.

On Windows, they get the native file dialogs, system colors, etc. But on unix, they don't integrate as nicely as they could with KDE.

As a KDE developer and a TT employee, I wonder whether Matthias sees this as a problem. And if so, whether he has any power to steer TT to help make native QT apps on unix integrate better with KDE.

Re: QT vs KDE as an app API

Anonymous's picture

This mail from Matthias answers your question: http://lists.kde.org/?l=kde-core-devel&m=101170367405607=2

Re: QT vs KDE as an app API

Anonymous's picture

QKW - native KDE on win32

Anonymous's picture

There is a project started to assure integration you told about. KDE (at least many KDE apps and KDE libs) will be available on win32 for both commercial and free developers/users.

To read more, visit:

http://www.iidea.pl/~js/qkw/

Re: Inteview with Matthias Ettrich

Anonymous's picture

Why is the licence of QSA such that if you use it in an application, the SCRIPTS that you write are GPL'ed?

You obviously have NO desire to see it used in KOffice, everyone would have to GPL their scripts. And, sadly, most big business run on some crappy VBA Excel Macro hackjob.

Sick sick licensing rears its head again. Why does Trolltech keep on doing it?

Re: Inteview with Matthias Ettrich

Anonymous's picture

Lack of licensing understanding rears its head again. Why do the trolls (not the Trolls) keep on doing it?

Re: Inteview with Matthias Ettrich

Anonymous's picture

To quote from the Trolltech QSA FAQ:

Must Qt Script code interpreted by the GPLed Qt Script interpreter, be released under GPL-compatible licenses?

Depends. If you use "bindings" to the Qt library in the Qt Script code, i.e. script something you just as well could have written directly with Qt the interpreted program is effectively linked to Qt. In this case, since Qt and QSA are released under the GNU GPL, the interpreted program that uses them must be released in a GPL-compatible way. (See also the GPL FAQ: http://www.gnu.org/licenses/gpl- faq.html#IfInterpreterIsGPL). If you do not use "bindings" to the Qt library in the Qt Script code, your interpreted program does not need to be GPL-compabtible.

Re: Inteview with Matthias Ettrich

Anonymous's picture

Scripts for free distribution or internal use, gpl is fine. Scripts that you want to sell proprietary closed source, Trolltech wants you to purchase a license. Is that how it works?

I guess they like eating too.

Derek

Re: Inteview with Matthias Ettrich

Anonymous's picture

well, its a bit silly. but then again.

whats wrong with GPLling your scripts?

scripts are, by defination, source only. GPL demands that you give source to everyone who gets binaries. With scripts, this point is moot. Only remaining problem i can see is that everyone you give/sell the scripts to is entitled to do the same. For something like document macros i cannot see the problem with this....

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState