How we develop open source software can vary widely from project to project. However, the roles we play are similar across projects: user, developer, tester, documenter, committer, etc. For a while now, I have been interested in what open source means for software developer careers, in particular with respect to fame and fortune. The figure below illustrates some of this thinking:
The figure shows three key roles in open source software development:
- User role. Users use the open source software, provide feedback and bug reports, and help each other to make best possible use of the software.
- Developer role. Developers do the actual implementation work, developing new features and fixing bugs found by users.
- Committer role. Committers are gatekeepers who check community contributions for their quality and accept or reject them.
The names and exact definitions of these roles vary, and there are other roles as well, of course, but I think these three roles represent the core of what makes up the open source software developer career. Specifically, it is a progression from being a user who is drawn into a project, who then becomes a developer (or contributor) by writing code or documentation, and who finally may become a committer, leading the project and ensuring quality of community contributions before they make it into the code base.
The promotion from user to developer is implicit—someone makes a contribution and if it meets the project’s quality standards, it is officially accepted into the code base. The person can then view his or her contribution as a badge of honor demonstrating he made a good contribution at least once. It is a good thing to mention in job interviews; I typically track down code contributions and look at them if someone claims they have contributed to an open source project.
The promotion from developer to committer is explicit—most projects I know make a big deal out of it. That’s because in most projects the committers represent the core group of decision makers. Typically, someone needs to demonstrate dedication to the project and quality of work over a long period of time before the status of committer is awarded. Once in the inner circle, a committer wields significant influence on where the project is headed.
This begs the question of whether becoming a committer creates fame and fortune. I think it is easy to answer that it creates fame—being a committer is a highly visible position and the committers of a project are typically well known to the project community. But does this fame and influence translate into fortune, for example, higher salaries?
In a private follow-up to my question for a documented committer history of the PostgreSQL project, I received several emails indicating that people believed committers earn higher salaries than non-committers. But of course this is only anecdotal evidence, and there are many reasons why someone might earn above average salary.
There is also the report on open source software developer salaries (local copy) by Bluewolf, a consulting firm. They found above average salaries for open source software developers. This indicates the demand for open source skills, but not necessarily for the special status of committer.
The only scientific study of committer salaries (local copy) that I’m aware of was undertaken a while ago by Il-Horn Hann et al. Among the authors is Roy Fielding. They found that after controlling for all the variables (skills, intelligence, background, etc.) everything being equal, committers earn a higher salary than non-committers. (Being scientists, the authors talk about employers expecting higher productive capacity from committers compared with non-committers—which translates into higher wages.) Unfortunately, I have yet to see the final publication of their work.
I wonder, whether there are other studies like this? What are your thoughts on committers and salaries?
In any case, if you want to hear me wax about this some more (or just plain want to talk to me), catch me at Agile 2008 in Toronto next week, where I’ll be talking about “Open Source Software Businesses and Developer Careers.” Should be fun!