KDE Project History/KDE Two (Developer Meeting)
KDE Two in Erlangen, Germany
The KDE Two developers conference help in Erlangen Germany this Oct 7 - 10 was a resounding success! This page will try to organize some of the results as they get written up.
The report below is a summary of the major topics addressed at the conference.
Enjoy! Major Topics Covered at KDE Two
Torben Weis, the chief architect for the KDE Object Model (KOM) and OpenParts, announced the "new and improved" next generation OpenParts. The new approach to application or component embedding, code named "Kanossa", uses shared libraries rather than CORBA. The framework is only a few days old but has already shown itself to be quite fast, very memory efficient, and more stable than the previous version.
The distributed nature of CORBA presented a few problems related to concurrency, reliability, and performance. It was decided that for application/GUI embedding, it made much more sense to use local components. This embedding approach is similar to how ActiveX and COM components are implemented in the Windows world and is likewise as seamless to the user.
This approach will make embedding components in KDE much easier to do. It should be possible, for instance, to embed an entire Konqueror browser into an application with only a few lines of code. The resulting embedded component will also be quite fast -- the user will not be able to tell the difference between it and a "native" widget. In addition, its efficient use of memory should prove popular to developer and user alike. Developers will appreciate the fact that Kanossa uses much less resources while compiling and users will love the fact that Kanossa based applications are comparable in size to non-component apps.
The main consumer of OpenParts is the KDE office suite, KOffice. Torben, Reginald Stadblauer, Matthias Elter, and others worked to convert the entire suite to the new framework. KPresenter, KSpread, KImageShop, and KChart are already ported with impressive gains in speed and stability.
Matthias Ettrich and Preston Brown also worked feverishly through the weekend to develop a lightweight message based IPC/RPC mechanism for KDE -- one that can be used in addition to the powerful KOM. The result was the Desktop Communication Protocol (DCOP), based on the X11R6 standard library LibICE. It's goals were:
1. Very small memory footprint, enabling it to be linked to all KDE applications with no performance hit 2. Fast, simple communication between distributed objects 3. Easy implementation 4. Authentication
but most of all
5. Unify existing KDE 1.x IPC protocols like kwmcom and hacks using Xatoms and pid files in a consistent and intuitive manner
Initial benchmarks seem to indicate that DCOP will be a hit. Comparisons between DCOP and MICO show an improvement of 40 - 100% for speed and over 50% for memory. One test of 10,000 synchronous RPC calls between distributed objects took 4.5 seconds in DCOP and over 8 seconds using MICO. The DCOP result shows how efficient it is: the practical limit for IPC/RPC calls between objects is often shown to be about 3000 discrete calls per second. This performance means that there should be no noticeable speed difference between this protocol and the previous IPC hacks.
Rich Moore introduced the very impressive work he has done with Java. He and Lars Knoll worked through the weekend to extend his work. The result was two-fold:
1. Lars' new DOM-based HTML library (khtml-dom) now has support for Java applets! 2. Any KDE application may now embed a Java applet with only a few lines of code.
Rich's work is absolutely phenomenal! This means that KDE 2.0 will have a web browser with full Java capabilities. As a side note, Rich also started a Java implementation of DCOP.
Stefan Westerfeld demonstrated aRts -- his next generation network multimedia framework. aRts uses a very modular system of CORBA components to achieve nearly limitless potential for multimedia playing and manipulation. KDE 2.0 will use an optimized subset of aRts to handle all audio playing. Future releases of KDE will then use the more advanced video and audio/video manipulation abilities available in aRts.
The aRts server is incredible. It's synthesis and filtering abilities are leagues ahead of anything yet found on Unix. It will offer capabilities to KDE that have so far been found only on OSes like Windows, BeOS, etc.
Waldo Bastian and David Faure headed up a design study on a new system configuration storage mechanism called the System Configuration Cache (Sycoca). It is a lightweight database optimized for looking up static system information. It permits concurrent read-only access to multiple clients at once. This means that the lookup can be very fast (in linear time) since no locking or transaction operations are needed. The database will be created and updated from human readable configuration files.
Sycoca will be used for "static" system information only. Examples include the mimetype bindings and the .desktop/servicetypes. Application specific data will not be stored here as that data is subject to regular change.
Eric Bischoff, the KDE documentation project leader, detailed some of the changes taking place with the documentation group. One of the biggest changes is the move of all docs from the old LinuxDoc format to the industry standard DocBook format. This should allow for much greater control over the presentation of the information. He also mentioned how there will soon be automatically generated printable versions of KDE documents in postscript and/or PDF. Finally, there is work between the documentation project and many Linux distributions to ensure that all of the copious results of their efforts be properly included in the distributions.
The meeting also made possible a change in the board for KDE e.V. KDE e.V. is a non-profit legal entity (a "corporation") that can act in the interests of KDE as well as maintain a bank account. It was originally founded as a means for KDE to enter into a legal agreement with Troll Tech with the FreeQt Foundation. It has since taken on a further role as a place were donated monies could be accepted and distributed.
Members of KDE e.V. met for a few hours for an annual meeting to provide some direction to the board as well as elect a new board. The new board is:
President: Kurt Granroth Vice President: Chris Schl�ger Treasurer: Mirko Sucker Board Member: Preston Brown
Expect to see quite a bit from KDE e.V. in the coming months.
There were a number of other sessions that were of great interest to KDE developers if not to general users. They included such topics as user interface design, applications scripting, session management, packaging, relations with Corel, and effects of a KDE library cleanup. Information concerning these topics will doubtlessly be filtering out as time goes by.
Kalle Dalheimer's Report
Kalle Dalheimer wrote this report on the KDE Two conference. It is quite a bit more personal then the summary report and covers different areas.
Enjoy! One Developer's Journal
Thursday, October 7
My Erlangen trip started at 5.45am on October 7 when I tried to checkout the canossa module in order to look at it on the plane. However, checking out took so long that I could not complete that. It was surprisingly the first freezing night, and I had to deice my car, too - those two things made me almost miss my plane. I arrived at our local airport (which is about 12 kilometers away) 10 minutes before departure time. That was just about right, because they expect you to be there only 10 minutes before :-) (Actually, they only open the "airport" which is just one wooden house only 20 minutes before the planes (two a day...) leave.
So, I got to Stockholm-Arlanda (the international airport of Sweden's capital Stockholm), and since I had three and a half hours until my connecting flight, I tried to get into the SAS lounge. I have a Frequent-Flyer-Look-How-Important-I-Am card from Lufthansa (the German airline) which is allied with SAS, but it is only the "silver" card. It grants you access to the lounge even when you have an economy class ticket (normally, you need a business class ticket in order to get in), but only if you have a Lufthansa or SAS ticket for the same day (unlike the "gold" card which grants you access whenever you want). Well, mine was Sabena, but with an arrogant face and a nonchalant waving of the Frequent Flyer Card, I walked right in and nobody stopped me.
This got me a seat with a power socket, so I could work for some hours on the new charting engine.
Finally, I boarded the plane for Brussels, did more work on the charting engine on the plane and changed planes in Brussels (yes, it is not the direct way to go from Stockholm to N�rnberg via Brussels :-)). At the gate in Brussels, I was looking whether there would be anybody else from the KDE team, but there was only one guy who looked like he *could* be a KDE developer. I suspected he might be David Faure, but I was too shy to ask, but when entering the airfield bus, I could glimpse at his ID card and saw his name, so I addressed him, and we were chatting KDE for the flight to N�rnberg.
In N�rnberg, I unpacked my penguin from my suitcase and waved it around, but nobody came up to collect us, so I finally called Matthias who told me that somebody from SuSE was on his way. A few minutes later, he in fact arrived and drove us to the hotel in Erlangen.
Only minutes after I had arrived, my room mate, Christian Esken, arrived, too, and together with him and David Faure, we marvelled at some of the color allocation macros in the old charting engine :-) Then we went downstairs, met Eric Bischoff and drank tea together. More KDE developers came, but at 6pm, I decided to run into town to the local Lehmanns book store where a parcel with a Konqi would be waiting for me.
I managed to find the book store, and the parcel was really there. The woman was very interested and asked about the KDE conference. Because I was already late, I got a taxi back to the hotel, where almost everybody was waiting. A few minutes later, we headed off for the pub "Zum Pleitegeier" (somebody please translate that) where a room was reserved for us.
The social event was well prepared. Everybody got a small note with available dishes on it where he could mark a main course and a dessert. We had lots of beer, were given the key cards which grant access to the computer rooms at the university, and name tags. I met many of the fine KDE developers there for the first time, and many others for the first time since KDE One. The first photos from my page are all from this evening.
At about 11pm, a few of us marched back to the hotel and had a drink or two at the hotel bar before going to sleep.
Friday, October 8
Since the conference schedule was about to start at 9am and we wanted to prepare some things, Matthias E., Preston and I got up at 6.30am and had an early breakfast together. We were then driven to the university by Ralf Flaxa (one of the two Caldera Germany bosses), checked the rooms and wrote the schedule on the board in the meeting room. Together with Matthias H-K, we picked up softdrinks from a small shop on the campus, and slowly, eager developers started to come in...
The conference was started (I might get the order wrong here) by an introductory talk by Matthias H-K, followed by an explanation of a staff member of the university about what was allowed in the computer room and what was not (basically it was: do not do anything illegal). Then Matthias E. explained the schedule and Preston did a quick pep-talk thing.
We then split up into special interest groups (SIGs), and this is where other people have to step in, because I can only report about what happened in my group. Together with Mirko Sucker and Bernhard Rosenkr�nzer, I was in the "library cleanup" group in which we tried to identify old, unused, undocumented, inconsistent or otherwise non-desirable code in the libraries. We have summed up our works in several postings to kde-devel and kde-code-devel during the conference, and you can also find information in KDE2PORTING, so it's probably not worth repeating it here now.
At noon, plates with sm�rg�sar (rolls with various toppings) were brought, and we ate in the meeting room together.
At 2pm, the press conference started with 40 KDE developers and 3 journalists (Bernhard Kuhn from Linux-Magazin, one from PC-Magazin and a woman who was there all the time and asked us questions during the whole weekend - she was a freelancer preparing something for a pointy-haired publication). We answered the usual questions, talked about future plans and so on. Nothing exciting here.
After the press conference, the presentations started. A number of people were asked to give a presentation beforehand, and I would ask all of you to sum them up here. Anyway, here are the presentations I can remember:
- Matthias E. presented kicker and kwin - the Corel people (Ming and Oleg) presented Corel Linux - David Faure presented kded - Torben presented Canossa - Stefan Westerfeld presented aRts and the new multimedia architecture (and got much criticism when he asked every one to link to mico just to have the application beep - he got the message and wrote a TCP/IP-based server in just two hours :-)) - Eric Bischoff presented the change of the documentation team from LinuxDoc to DocBook. (A personal comment: Excellent decision! DocBook is what all professional publishers use. Even the LDP is switching.)
I am sure there were at least eight presentations, but I cannot remember the other ones.
After the presentations, we were finally free for hacking. And here is something I would love everybody to fill me (and others) in: What exactly have you been hacking on all the time? I know that Matthias and Preston were hacking on DCOP and Reggie on KPresenter, but I don't know about many other people. As for me, I spent the first half of the conference with the library cleanup and then worked on the charting engine and the port of KChart to Canossa.
Some of us went into the town in order to get food, but most followed my initiative and ordered pizza so that we wouldn't be stopped for too long from hacking. At about 9pm, Matthias and Preston came back from the pub they had been to, were pretty drunk and said that they would now write an ORB. (Matthias always rejects my version of the story, but I am sure that others will back me up :-)) So, having boasted this much, they couldn't go back and set off to really doing it, which is how DCOP came to being.
The last bus from the university to the hotel went at one minute before midnight, but I never managed to get that. On Friday night, I went back with a few others at around 3am and have been told that the last ones left at 4am. The hotel bar was closed, so all we could do was go to bed :-)
Saturday, October 9
On Saturday morning, the General Assembly of KDE e.V. was scheduled for 9am, but when Matthias and I arrived there, nobody was there, we rescheduled it to 1.30pm and went hacking instead :-) At noon, we again had lunch (Franconian specialties), and at 2pm, the General Assembly finally started. Mirko was appointed minutes writer (what is correct term for that in English?) and Matthias reported about what KDE e.V. was for and how the procedures are. German law requires a number of formalities for such a General Assembly, but it really went pretty smooth - I have seen much, much worse. One of the most important points was electing a new board. Matthias and Martin suggested six candidates: Harri Porten, Eric Bischoff, Preston Brown, Kurt Granroth, Chris Schlaeger and Mirko Sucker (who does care about his name being pronounced correctly :-) (the first vowel is like in English look)). All were asked whether they would accept being candidate, and all accepted, with Harri and Eric stating that there were accepting, but preferred somebody else to be elected.
The actual election was held by Coolo (because he was neither a candidate nor a member of the old board and - as Matthias E put it - as a former east German, he has experiences with forged elections (this comment got my laughing and not getting breath for some five minutes...)). We had some problems dealing out the exact number of ballots, so that finally everybody had to come up to Coolo and put in his vote one by one.
Preston, Kurt, Chris and Mirko were elected (you can see the exact figures in one of my photos, and also in the minutes that will be translated to English and posted here RSN) and accepted their election.
We then had a number of propositions, all of which were accepted by the assembly (most of them unanimously, for exact figures see the minutes):
1. Martin K. proposed that the board should explore the possibilites of having not only developer members, but also sponsoring corporate members (without right to vote). 2. I proposed that the board should explore the possibility of getting us business cards with consistent design and at the expense of KDE. 3. Someone (Matthias?) proposed that the board should set up an account in the U.S., too, in order to facilitate donations from there.
(I think that there were four propositions, but I cannot remember the fourth.)
Finally, the meeting was over, and we could go back to hacking. I hacked until 3.30am and then took a taxi back to the hotel together with some others.
Sunday, October 10
On Sunday morning, even less people were at the breakfast table :-) (less developers, that is, the room was filled with an elderly bus group). Finally, most had arrived at the university, at the presentations of the SIGs started. Again, I would like all the SIGs to fill in their results here. The results of the UI guidelines SIG should already be on developer.kde.org, and as I wrote above, the results of the library cleanup SIG have been posted to kde-devel and kde-core-devel.
So slowly, most left for their trains and planes, and in the evening, only Antonio, Preston, Kurt, Matthias E., Waldo, Reggie and me were left. We went by taxi and Waldo's car to the Pleitegeier again and had dinner. Then we went back to the university, Waldo left for his (now near-by) "home", and Antonio for the hotel in order to check out.
The remaining four of us continued hacking, and Antonio joined us with his luggage. Ralf Flaxa was there and reinstalled the machines that were not needed any longer with their usual setup because the computer room was needed the next morning. (A huge thank you to Ralf!) At 2am, Matthias and Preston wanted to leave, so we got a taxi together, except for Antonio who decided to work through the night and go directly to the airport from the university (now, there's a tough guy :-)).
Monday, October 11
The next morning, Matthias, Kurt and I went to the attorney were we had booked an appointment and had Kurt's signature as the new president testified. We then went back to the hotel, picked up our things, and Kurt and I took a taxi to N�rnberg airport.
At the counter where I had to check in just had a network failure, so they couldn't process anybody for some time. When I asked whether they were using Windows, they just stared at me, and one guy (obviously their "network technician") said, "Yes, how do you know?" :-) But both Kurt and I managed to get our planes in time. Kurt was off to Amsterdam (and further to Detroit and Phoenix), while I went to Brussels again, bought some of the famous Belgian chocolates for my wife and tried to find my way through this least organized, most chaotic airport I have ever, ever seen. I have been told (though never been there myself) that Chicago O'Hare is bad, too, but it can hardly be as bad as Brussels International Airport.
Anyway, I got my plane to Stockholm, and when I went to check in for my commuter plane to Hagfors (you have to pick up your luggage and go through customs first before you can go to the domestic flights), I was told that they had "technical problems" and that the flight was delayed for at least 90 minutes. But they were kind of enough to stow away my heavy suitcase and gave me a voucher for food for 50 crowns (which is approx. 7 US dollars, you can imagine how much that gets you in an airport :-)) I seized the opportunity and went to the barber's. (This must have been the most expensive hair cut I ever got.) Then I went to a Cajun restaurant, had some chili and watched the monitors how all the planes were called, boarded and lift off except mine. When it finally disappeared from the monitor, I went back to the gate where they told me it was cancelled but that I was booked on a flight to �rebro and would be driven by taxi home from them. I asked them whether they knew what they were doing (it is approx. 150 kilometers from �rebro to Hagfors, and taxis are very expensive here), but they told me not worry, everything would be covered by them. So, I waited another hour for this plane for �rebro (which is approx. halfway between Stockholm and Hagfors), got there, was put into a taxi together with 6 others (it was a _large_ taxi :-) and driven to Hagfors (all in all, there were three taxis going, this must have cost the airline lots of money). The taxi driver was kind enough to drive all of us to our places instead of only going to the airport, so I was home at about midnight.
So, after I few days of recovering, here I sit, ramble and take your time :-) Time to stop!
6-10-1999 The KDE Team is happy to welcome IBM as sponsor of KDE-Two: "IBM and its ViaVoice team thanks the KDE team for the opportunity to help sponsor its second developers conference and congratulates KDE's efforts to produce a great leading GUI for Linux."
4-10-1999 The KDE Team thanks Corel and Red Hat for their sponsorship of KDE-Two.
29-9-1999 The KDE Team thanks Markt & Technik and Addison - Wesley for their sponsorship of KDE-Two.
24-9-1999 The KDE Team wishes to thank Fujitsu Siemens Computers, for their sponsorship of KDE-Two.
According to Fujitsu Siemens Computers:
"Fujitsu Siemens Computers, one of the main Linux supporters worldwide, is proud to sponsor the KDE-Two developer meeting. Fujitsu Siemens Computers strongly supports open source projects like KDE as one of the leading GUIs for Linux. The GUI is of particular importance with regard to further enhancing the acceptance of Linux in different environments from Desktop to Server."
15-9-1999 It took somewhat longer than expected but finally KDE-Two, the second KDE developer meeting, has become reality! Here is our press release:
KDE Developer Meeting supported by SuSE and Caldera
The KDE Team is happy to announce that the second KDE developer meeting will take place from 7th to 10th of October 1999 at the University of Erlangen, Germany. Thanks to the main sponsors, Caldera Systems Inc. and SuSE GmbH, about 50 KDE core developers from all over the world will be able to come together and work on the future development of KDE.
According to Waldo Bastian, KDE core developer, "KDE is being developed by a large group of volunteers from all over the world. This event is a unique opportunity to meet the other developers. Although we are in constant contact via Internet, most of us have never met each other in person. During the meeting we hope to define the roadmap for the next major release of KDE which is planned for the first half of the next year. Besides that, it will be great fun!"
The event has been made possible with the financial help of Linux distributors SuSE and Caldera. SuSE Chairman Roland Dyroff about SuSE's involvement "SuSE is very commited to the development of KDE. Thanks to KDE, Linux is quickly becoming a viable alternative on the Desktop market. By supporting events like this we make sure that the KDE Team can continue its marvelous work in an even faster pace."
"Caldera Systems is proud to have the opportunity to sponsor this event in order to show our appreciation to the KDE team for their effort. We are pleased with the progress the team has made in the latest releases and look forward to being able to provide KDE 2.0 to our customers in the future." says Drew Spencer, Vice President of Engineering at Caldera Systems Inc.
KDE is a collaborative project by hundreds of developers worldwide to create a sophisticated, customizable and stable desktop environment employing a network-transparent, intuitive user interface. In addition, many KDE users have assisted in the preparation of new releases by providing constructive feedback, suggestions and software patches. KDE is working proof of the power of the open source software development model. More information on KDE can be found at www.kde.org.
Caldera Systems, Inc. is the Linux for Business technology leader in designing, developing and marketing Linux-based business solutions including OpenLinux, NetWare for Linux, Linux technical training, certification and support. Caldera Systems can be reached at 888-GO-Linux (888-465-4689) or via E-mail at [email protected]
SuSE, with a workforce of over 160 people, is one of the leading Linux companies worldwide. The SuSE Linux distribution is used by more than 50,000 business customers worldwide due to its stability and high quality. For an efficient use of Linux in a business environment SuSE offers an extensive palette of qualified consulting and support services, as well as commercial Linux software and complete Linux systems. SuSE is contributing considerably to the development of Linux for projects such as the Linux kernel, glibc, XFree86[tm], KDE, ISDN4Linux, ALSA (AdvancedLinux Sound Architecture) and USB (Universal Serial Bus). Get further information at [www.suse.com www.suse.com] or reach SuSE via E-mail to [email protected]