Talks about Accessibility Gunnar Schmidt gunnar@schmi-dt.de
 As a co-maintainer of the KDE Accessibility Project I would like to give one
 or two talks about Accessibility within KDE. The topics would be as outlined
 in the abstracts below.
 
 The full content of the first talk will of course depend on how the
 applications within the KDEAP (KMag, KMouseTool, KMouth and possibly kttsd)
 in the near future will evolve and which accessibility issues we will detect
 before the conference.
 
 Currently we have different approaches for possible architectures (within the
 second talk). Which one(s) I will present in the talk will depend on some
 discussions on the kdeaccessibility and core-devel mailing lists.
 
 Gunnar Schmi Dt
 
 
 
 Talk 1: KDE and Accessibility
 
 This talk covers both the current state of the KDE Accessibility Project and 
 some general view on accessibility issues within KDE. It will also contain an 
 outline of kttsd and word completion for usage as KDE-wide technologies.
 
 
 
 Talk 2: Accessibility and Interoperability
 
 This talk will show an outline of an architecture for adding AT-SPI support
 (Assistive Technology Service Provider Interface) to Qt/KDE. As there could
 be applications and assistive technologies both within and without KDE this
 architecture needs to interoperate well with GNOME's Corba based assistive
 technology framework.
Aspect Oriented Technologies: Ready for adoption? Carsten Pfeiffer <pfeiffer@kde.org>
 Object Orientation offers strong concepts for functional decomposition
 of systems. There is a number of requirement types though, that can
 not be properly encapsulated into classes or functions. The reason
 for that is, that these often non-functional concerns crosscut the
 system's structure, leading to a scattered and tangled implementation.
 
 Aspect Orientation aims to provide a solution for this problem by
 offering a new modularity concept, that allows the extraction of scattered
 and tangled code fragments into first class entities called aspects [1]. 
 However, the gain of modularity comes at the price of increased 
 complexity. Dedicated tool support to reduce the complexity is therefore 
 crucial for successful emplyoing of aspect-oriented concepts.
 
 In this paper, the concepts of Aspect Orientation are introduced and
 an overview of state-of-the-art aspect-oriented technologies for C++
 is given. A case study will reveal whether these technologies are
 already suitable for adoption in real-world projects.
 
 
 References:
 [1] Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda, 
     Cristina Lopes, Jean-Marc Loingtier and John Irwin.
     Aspect Oriented Programming. In Proceedings European Conference
     on Object-Orientated Programming, volume 1241, pages 220-242. 
     Springer Verlag, 1997.
Talk proposals David Faure faure@kde.org
 I could do any number of the following talks at Nove HRady:
 
 * Tips and tricks for debugging (gdb, test programs, valgrind, cachegrind...)
 * How to write a Makefile.am (based on the short talk I gave at the last FOSDEM)
 * The trader mechanism (usefulness, services and servicetypes, querying, debugging).
 * How to write good network transparent code (KURL, KIO, jobs vs NetAccess).
 * KParts (how to write a component, how to find and instanciate a component, when to
 use KParts for an app's components...)
 * The KOffice framework (relation to KParts, doc/view design, embedding, etc.)
 
 Actually, I could also do a Qt course for beginners, but I don't think there will be many :)
Nové Hrady talk proposal (~45 minutes) Josef Spillner <josef@ggzgamingzone.org>
 The dynamic desktop
 -------------------
 
 Many KDE applications are extensible in form of plugins, additional
 texts or images or audio files, or other means.
 Up to now each application has to define an own way on how to
 access these additional files.
 This ranges from requiring the user to download contents over
 predefined download sites (like kde-look.org) to embedded mechanisms
 as used in KOrganizer.
 
 In 2002, a project named KDEShare was proposed, and an initial implementation
 was started, which worked essentially but had some design issues, and since
 some timing issues were involved as well the development on it stopped.
 
 Yet it clearly shows that a unified way of updating contents is needed:
 * many applications, like those in kde-edu, come with a default set of data but
   offer additional sets (sounds, vocabulary files)
 * some applications rely on fixed host names for their updates, yet a fault
   tolerant transport is needed, which could be ensured using metaservers
   embedded in a general resource framework
   (example: KDE internet radio frontend)
 
 This talk is intended to regain interest in the topic, and to present specific
 development goals.
 Application-specific integration will be presented using KParts, application
 invocation and DCOP calls.
 Access to metaservers (and how to administrate them) will be part of the
 presentation.
 The collaboration with a typical 3rd party KDE project will be shown as well.
 
Kontact Daniel Molkentin molkentin@kde.org
 This is to notify you that I will give a talk on Kontact at n7y. abstract 
 below. I'd like a workshop to go along with that to assign tasks and discuss 
 the further development.
 
 Cheers,
   Daniel
 
 Abstract
 =======
 
 In times where KGX is hitting the corporate desktop, it is important to have a 
 groupware enabled personal information management (PIM) client that is able 
 to interact with common groupware solutions such as Kolab and Exchange 2000. 
 
 Kontact, a collaborative effort of the KMail and PIM team tries to serve this 
 demand.This talk will give a summary on what has been achieved and what still 
 remains to do. It includes a general presentation of Kontact's features and 
 addresses technical and conceptional details, ideas and plans.
 
 Also Kontact will later on superseed the Kolab client and therefor inherit all 
 its features.
 
 This talk addresses two primary parties:
 - Developers interested in joining the KDE PIM team.
 - Companies that seek out on a native KDE integrated client for Kolab or 
 Exchange and want to get involved with Kontact development or support the 
 project.
 
 A workshop will be appended on demand, Kontact hacking will take place during 
 the hackfest.
 
 Web Reference: http://kontact.kde.org
Programming with libkabc Tobias Koenig <tokoe@kde.org>
 I want to make a presentation about using libkabc, the KDE AddressBook
 Library. I do this the first time, so I don't know exactly what this
 abstract paper should contain. If you need more information, please
 reply me.
 
 Here is the structure of my presentation:
 
 The KDE address book library
 ------------------------------
   - General concept of libkabc
   - The API
   - Small example program
   - Advanced usage
   - Implementing resources
 
 
 Maybe Cornelius Schumacher will participate, but he can't promise
 anything at the moment because of lack of time.
Talk submission Matthias Kalle Dalheimer kalle@klaralvdalens-datakonsult.se
 I know I am late... Here are my three talk submissions:
 
 Annual Report of the Board of KDE e.V.
 =============================
 (together with Mirko Boehm, Eva Brucherseifer, and Ralf Nolden)
 - financial report of KDE e.V.
 - status trademark registration
 - status registration as non-profit organisation (re: tax deductability)
 - current events
 
 
 Be More Rational: Open Source Memory Debugging and Profiling Tools
 ====================================================
 (together with David Faure, who doesn't know of his luck yet :-))
 This talk will be similar to the LinuxTag talk with the same name, but have a 
 stronger emphasis on KDE development. We will present tools like Valgrind and 
 KCachegrind and show real-life examples and to debug and optimize KDE 
 programs in a time-efficient way.
 
 
 The History of the KDE Project
 =======================
 (together with Matthias Ettrich, who doesn't know of his luck yet :-))
 This talk, given by two participants from "Day One", will present newer KDE 
 developers with some cultural background of "how it all started": Matthias' 
 original Usenet posting, the first pieces of code, the first package, the 
 first CVS server, the famous c't article that got many of the German 
 developers to KDE, the first KDE conference "KDE One" in Arnsberg, etc.
workshops Daniel Molkentin molkentin@kde.org
 I thought about interesting and important issues that we should discuss (and 
 possibly solve) at Nove Hrady. Please send further input so we can organize
 that in the best way. I guess it will also be imporant for the organization of 
 the event so I prereferred to post it now that later. Note that those are 
 ideas, I am not going to organize both, the other one is only sort of a 
 reminder.
 
 1) A while back, Matthias suggested KDE integration into Qt ("KDE as a 
 supported pattform for Qt"). This is very important for the perception of 
 consistance (key word: file-open dialog, but that doesn't cover everything of 
 course). What progress has Trolltech already made for Qt4 wrt that? I'd like 
 to propose to set up a "task force" from TT and KDE developers that work out 
 a sensible plan. Should this be done a workshop? Matthias, what do you think?
 
 Type: Workshop
 Participants: TT developers, KDE developers
 Organizer: open, any takers?
 
 2) Under Windows, MacOS and other operating systems, the user is used to a 
 consistant set of tools for basic system administration. Currently every 
 distribution ships their own setup routines for that. While this is perfectly 
 fine for the setup itself, I think tools for basic system administration (at 
 least for the average set of tasks a home user has, I'd prefer DE-integrated 
 tools (I am thinking of a KControl spin-off similar to KInfoCenter containing 
 applets for (basic) system administration). Those should have backends for 
 each distributor to fit his needs (ideally perl I guess, assuming Perl 
 knowlege > C++ kowledge at most distributors). The other side is probably the 
 marketing side of things (many people buy Distributions because they like 
 their tools, so I guess many don't even want to drop sets of them for the 
 sake of something common. This also needs to be worked out.
 
 Type: Workshop
 Participants: KControl-involved/interested developers, distributors
 Organizer: so far only me. Chris, can you come/are you interested?
talk about kde-cygwin Holger Schroeder holger-kde@holgis.net
 i am Holger Schroeder ( holger-kde@holgis.net ), i am studying Mathematics and 
 Computer Sciences in Hannover, and i am a kde addict snce about two years.
 i am working for automatix ( www.automatix.de ) half of the time for 
 commercial projects and half of the time for open source stuff, in the same 
 way as Zack Rusin.
 
 i am mainly working on two areas in kde:
 
 - adding support for the openoffice file format to koffice. not su much time 
 for this at the moment :(
 
 - getting kde running on microsoft windows as native as possible ( 
 kde-cygwin.sf.net )
 
 i would like to give a talk about the kde-cygwin project.
 
 Abstract:
 
 The kde-cygwin project makes KDE available on Microsoft Windows Operating 
 Systems. Currently the only way to do this is to use Cygwin ( www.cygwin.com 
 ) and to use a X-server in Cygwin.
 This already works fine, but it has some drawbacks: All kde windows are inside 
 a big X window, and not directly on the Windows desktop, and only the X 
 window appears in the Windows-"taskbar". Also the X-server eats performance.
 So i started to dig into the kde and qt sources and looked for parts, that 
 were X-dependant. Then i started porting the GPL´ed qt for x11 to use native 
 Windows gdi calls. This project can be found at 
 http://kde-cygwin.sourceforge.net/qt2-win32/ . Then i got a commercial qt 
 license for x11 and for Windows, so i am not allowed to continue working on 
 the qt-win32 port. i guess i finished about half of it. All the drawing stuff 
 works, only parts of the rest are missing.
 
 So now i am able to take the KDE sources and replace the X-dependant stuff by 
 something that works under Windows or simply comment it out. There is only 
 little functionality in kde that depends on X directly instead of the qt 
 routines. it is mainly the handling of keyboard input (global shortcuts, ... 
 ), querying for screen properties ( x11AppDpiX() ... ) and the NETWM stuff.
 
 I think i will have something usable running at the meeting. Supporting ms 
 windows is a goot thing IMHO, and that would mean we have to sort these few 
 issues out in a clean way.
 
 Then there is also the issue with regard to the commercial qt license. it is 
 ok with me, when i will be compiling all kde programs for windows. but 
 perhaps people on windows should be able to learn programming with kdevelop 
 too. i think this will be a quite interesting discussion...
 
 
 <<< end abstract.
 
 i think this talk will fit fine into 45 minutes. first i would like to show 
 off, how kde looks under windows, for example konqueror, kmail, koffice. then 
 i want to explain what exactly i did to get it running, explain what in kde 
 is platform dependant and how this could be solved.
 then i want to explain what i did at the qt-win32 port, and explain what is 
 left to be done to have a fully-funtional qt for windows under gpl.
 ( if this is wanted, is another question... )
KDevelop presentation Harald Fernengel harry@kdevelop.org
 KDevelop 3.0
 
 KDevelop started as an ambitious project to bring an easy to master integrated 
 development environment (IDE) to KDE. The upcomming release of KDevelop is a 
 big milestone for the project. The code is a total rewrite and features a 
 plugin-based language-independent infrastructure. A lot of work has been put 
 into the new version making it one of the largest KDE application currently 
 available.
 
 The presentation will feature developing with KDevelop as well as developing 
 on KDevelop. Main points reach from project generation to handling the 
 project management, version control, debugging as well as handling and 
 customizing the IDE. The focus lies on C++/KDE development, but also touches 
 scripting projects (perl, php, python) and other supported programming 
 languages like ada, java or pascal. A brief overview of KDevelop's structure 
 illustrates how easy it is to extend the IDE with additional features.
 
 Arrangement:
 
 - A glance at the IDE
 - Kicking off a new project
 - Project management with automake, qmake or ant
 - Handling version control systems
 - Debugging
 - Using the documentation browser
 - Extending the IDE
 
 Timeframe: 45 minutes talk followed by 15 Minutes Q&A
 
 Harald Fernengel , assisted by Roberto Raggi 
 
The Knot - A SLP-based Zeroconf solution Tim Jansen <tim@tjansen.de>
 Abstract
 
 Zero Configuration Networking allows computers and other devices to
 communicate without any manual configuration. This means that
 computers and devices on the same network must assign themselves IP
 addresses, without the presence of a DHCP server. Systems must
 broadcast their names on the network, and they must be able to
 announce the services that they offer.
 
 SLP (RFC 2608) is a proposed IETF-standard for a extendable and
 scalable service location protocol. It can publish information about
 network services in the form of a URL bundled with a set of
 attributes. In small networks SLP can work without any servers as a
 peer-to-peer system. In larger networks one or more servers need to be
 deployed. Clients will discover and use these servers automatically.
 
 The Knot is an implementation of SLP with a focus on security and
 extendability. It is implemented in C++ using Qt/TinyQ and comes with
 a powerful KDE API. Several small extensions allow to use it for
 naming as well as File Sharing with existing protocols like NFS and
 SFTP.
 
 This talk gives an introduction to the concepts of Zeroconf and its
 implementations with a focus on SLP and presents the Knot. It will be
 assumed that the listener has basic TCP/IP knowledge.
 
KWallet George Staikos staikos@kde.org
    Here is my proposal for a presentation on the upcoming KWallet for KDE 3.2.  
 Unfortunately I have been unable to confirm my ability to attend the 
 conference yet, but I still hope to do so.
 
 
 KWallet
 
 KDE 3.2 will include a new subsystem for storing sensitive data such as 
 passwords, web forms and certificates in strong encryption containers known 
 as "wallets".  This behaviour mirrors the behaviour of implementations such 
 as Mozilla's Wallet, Apple's Key Ring, and other similar subsystems.  It also 
 extendes these concepts by implementing generic storage mechanisms and user 
 interfaces, allowing more complex data to be stored and shared amongst 
 applications as well as allowing the user to easily manage the stored data 
 and control which applications may access it.  This paper will outline the 
 architecture of KWallet as well as discuss how and why application developers 
 should take advantage of what KWallet has to offer.  It will include examples 
 of applications presently using KWallet.
Performance Analysis Josef Weidendorfer <Josef.Weidendorfer@in.tum.de>
 Performance Analysis of GUI applications on LINUX
 
 
 Optimizing performance in a LINUX application is a difficult task
 using the legacy profiling tools like gprof. Especially in the scope
 of GUI applications using shared libraries and dynamically opened plugins,
 these tools are difficult to use and often can't help at all.
 The result is, that in most cases, performance optimization doesn't happen
 at all. If there's an obvious performance problem, one has to
 estimate the location of the bottleneck or resort to handcrafted
 meassurement routines.
 
 Last year, a tool for instrumenting binary code on the fly was
 released for LINUX under the GPL: Valgrind. Using its technique first as a
 memory debugging, its astonishing features and ease of use made it
 quickly the number one tool in the open-source LINUX community.
 In contrast, Valgrinds usefullness for program execution analysis is
 less known, but likewise powerful. It's based on the
 cache simulation extension "cachegrind", delivering flat profiling on
 a source line level. But to get a real overview of the performance
 characteristics of your program, the meassured costs have to be attributed
 to functions or even libraries. Also, you want to see the cost of a
 function including the cost of all the functions called from there.
 This is especially important for programs doing the real work in
 third party libraries with long call chains like GUI applications.
 Thus, call tracing was added to "cachegrind", resulting in the tool
 "calltree".
 
 To make use of the huge amount of data delivered by this tool, one
 needs a powerful visualisation, allowing for quick browsing at different
 granularities ranging from costs of instructions to summed up costs of a
 whole shared library. A tool delivering these features is KCachegrind,
 likewise released under the GPL.
 
 In the paper, first I will give an overview of techniques and problems of
 performance profiling in general, the availability of tools for LINUX,
 and how the "calltree" extension of Valgrind comes into play here.
 Then, I will show the requirements for a visualisation tool to enable
 successfull performance analysis, together with the featureset of
 KCachegrind. The paper finishes by showing the typical use case of
 the toolchain calltree/KCachegrind together with a standard KDE
 application, and the steps involved for practical use in performance
 optimization.
 
 [For the talk, depending on availability this will result in a
 live presentation]
Accessing the internals of QObjects Richard Moore rich@xmelegance.org
 Accessing the internals of QObjects
 ===================================
 
 QObjects form the core of Qt and KDE and provide a number of powerful facilities
 including the signal/slot mechanism, a navigable tree and properties. While the
 public APIs provided by Qt are enough for many applications, they are not
 sufficient for all purposes forcing us to use undocumented features to implement
 facilities such as the Qt-DCOP bridge and the KJSEmbed QObjectProxy class. This
 paper discusses the undocumented features that were used to create the
 QObjectProxy, and the difficulties that were faced. It will further discuss what
 would be required to create a reusable library that conceals these undocumented
 techniques behind a maintainable API making it practical to use them more widely
 in creating bindings to other scripting languages or communication systems.
 
workshops Daniel Molkentin molkentin@kde.org
 I thought about interesting and important issues that we should discuss (and 
 possibly solve) at Nove Hrady. Please send further input so we can organize
 that in the best way. I guess it will also be imporant for the organization of 
 the event so I prereferred to post it now that later. Note that those are 
 ideas, I am not going to organize both, the other one is only sort of a 
 reminder.
 
 1) A while back, Matthias suggested KDE integration into Qt ("KDE as a 
 supported pattform for Qt"). This is very important for the perception of 
 consistance (key word: file-open dialog, but that doesn't cover everything of 
 course). What progress has Trolltech already made for Qt4 wrt that? I'd like 
 to propose to set up a "task force" from TT and KDE developers that work out 
 a sensible plan. Should this be done a workshop? Matthias, what do you think?
 
 Type: Workshop
 Participants: TT developers, KDE developers
 Organizer: open, any takers?
 
 2) Under Windows, MacOS and other operating systems, the user is used to a 
 consistant set of tools for basic system administration. Currently every 
 distribution ships their own setup routines for that. While this is perfectly 
 fine for the setup itself, I think tools for basic system administration (at 
 least for the average set of tasks a home user has, I'd prefer DE-integrated 
 tools (I am thinking of a KControl spin-off similar to KInfoCenter containing 
 applets for (basic) system administration). Those should have backends for 
 each distributor to fit his needs (ideally perl I guess, assuming Perl 
 knowlege > C++ kowledge at most distributors). The other side is probably the 
 marketing side of things (many people buy Distributions because they like 
 their tools, so I guess many don't even want to drop sets of them for the 
 sake of something common. This also needs to be worked out.
 
 Type: Workshop
 Participants: KControl-involved/interested developers, distributors
 Organizer: so far only me. Chris, can you come/are you interested?
Qt talk submission Matthias Ettrich ettrich@trolltech.com
 Qt - past, presence and future
 -----------------------------
 
 In my talk I am going to give an overview on how Qt developed in the
 past, what we at Trolltech have been doing lately and what our plans
 for the upcoming years are. The focus will be on topics relevant for
 KDE, such as performance, flexibility, and productivity.
My research about KDE A. Brand A.Brand@em.uni-frankfurt.de
 Sorry, I posted this on the nove-hrady-mailinglist. I got Info about the
 submission only recently from mails in the list.
 So please see text below.
 
 yours
 Andreas Brand
 
 Besides: I would prefer a speech at the first weekend of your meeting.
 
 > -----Ursprüngliche Nachricht-----
 > Von: anbrand [mailto:A.Brand@em.uni-frankfurt.de]
 > Gesendet: Donnerstag, 22. Mai 2003 16:22
 > An: novehrady@mail.kde.org
 > Betreff: My research about KDE
 >
 >
 > Hello KDE-Nove-Hrady-Planning-People,
 > I have read that you are planing a KDE-meeting at Nove Hrady. I
 > do not know if you remember me but I did ask you questions and
 > let some of you fill out surveys at last years linuxtag. After a
 > lot of time I have nearly finished my research. My research
 > consists of a case study, the analysis of the survey (linuxtag)
 > and the analysis of interviews from tink. The findings of the
 > case study are attached to this mail. The findings of the
 > quantitative studies could be found at
 > http://www.uni-frankfurt.de/fb03/arbeitslehre/brand_veroeffentlich
 > ungen.htm (the working papers at
 > http://www.uni-frankfurt.de/fb03/arbeitslehre/Auswertung%20Selbsti
 > nterviews%20OS-community%20V0,5.pdf and
 > http://www.uni-frankfurt.de/fb03/arbeitslehre/Auswertung%20quan%20
 > Interviews%20OS-community%20V0,5.pdf). These working papers (the
 > quantitative studies) are in a pre-beta Phase and I have seen
 > that the pdf-format has omitted something at diagrams in this
 > papers. But nevertheless I think, the findings are interesting
 > for you. If you have questions or remarks about some findings
 > feel free to mail me.
 > I am also in contact with the planing group of linuxtag 2003 for
 > a speech about these findings.
 >
 > I want to reflect/give back my research to your community. So my
 > question is, if I could give a speech or workshop at your
 > KDE-meeting at Nove Hrady (Probably the same as on the Linuxtag).
 >
 > Sorry,
 > I forgot: the texts about my research are in german. I have and
 > had no time to translate them in english. I asked my girl-friend
 > to translate the quantitative studies but this will take some
 > time (also they are in a pre-beta phase so translation is not
 > worth the effort). I hope you will understand this problem.
 > But I could hold the speech in english, so that everyone could
 > understand it.
 >
 > Best wishes
 > Andreas Brand
 >
 > Besides: It seems that there are some people who are interested
 > in the research. F.e. Stephan Binner contacted me and asked for findings.
 
 Andreas Brand: Die Struktur, Eintritt, Leistungserstellung, Motivation
 und Kontrolle in einem Open Source-Projekt
 Paper für einen Vortrag auf dem Linuxtag, 10.-13. Juli
 
 
 Kontakt:
 
 Dipl. Soz. Andreas Brand
 Project electronic labourmarkets (PELM) / Projekt elektronische Arbeitsmärkte
 Johann W. v. Goethe Universität / Johann W. v. Goethe University
 Institut für Polytechnik und Arbeitslehre / Institute for polytechnic and laboursciences
 Email: A.Brand@em.uni-frankfurt.de
 Url:   http://www.uni-frankfurt.de/fb03/arbeitslehre/StartseitePELM.html
 
 
 Struktur: 
 Innere Struktur von KDE:
 
 Bei diesem Open Source-Großprojekt handelt es sich um eine weltweit
 verteilte Gruppe von ca. 800-1000 Menschen (ca. 800 cvs-accounts ohne
 den Großteil der Übersetzer), die vor allem aus Europa, besonders
 Deutschland, kommen. Die meisten Projektbeteiligten kommen aus dem
 Kerneuropa, d.h. D, F, GB, Benelux, und einige aus USA/Kanada.
 
 Es existieren aber auch regionale Cluster, wie z.B. in
 Nürnberg/Erlangen. Die Gruppe ist recht homogen, da der größte Teil
 der Personen männlich und zwischen 20 und 30 Jahren alt ist. Ein
 großer Teil der Projektbeteiligten sind Studenten, ein anderer großer
 Teil sind Erwerbstätige. Gemeinsam ist der überwältigenden Mehrheit,
 daß sie entweder eine IT-Studium oder IT-Ausbildung absolviert oder
 absolviert hat. Schüler, Lehrlinge, Arbeitslose und Erwerbstätige aus
 anderen Bereichen bilden dagegen eine Minderheit. Z.T. gibt es auch
 mitarbeitende wissenschaftlich Tätige und Projektbeteiligte, die sich
 selbständig gemacht haben und Dienstleistungen um das Open
 Source-Projekt anbieten.
 Alle arbeiten freiwillig, als Hobby, an der gemeinsamen Erstellung
 eines Desktops. Es gibt verschiedene Tätigkeitsbereiche in der Open
 Source-Community, wovon die Softwareentwickler und die Dokumentierer/
 Übersetzer, die wichtigsten sind. Die Softwareentwickler stellen zwei
 Drittel, die Dokumentierer/ Übersetzer ca. ein Drittel und andere
 Tätigkeiten, wie z.B. Homepagepflege, Graphik-/Sounderstellung, nur
 ca. 5 %.
 Die wichtigsten Werkzeuge stellen die Mailinglisten für die
 Kommunikation und das Dateiablagesystem für die Produktion dar. Das
 Open Source-Projekt besteht einerseits aus wenigen wichtigen und
 zentralen Unterprojekten, andererseits aus vielen kleinen
 Ein-Personen-Subprojekten.
 
 Äußere Struktur bzw. Einbettung von KDE:
 Die Umwelt des Großprojekts besteht einerseits aus anderen Open
 Source-Projekten, Unternehmen und Endanwendern. Es gibt Konflikte
 zwischen der Umwelt des Großprojekts und dem Großprojekt
 selbst. Konflikte zwischen verschiedenen Open Source-Projekten sind
 selten, aber wenn sie auftreten, geht es um die normativen Grundlagen
 der allgemeinen Open Source-Community, wie dem konkreten Umgang mit
 den Lizenzen. Die guten Beziehungen zu anderen Open Source-Projekten
 werden durch die Nutzung von Werkzeugen dieser Projekte im Großprojekt
 untermauert. Weit mehr normative Konflikte um die Anwendung der Lizenz
 des Großprojekts gibt es zwischen dem Großprojekt und Unternehmen,
 wobei sich die Konfliktthemen um die Übernahme, Veränderung und
 Verkauf von Quellcode sowie um die Reputation durch copyright-Vermerke
 drehen.
 
 Funktionsweise:
 Eintritt:
 
 Aufmerksam auf das Projekt wurden viele durch die Nutzung einer
 Linux-Distribution, Freunde und Computer-Zeitschriftenartikel. Am
 Anfang des Projekts wurde aber vor allem über Mailinglisten und
 Usenet-Foren geworben. Das Projekt existiert seit 1996, die meisten
 sind aber erst 1999 bis 2002 eingetreten.
 Der Eintritt in die Community erfolgt nach dem Signalisieren von
 Interesse an der Mitarbeit durch Zusenden von kleinen
 Quellcodeveränderungen. Nach mehrmaligem Zusenden erhalten die
 Neulinge die Schreibberechtigung für das Dateiablagesystem. Dies
 erfolgt relativ schnell, im Rahmen von 0,5 bis 1 Jahr.
 Der Eintritt ist dabei als ein Selbstselektionsprozeß zu sehen, wobei
 die Selbstmotivation eine große Rolle spielt. Nach dem Eintritt
 besteht die Möglichkeit durch Reputation in den inneren Kreis
 aufzusteigen. Der innere Kreis ist eine schwer abgrenzbare Gruppe von
 Personen, die sich um das Projekt verdient gemacht und deswegen
 Reputation bzw. sozialen Status erlangt haben. Die Reputation besteht
 aus verschiedenen Elementen, wie Seniorität/ Erfahrung,
 kontinuierliche Leistung, freundlichem/kooperativen Umgang und
 Sichtbarkeit. Freiwillige Austritte erfolgen durch die Hinwendung zu
 anderen Aufgaben, wie Familie oder Erwerbsarbeit, Zwangsaustritte
 durch das Übertreten von wichtigen Normen, wie z.B. das
 unabgesprochene Löschen von Quellcode.
 
 Leistungserstellung, Arbeitsverteilung und Arbeitszusammenführung
 Es gibt eine operative und eine strategische Entscheidungsebene, wobei
 sich die operative um die konkrete Softwareerstellung und die
 strategische um rechtliche Probleme und visionäre Ziele dreht. Die
 strategische Ebene wird von den Personen aus dem inneren Kreis
 vertreten, die sich Reputation erworben haben.  Die Produkterstellung
 steht in dem Open Source-Projekt im Mittelpunkt. Die
 Softwareentwicklung erfolgt normalerweise in einem Versuch und
 Irrtums-Prozeß, wobei derjenige über seine Arbeit entscheidet, der die
 Arbeit macht. Dabei wird konkret entweder ohne anfängliche Skizzen
 bzw. andere formale Hilfsmittel sofort programmiert oder sich vorher
 im Kopf beim Sport ein möglicher Lösungsweg ausgedacht. Nur eine
 Minderheit entwirft vorher ein formales Modell, das später
 programmiert wird. Damit fällt die Leistungserstellung und die
 Arbeitsverteilung zusammen.
 Die Arbeitszeit ist sehr heterogen und stark gespreizt, zwischen ein
 paar Minuten und 14 Stunden pro Tag, d.h. ca. 0,5 und ca. 90 Stunden
 pro Woche. Im Mittel wird zwischen 2-3 Stunden pro Tag für das Projekt
 aufgewendet. Es wird vor allem während der Freizeit gearbeitet, wenn
 man von den Personen absieht, die für die Arbeit an dem Projekt von
 projektnahen Unternehmen, wie Distributoren, angestellt
 wurden. Probleme bestehen deswegen vor allem mit dem Partner und der
 Familie wegen des zeitaufwendigen Hobbys.
 Die meisten gaben an, bei 1 bis 4 Projekten mitzuarbeiten. Der Median
 lag dabei bei 2 Projekten. Die durchschnittliche Personenzahl sind 3-4
 Personen pro Subprojekt. Bei der maximalen Zahl liegt der Durchschnitt
 eher bei 6-8 Personen. Vereinzelt können Subprojekte mit über 10-20
 Personen auftreten. Die Personen aus dem inneren Kreis gaben an, bei
 Projekten mit mehr Personen als der durchschnittlich
 mitzuarbeiten. Außerdem sind die Personen aus dem inneren Kreis an
 mehr Subprojekten beteiligt als die anderen Projektbeteiligten.
 
 
 Die Arbeitsaufteilung erfolgt über die freiwillige Übernahme von
 Arbeiten, wobei ein Projektkoordinator mit Mitarbeitern sein Projekt
 überwacht. Bei der Arbeitsverteilung werden Absprachen zwischen den
 Subprojektmitarbeitern getroffen, wobei Vertrauen zur Einhaltung der
 Absprache eine wichtige Rolle bei dem Open Source-Projekt spielt. Der
 Projektkoordinator ist für die Fehlerlosigkeit seines Projekts
 verantwortlich. Vom Projektkoordinator wird z.T. die weitere
 Bearbeitung seines Projekts erwartet. Entscheidungen über die
 Übernahme von Quellcode oder die weitere Entwicklung des Projekts
 werden im Konsens gefällt. Allgemein ist die Zustimmung zu einer
 Mitsprachemöglichkeit im Subprojekt hoch. Doch gibt es eine Tendenz,
 daß Projektleiter und Personen aus dem inneren Kreis eine eher höhere
 Mitsprachemöglichkeit angeben als die Personen, die nur Beteiligt
 sind.
 Der Projektkoordinator hat dabei keine besonderen Machtbefugnisse. Nur
 Projektbeteiligte aus dem inneren Kreis genießen wegen ihrer hohen
 Reputation besonderen Einfluß und Vertrauen. Bei Konflikten wird von
 diesen eine Schlichtung erwartet.
 
 Die gemeinsame Arbeit wird in einem Release zusammengeführt. Es gibt
 eine offizielle Veröffentlichung, den Release, der nach einem
 koordinierenden Releaseplan herausgegeben wird. Zuständig für die
 Kontrolle dieses Plans und für die Übernahme von stabilen Programmen
 ist der Releasekoordinator, der diesen speziellen, koordinierenden
 Posten für den inneren Kreis übernimmt.
 
 Motivation/Gratifikation
 Es sind monetäre und nicht-monetäre Motivationsgründe zu
 unterscheiden. Die monetären Gründe existieren, da Personen für die
 Arbeit an dem Open Source-Projekt angestellt wurden (vergleichbar
 Sponsoring des Projekts). Andererseits bekommen die Projektbeteiligten
 Werbegeschenke und Geräte auf dem neuesten technologischen Stand
 ausgeliehen, was dem Sponsoring von Einzelpersonen gleichkommt. Einige
 gaben an, kurzzeitig monetäre Gratifikationen für bestimmte Arbeiten
 von projektnahen Firmen bekommen zu haben. Manche bekommen für
 Arbeiten um das Projekt, wie Vorträge und Zeitschriftenartikel Geld.
 
 Die nicht-monetären Motivationsgründe überwiegen aber in diesem
 Projekt. Die Motivation der Projektbeteiligten setzt sich aus einer
 Mischung intrinsischer und extrinsischer Elemente
 zusammen. Intrinsische Motivationen sind eigene Probleme zu lösen oder
 der Spaß am Programmieren. Diese Motivationsgründe wurden von einer
 großen Mehrheit als wichtig bezeichnet. Die extrinsische Motivation
 ist u.a. auf die Community und ihrer kooperativen Kultur bezogen. Dazu
 zählen soziale Anerkennung (Reputation) und gegenseitige Hilfe. Diese
 Motivationsgründe werden auch von einer Mehrheit für wichtig
 erachtet. Konflikte können dabei einerseits die Motivation im Projekt
 durch Beleidigungen senken, aber andererseits durch das wecken von
 Ehrgeiz erhöhen. Die zukünftigen Arbeitsplatzmöglichkeiten stellen
 auch einen Motivationsgrund dar.
 
 Die persönlichen Treffen stellen eine wichtige Motivationsquelle
 dar. Die Personen, die schon länger am Projekt beteiligt sind (innerer
 Kreis), haben schon andere Projektbeteiligte getroffen. Die Treffen
 erfolgen vor allem auf Linux-Konferenzen, seltener auf
 projektbezogenen Programmiertreffen, wie vor großen Releases, oder
 wegen räumlicher Nähe.
 
 Mit der Motivation hängen auch die Hobbies zusammen, da das Projekt
 als zeitaufwendiges Hobby angesehen wird. Es gibt eine Fraktion die
 generell technikfasziniert ist. Es können zwei Lager ausgemacht
 werden: das erste verwendet das Programmieren zum Abschalten und das
 zweite , bei dem die Personen keinen Computer mehr sehen können. Sonst
 fällt nur auf, daß die Hobbys stark gestreut sind. Das Lesen von
 Comics, Science-Fiction- oder Fantasybücher ist und sportliche Hobbys
 sind verbreitet.
 
 
 Kontrolle
 Die Kontrolle der Arbeit im Open Source-Projekt läuft über die
 Kontrolle der Qualität des Quellcodes. Dies erfolgt auf der operativen
 Ebene. Die Qualität wird durch Selbstkontrolle durch gleichzeitige
 Nutzung der Software, stichprobenartigen Kontrollen durch
 Projektkoordinatoren und den Einbezug der Endnutzer über ein
 Fehlerberichtsystem erhöht. Es besteht dabei ein Konflikt zwischen der
 selbstbestimmten Arbeitsweise und der Endnutzerorientierung der
 Community, was sich in kleineren Streitigkeiten entlädt. Auf der
 strategischen Ebene kontrolliert der innere Kreis die Einhaltung von
 Normen bei der Produktion, Kommunikation und Nutzung der gemeinsamen
 Software. Dabei ist der innere Kreis für die Einheit des Großprojekts
 bzw. für das einheitliche Auftreten zuständig.
 
 Es kristallisieren sich drei Kanäle für Störquellen heraus. Erstens
 gibt es Konflikte bei der Kommunikation, d.h. auf den Mailinglisten,
 aber auch beim Chatsystem. Hier sind die meisten Störungen zu
 finden. Störungen von Projektbeteiligten werden verbal geahndet,
 projekt-externe Störungen werden üblicherweise ignoriert. Zweitens
 gibt es bei der Nutzung von Quellcode hin und wieder Konflikte und
 Probleme mit Trittbrettfahrern, die sich um die GPL-Lizenz
 drehen. Dies wird normalerweise bei Firmen durch schlechte Publicity
 geahndet. Drittens kommen Störungen bei der Leistungserstellung im
 Dateiablagesystem selten vor. Dies wird durch Zurückspielen des
 vorherigen Quellcodes und u.U. Sperrung des Zugangs sanktioniert.
 
 Es gibt bei den kommunikativen Konflikten mehrere Themenbereiche, die
 öfters auftreten. Der erste Bereich, der am häufigsten Auftritt, ist
 über Konflikte bei der zukünftigen Entwicklung des Großprojekts und
 der Subprojekte. Im zweiten Bereich, der seltener auftritt, kommen
 folgende Konfliktgründe vor: Nichtbeachtung von Beiträgen, Ablehnung
 von eingereichtem Quellcode (z.B.: patches), Löschen oder Verändern
 von Quellcode, Qualität von programmiertem
 Code/Übersetzung/Dokumentation und Art der Kommunikation. Ganz selten
 bis nie treten die Konfliktarten Aufgabenverteilung, (verkannte)
 Anerkennung für geschriebenen Quellcode, Selbstüberschätzung der
 eigenen Leistung und Anspruchshaltung auf.
 
 
Development and Use of Scripting Interfaces for KDE Applications with DCOP Ian Reinhart Geiser geiseri@kde.org
 Abstract:                                              
 
 For almost as long as Unix has existed the shell script has been a integral 
 part of the system.  These shell scripts automate and control the system and 
 allow users to encode complex tasks into a simple program.  Over the course 
 of evolution of the Unix Desktop the GUI (Graphical User Interface) has made 
 scripting Unix applications much more difficult.  One solution to this 
 problem in the KDE (K Desktop Environment)1 project was to use DCOP (Desktop 
 Communications Object Protocol)2.  DCOP allows developers to export 
 functionality of their application to be controlled from external 
 applications.   This can allow users to automate GUI applications without the 
 need of mouse event recording and custom event recorders.   
 
 The two main focuses of this paper will consist of the development of useful 
 scripting interfaces for automation and the use of them from the system shell 
 and python.  The first portion will deal with using proxy classes in KDE 
 Libraries to export complex functionality from widgets to the outside world.  
 It will also deal with issues of how to effectively provide interfaces for 
 scripters to use.  The second portion will cover how to effectively use dcop 
 interfaces from shell and python.  It will also discuss the use of 
 KScriptInterface3 script engines to provide macro facilities to applications.  
 
 1) More information can be found at http://www.kde.org
 2) DCOP Information can be found at 
 http://developer.kde.org/documentation/library/kdeqt/dcop.html
 3) KScriptInterface Developer information can be found at 
 http://developer.kde.org/documentation/library/3.1-api/classref/interfaces/KScriptInterface.html
TaskJuggler Chris Schlaeger cs@suse.de
 I know the deadline has passed already. But you might want to consider this 
 anyway. If of interest, I can hold a talk about TaskJuggler. A Qt based 
 Project Management tool we have developed at SuSE.
 
 Abstract:
 <--8<-->
 
 The talk is an introduction to the TaskJuggler Project Management Software. It 
 will describe the concept and ideas behind TaskJuggler and then continue with 
 a brief overview of the project description language. Basic topics like task 
 hierachies, resource definitions, resource allocations, vactions, and shifts 
 will be covered. 
 
 Using a made-up software development project as an example, the whole workflow 
 of project planing, project tracking and profit and loss analysis will 
 illustrated. Finally report generation and XML exporting will be explained. 
 
 The talk is intended for everybody that is involved with planing and tracking 
 of projects. More info can be found at http://www.taskjuggler.org.
 <--8<-->
 
The KDE Build system - into hell and back Stephan Kulow <coolo@kde.org>
 Abstract
 
 As technologies like distcc (http://distcc.samba.org)
 and teambuilder (httpp://www.trolltech.com/products/teambuilder)
 came up, it became clear that automake hinders us
 in getting the best ouf ot these tools. The other problem
 with automake we have is the need for am_edit to get
 our developers to code instead of fiddling with Makefiles.
 
 My talk will _shortly_ introduce the way our build system
 is set up and then I'll go on giving you an idea why unsermake
 is such a great replacement for automake and why do you 
 want to use it even on single machines.
 
A KDE Usability Study -- Goals, Results and Future Challenges Eva Brucherseifer <eva@kde.org>
 Abstract
 
 KDE's rich and continously growing set of applications as well as its=20
 exemplary
 stability and performance offer the chance for traditional Windows users in
 administrative and business environments to migrate to Linux not only in the
 server but especially also in the desktop area. At the moment we face the
 beginning of such a transition process and there are already a number of
 promising examples for it.
 
 However, this situation raises the demand for an in depth comparison of
 usability concepts between KDE and traditional Windows desktops. Our paper
 describes our activities and results from a task-based study, which tried to
 gain new insights in this domain and was carried out in June 2003.  It
 discusses the intentions of a test with a significant number of ``tradition=
 al
 Windows users'' who got the chance to solve a number of standard office tas=
 ks
 on a KDE system as well as on a Windows XP system. The users behavior was
 filmed and analyzed afterwards.
 
 We show the way we have configured the KDE desktop to meet the expected=20
 demands
 in a proper way, explain our intentions and rationales and evaluate the=20
 results
 of this study. The paper raises a number of questions that we consider worth
 observing for future development and indicates the great challenges but
 especially opportunities that result from the migration of large installati=
 ons
 from Windows to Linux systems in business environments.  A general trend in
 this direction can be expected for the near future.
KStreamer in KDE-4.0 Ronald Bultje <rbultje@ronald.bitfreak.net>
 Abstract
 
 GStreamer is a full-featured media framework, currently included in the
 stable Gnome-2.2 desktop series. KStreamer is the nickname for the
 KDE/QT bindings for GStreamer, currently used in KDE-applications like
 JuK. This paper will aim to give a demo/overview of several things that
 are possible with this powerful framework, how GStreamer is technically
 built up, and how KStreamer could become the basis of a new media
 framework in KDE-4.0.