While the KDE project continues to research and develop the ideal desktop environment, now the KDE community and development processes themselves have been studied and researched by at least two different efforts: Christian Reinhardt of University of Innsbruck chose to study KDE for his "Collaborative Knowledge Creation in Virtual Communities of Practice" Master's thesis. Christian would be very grateful for feedback in his discussion forum. Meanwhile, Dipl. Soz. Andreas Brand of Johann W. v. Goethe University also chose to study KDE in "The structure, entrance, production, motivation and control in an Open Source project" which he has already presented at this year's LinuxTag as well as at the KDE Conference (English slides available). You can read an English summary of his German paper below as translated by the KDE i18n German team.
The structure, entrance, production, motivation and control in an Open Source project
Author: Dipl. Soz. Andreas Brand
This Open Source large-scale project is a world wide distributed group of about 800-1000 people (about 800 cvs-accounts, not even counting most translators). Nearly all of the contributors come from central Europe, mainly Germany, France, Great Britain, the Benelux and a few from USA/Canada.
There are also regional clusters, for example at Nürnberg/Erlangen. This group is really homogeneous. Most of these people are male and between 20 and 30 years old.
A big part of the project members are students, another one employed persons. The greatest number are studying or have studied in the IT sector. Students, trainees, unemployed persons and employed persons from other fields are a minority. There are also a number of scientists and project contributors who are self-employed and offer services around the Open Source Project.
They are mainly working voluntarily, as a hobby, on the common task of creating a free desktop environment. There are different fields of activity in the Open Source community, with the Software developers and the documentation maintainers/translators as the most important ones. The Software developers represent two thirds of the task force, the documentation maintainers/translators about one third and other activities, such as homepage service or graphics/sound creation, only about five percent.
The most important tools are the mailing lists for communication and the source file management systems for the production. The Open Source project consists on the one hand of a few important and central subprojects, on the other hand of a lot of small single-person subprojects.
Environment and Context of KDE Project
The environment of the large-scale project consists of other Open Source projects, corporations and end-users. There are conflicts between the environment of the large-scale project and the large-scale project itself. Conflicts between different Open Source projects are rare, but if they appear, they are about the normative basics of the general Open Source community such as the correct handling of licenses. The good relations to other Open Source projects are improved by the use of tools of these projects in the large-scale project.
Many more norm conflicts about the use of the licenses of the large-scale project exist between the large-scale project and corporations where the conflict topics are about taking over, changing and selling parts of the source code, and the reputation through brand endorsements.
Joining the Project
Many people get to know the project after using a Linux distribution, talking with friends and reading articles in computer magazines. At the beginning of the project, many were recruited from mailing lists and Usenet forums. The project exists since 1996 but most the people have joined between 1999 and 2002.
The entry into this community follows after showing interest in helping by sending little source code changes. After multiple contributions the novices get the rights to write to the source file management system. This happens very fast, mostly between 6 to 12 months.
The entry has to be seen as a self-selecting process, in which the self-motivation plays a main role. After the entry there is the possibility to climb up into the inner circle by reputation. The inner circle is a distinguishable group of persons, who have worked well on the project and who have gained reputation and hence social status. The reputation here consists of different elements like experience, continuous performance, friendly and cooperative behavior and visibility. Voluntary exits are caused by acquiring other tasks and responsibilities, such as family issues or a new job, while forced exits happen by violation of important standards, such as deletion of code without agreement or consensus.
Production, work-distribution and work-consolidation
There is an operative layer and a strategic decision layer, where the operative is about the actual software creation and the strategic is about legal problems and visions.
Product-creation is the center of the Open Source project. The software development normally follows a process of trial and error where the one, who does the work, decides about it. Usually programming occurs instantly without initial drafts or other tools, although sometimes a possible solution is thought out before while doing sports. Only a minority develops a formal model that is programmed later. Hence, product-creation and work-distribution are about the same.
Working-time is very heterogeneous and variable, between a few minutes to 14 hours a day, i.e. about 0.5 and 90 hours a week. An average of 2 to 3 hours a day is spent for the project. Nearly all the work is done in free time if you don't count those people who are employed by project-friendly companies, such as distributors, to work on the project. Therefore, problems may arise between the participant and his/her family due to the time-consuming nature of the hobby.
Most contributors stated that they work on 1-4 projects simultaneously. The average is 2 projects. The average number of persons in a subproject is 3-4 persons. If you take the maximums, there are 6-8 persons. Sporadically, there are subprojects with more than 10-20 persons. The persons from the inner circle stated that they work on projects with more contributors than the average. Also persons from the inner circle participate in more subprojects than other project members.
Work-distribution is realized as a voluntary takeover of work, as overseen by a project coordinator and his or her assistants. During the work-distribution, arrangements are made between the subproject coordinators where trust in the adherence of the arrangements plays a very important role in the Open Source project. The project coordinator is responsible for the quality of his/her own duties.
Decisions about the source code or about the future development of the project are made in consensus. Normally project members have a say in the subproject. But there is a tendency that the project coordinator and persons from the inner circle have a bigger influence than persons who only participate.
The project coordinator has no extra power. Only project contributors from the inner circle enjoy special influence and confidence, because of their reputation. If there are conflicts, mediation is expected. The common work comes together in a release. There is an official release which is coordinated in a release plan. Responsible for this plan and for the assumption of stable programs is the release coordinator, who takes up this special, coordinating position for the inner circle.
We distinguish monetary and non-monetary based motivations. The monetary reasons exist because persons are employed for the work on the Open Source project (comparable to a sponsoring of the project). On the other hand some members get giveaways and are lent state of the art hardware, which resembles the sponsoring of individuals. Some stated that they temporarily got monetary bonuses for certain tasks from project-friendly companies. Some get money for tasks based around the project, such as speeches or articles in magazines.
However, non-monetary based motivation reasons prevail in this project. The contributors' motivation consists of a mix of internal and external elements. Internal motivations are for example the fun of solving interesting problems or the fun of programming. A great majority denoted these reasons as important. External motivation is, among others, oriented to the community and its cooperative culture. For this, you have to consider social recognition (reputation) and mutual help. These motivation reasons were also seen as important by a majority. In this situation conflicts can on the one hand lower the motivation through insults, but they can also raise the motivation through ambition. Better job opportunities in the future are also a motivation reason.
Personal meetings represent an important motivation source. Persons, who participate longer (inner circle), have met with other project contributors. Those meetings mostly take place at Linux conferences, and more rarely at project-oriented programmer-meetings, such as before major releases or else they take place because of local proximity.
The fact that the project can be considered a hobby, a time-consuming one, can also be seen as a motivation reason. There is a fraction of participants who are generally interested in technique. Two camps can be seen: the first one uses programming to relax, and in the second one, the persons cannot subsequently stand the sight of a computer. Other hobbies of the participants varied widely: reading science fiction or comic books and sports are very popular.
Control of the work in the Open Source project is through peer verification of the source code quality. This happens in an operative layer. Quality rises through self-checks with simultaneous use of the software, spot tests by the project coordinators and the reports of end users through a bug tracking system. Thereby a conflict exists between the self-assigned work of the project participants and the end user orientation of the community, which can often be seen in little disputes.
There are three channels for disturbances. Firstly there are conflicts during the communication, i.e. on the mailing lists, but also in the chat system. Here you can find most of the trouble. Disturbances by project contributors are punished verbally, disturbances from outside are normally ignored. Secondly every now and then there are conflicts and problems with the use of source code by free-riders and the GPL license. Infringing enterprises are usually punished through bad publicity. Thirdly disturbances in the product-creation through the source code management system occur infrequently. These events are punished by restoring the previous source code and possibly restricting the participant's access to the system.
There are several topics, which occur often in conflicts. The most frequent topic consists of conflicts that concern the future development of the large-scale project and the subprojects. The second topic of conflict, which occurs infrequently, involves: Disregarded contributions, refusal of source code patches, deletion and altering of source code, quality of code/translation/documentation and the type of communication. Also very rare are conflicts involving work-distribution, incorrect copyright attributions in source code, or exaggerated opinions of one own's performance and position in the project.