[KDE Dot News]
 faq
 flatforty
 contribute
 subscribe
 configure
 search
 rdf

 main


  Matthias Ettrich talks about KDE and aKademy
Community and Events Posted by aKademy Team on Sunday 08/Aug/2004, @04:06
from the take-me-to-your-founder dept.
Continuing the series of articles previewing KDE's World Summit, aKademy (running from August 21st to 29th), Tom Chance interviewed Matthias Ettrich, the founder of the KDE project, the creator of the LyX document-processor, and an employee of Trolltech. At aKademy he will be talking about how to design intelligent, Qt-style APIs. I asked him for his thoughts about the status of the KDE project, its achievements, and what he is looking forward to in aKademy. You can read the previous interview with Nils Magnus of LinuxTag here.

Q: We all know you as the founder of KDE, but what is your current role in the project?

Matthias Ettrich: Today I am very much focused on KDE's underlying technology, the Qt toolkit. This pretty much is a full-time job, so I'm no longer feeling bad about not actively contributing code to other parts of KDE anymore. When you take a step back and recognize how much the KDE team achieves in relation to its financial backup and the number of developers, you'll clearly see how important a solid foundation is. We are an insanely productive development community, and we achieve that by layering our software stack and investing into the foundation, instead of constantly reinventing the wheel.

It's all about developers and what developers need to be efficient. Every hour spent on Qt and the KDE libraries is an hour spent wisely, because an every growing number of applications benefits from it. So that's what I do.

In addition my Trolltech position allows me to contribute indirectly to KDE's success: Some of our engineers can do part-time work on KDE, we sponsor David Faure, and of course we are an aKademy gold sponsor. On a more personal level I do my share of giving talks and interviews, I make an effort to bring people together, and I try to actively help with community events like last year's conference in Nove Hrady and this year's aKademy.

Q: What is your favorite development in the project since you started it?

ME: The greatest thing for me is that we managed to grow the project while keeping its initial culture and soul intact. We started out with a relatively small group of equals that cooperated purely based on mutual respect and technical merits. This is pretty standard for small engineering groups. What makes KDE special, though, is that we managed to scale this to the overwhelming size the project has today. With KDE e.V. and its statutes we have found and established a mechanism that makes sure KDE stays this way: a project owned and controlled by its active community of individual contributors. Establishing KDE e.V. and seeing it gaining acceptance within the KDE community was probably the most important non-technical development that happened, and this process is far from being over.

Q: Almost four years ago [1] you said that in 2005 you'll be a manager due to the success of KDE (which "will be a leading desktop platform by then"). Given that you only have one year left, what are your thoughts on this prediction?

ME: Well, I have been working as a Director of Software Development for some time now, so for me it became true already. Luckily my concerns about being a manager turned out to be exaggerated, managing people is not as bad as I anticipated it to be. Lesson to be learned: one should not rely on Dilbert as the only source of information. The obvious downside is less time for coding, but it comes with a strong upside: by working through a team you can achieve far more than what you could do on your own. Just imagine somebody offered you 50 extra hands. And not only that: each pair of hands came with a brain of its own, each with extra skills and talents that complete your own. Now, how good does that sound?

With regards to KDE becoming a leading desktop platform: we are already, in many areas. We are a leader in terms of active community, in terms of network integration, in terms of providing freedom and choice to desktop users, and in terms of providing a sophisticated development framework for application developers.

Q: What do you think the "next big thing" in KDE will be?

ME: There is one thing that will become increasingly important in the future, not just for KDE, but for all of Linux: a convincing answer to Microsoft's .Net. I'm not concerned about the server, I'm concerned about the client, and about the belief that some people in the community share, that you can successfully clone Microsoft's APIs and then keep up with them. Free software should not be about cloning, but about creating. If we want to be successful, we need to have our own APIs. And guess what, we are really good at that. There is no reason to throw everything away and start all over again from scratch. Instead we must built upon what we already have, and that is native code.

Native code is and will be the solid basis of every successful computing platform, simply for its flexibility, its performance, and its low memory consumption. With KDE and Qt, it's easy to develop native code. Once you get the hang on it, it is easier than e.g. developing complex applications with Java/Swing.

Still it would be nice to take advantage of JIT-compiled bytecode where it makes sense, and have the two worlds interoperate. Currently there are two technical options: integrating Mono and the CLR, or going for a Java Virtual Machine. Mono at present has several advantages: First, there is no free JIT-compiling JVM that is equally actively developed and it doesn't look like there will be one. Second, cooperating with Miguel and the Ximian group at Novell is probably a lot easier than cooperating with Sun. And third, it is easier to integrate native C++ code with the CLR than going through the JNI.

Q: What are you looking forward to in aKademy?

ME: Meeting people, having fun, and watching KDE improve! Every KDE conference so far has been a big happy gathering of friends that kick-started an insane commit rate to the CVS. And there's no reason why aKademy 2004 should be any different.

Q: What do you think people should make a special effort to attend at aKademy?

ME: There's so many interesting things going on at aKademy, it's hard to pick just one. But if you are a developer and haven't thought much about accessibility yet, I suggest you listen to Aaron Leventhal's opening speech of the Unix Accessibility Forum on Sunday. Assistive technologies are not only an interesting technical challenge, but an area where we as a free software project can make a real difference in many peoples' lifes. For the User and Administrators conference I suggest you give the groupware and collaboration track some special attention. Kolab and Kontakt are exciting projects that have not yet gotten the attention they deserve. And nobody should miss the social event on Saturday when we celebrate the Freedom Software Day.

Q: Thank you for your answers and your time.

ME: My pleasure :)



<  |  >

 

  Related Links
 ·   Articles on Community and Events
 ·   Also by aKademy Team
 ·   Contact author

Thread Threshold:

The Fine Print: The following comments are owned by whomever posted them.
( Reply )

Over 40 comments listed. Printing out index only.
major distros?
by charles on Sunday 08/Aug/2004, @07:17
There is a rumor that one major distro (SuSE) will be shifting to GNOME, and another that Novell will be having two items, the SuSE Linux Desktop and the Novell Linux Desktop. A question should have been asked to ME about what he thinks about the potential shift. I know that he'd probably not want t speculate, but as a programmer, I am sure he understands what I mean when users want to see solutions to [potential] scenarios.

Cb..
[ Reply To This | View ]
Java, jvm, jni
by Boudewijn Rempt on Sunday 08/Aug/2004, @08:10
"Still it would be nice to take advantage of JIT-compiled bytecode where it makes sense, and have the two worlds interoperate. Currently there are two technical options: integrating Mono and the CLR, or going for a Java Virtual Machine. Mono at present has several advantages: First, there is no free JIT-compiling JVM that is equally actively developed and it doesn't look like there will be one. Second, cooperating with Miguel and the Ximian group at Novell is probably a lot easier than cooperating with Sun. And third, it is easier to integrate native C++ code with the CLR than going through the JNI."

Miguel is so bloody good with his marketing, that he completely bamboozles evenpeople like Matthias. There is development as active as that on Mono on a free jvm, a free Java class library. You can, right now, use Java to code Qt applications, compile them to native code and _still_ have the advantage of a garbage collector that manages your memory for you. JNI is a crutch, but CNI is a great thing. GCJ, GIJ, Classpath and CNI are truly free software, and are at least as stable and useful as Mono. Dash it -- every time Miguel prances about showing off Eclipse, what he shows is ikvm and classpath.

Free java on the desktop is ready _now_ -- or at least, more ready than Mono. The only reason people don't know about it is that a) you don't need it if you have Qt and C++ (Java is nicer, but the difference isn't killing. C++ and Qt together is easy and productive enough) and that b) The gcj/classpath people are really bad at marketing.
[ Reply To This | View ]
Transcript of talk?
by Anonymous Coward on Sunday 08/Aug/2004, @08:14
> At aKademy he will be talking about how to design intelligent, Qt-style APIs.

This sounds very, *very* interesting. Will there be a transcript of the talk for those of us who won't be at the aKademy? Thanks! :)
[ Reply To This | View ]
Software Freedom Day
by Henrik on Sunday 08/Aug/2004, @08:45
Will you guys (KDE community) be doing any outreach on Software Freedom Day as well? Globally, we'll be handing out about 10 000 packs containing TheOpenCD and Knoppix (both in special editions) at 18 locations. I still have some materials (printed CD covers + sleeves) available if anyone in Ludwigsburg wants to hand stuff out. Our customised Knoppix CD (3.4) has KDE 3.2 as default, though you would probably want you make a fresh one with KDE 3.3 (Knoppix 3.6?).

See info about the materials here:
http://www.softwarefreedomday.org/article.php?story=20040726161207293
and the aKademy wiki page on our site here:
http://softwarefreedomday.org/wiki/index.php/AKademy%2C_Ludwigsburg

- Henrik
[ Reply To This | View ]
Native code FUD
by Tim Jansen on Sunday 08/Aug/2004, @13:08
"Native code is and will be the solid basis of every successful computing platform, simply for its flexibility, its performance, and its low memory consumption."

That's FUD. First of all, in theory there is no difference in performance between native code and managed code. Both are just different forms of expressing code. Every output of a native compiler can be generated by a runtime that uses managed code. And every optimization that a JIT can do is also possible with native code. The only difference is the point at which the native code is generated, but as a JIT can cache it, there is no real problem.

Things are a little bit different if you consider how much work different types of compilers need. Writing a simple JIT compiler is usually more work than writing a simple static compiler. If you want to write a static compiler with a moderate number of optimizations (like gcc), this is less work than a JIT compiler.

However, if you write a truly dynamic compiler, doing it with managed code is far easier than with native code, because managed code is easier to work with than native code. Classic native compilers like gcc are static, they just compile the code, one compilation units after the other. After compilation the code won't be changed anymore. The linker does not modify the code either, so it can not inline a library function, leaving out a lot of potential for optimization. Dynamic compilers do not have such boundaries for optimization. All code is equal for them, because all code is stored in the prefered way for optimization.

There are some optimizations that a static compiler can't do and which are only possible for dynamic compilers. For example the JavaVM checks whether a virtual method is actually overridden by a class. If not, it is treated like a non-virtual method and can enjoy optimizations for non-virtual methods like inlining. Because Java allows loading new classes while the app is running (like gcc's C++ does with dlopen()), it may be necessary to recompile the method as real virtual method while the program is running. A static compiler can't do optimizations like this, it always has to optimize for the worst case.

That's why, in the end, managed code will win. Or at least if you want the same kind of performance with native code, it will be much more work. If today managed code does not match the speed of native code yet, you can be sure that MS has sufficient resources to make it faster in the long run.
[ Reply To This | View ]
Transcripts
by Mikhail Capone on Monday 09/Aug/2004, @06:25
I, for one, hope that transcripts from the speeches that are given at the aKademy will be made available (at the Dot? please!) so that the people who can't attend have access to them.
[ Reply To This | View ]
Akademy for the public
by somekool on Monday 09/Aug/2004, @14:02
hey !
please publish Quicktime movie of conference and all the stuff

just like the Mac World and Steve Jobs keynotes, we users wants to know more and are ready to watch what we miss because we are so far away from the aKademy location
[ Reply To This | View ]

 
The Fine Print: The previous comments are owned by whomever posted them.
( Reply )

  "That's something I don't know." -- David Faure
KDE®, "K Desktop Environment", "KDE Dot News", "got the dot?" and the KDE Logo® are trademarks or registered trademarks of KDE e.V. in the European Union, the United States and other countries. All other trademarks and copyrights on this page are owned by their respective owners. Comments are owned by the poster. The rest: Copyright © 2000-2008 KDE e.V. for The KDE Project. For further information or comments on this site, please contact the Webmaster.
[ home | post article | flat forty | subscribe | search | rdf ]