In Open Source Development, Does Money Change Everything?
FOSSBazaar recently highlighted Evangelia Berdou's doctoral thesis on the differences between the contributions of paid open source developers and volunteer contributors.
Berdou examined parallels and disconnects between paid and volunteer contributors in the GNOME and KDE projects, using earlier incidents of such events (such as the Gstreamer/Fluendo SL summit). The hypotheses and analysis she presents are thought-provoking.
Berdou interviewed a number of paid and volunteer developers working with the GNOME and KDE projects. Based on these interviews, she presents four working hypotheses:
- Paid developers are more likely to contribute to critical parts of the code base.
- Paid developers are more likely to maintain critical parts of the code base.
- Volunteer contributors are more likely to participate in aspects of the project that are geared towards the end-user.
- Programmers and peripheral contributors are not likely to participate equally in major community events.
On the surface, these hypotheses seem logical to the point of obvious. The truly curious aspect is how these hypotheses are confirmed in one project, and aren't in another. There are different people working on the two projects, and each project ultimately has a different goal and vision, but the compared projects were designed to fill the same need, the same space. They are both desktop environments.
Why are only hypotheses 2 and 4 true for KDE? Why do they all apply to GNOME? Certainly the underlying codebase, the libraries, and the characteristics of the update and release cycle are huge determinants of how the statistics break down.
It seems a bit counterintuitive considering KDE's Qt was originally code produced by a commercial organization, that at this point, KDE has fewer paid "core code base" developers than volunteer developers. It has a greater number of paid "core code base" maintainers than volunteer maintainers. It would seem, perhaps, that the introduction of new core components in KDE for that time period might have been less frequent than in GNOME, but the maintenance requirements were similar.
Volunteer developers creating and maintaining a larger percentage of the code that rests on the core base is not terribly surprising. Berdou mentions that a significant number of developers who are paid to work on the code base also contribute -- on their own time, and without compensation-- to modular projects related to the core code.
There is a major component of open source software development that is a labor of love, and many don't associate that with monetary compensation -- it is its own reward. This is certainly fine (although there aren't many in any industry who'd turn down payment to do a job they love) and this passion is part of the vitality of open source. The importance of an organization (commercial or non-profit) and the directional input and funding it can provide open source can't be overlooked. Finding the right balance -- even in different development areas of the same application -- is another challenge open source projects face.