Paid vs Volunteer Open Source Software Developers

Recently, I’ve been puzzled by the lack of references on whether most of open source development is done by volunteers or paid developers. My intuition is that volunteer work is still largely underestimated and invisibilized. Since most big tech companies advertise their contributions to open source and some even have business model based on open source software, because of this fine communication, the perception is skewed towards thinking that most of this work is financed by them.

The often cited study from Riehle et al. estimated back in 2014 that 50% of open source work was being done by paid developers. I still find this extremely generous considering that there is 12.1 million open source software packages in the world and 1.9 million maintainers, according to https://ecosyste.ms.

Then I stumbled on this study of the Rust project attempting to differentiate paid from volunteer open source developers. Here is their perspective:

A number of studies have previously discussed differences between paid developers and volunteers, with varying ways to distinguish these two groups. Several early studies established that some OSS developers were paid for their work. These survey studies indicated that considerable numbers of respondents (38%- 55%) contributed during work time. These studies considered open source development work that is effectively paid for by companies who support OSS communities—whether these companies are aware of it or not. Riehle et al.’s 2014 study of project repositories considered contributions made during 9am-5pm during weekdays as ‘paid work’; based on this heuristic, they estimated that 50% of OSS work is paid for by companies. However, a recent study by Dias et al. of five company-initiated OSS projects found that most contributions happen between 9am-5pm for both paid developers and volunteers, which casts some doubt on the conclusions by Riehle et al.

https://arxiv.org/abs/2401.13940

The researchers propose to distinguish paid vs volunteer developers based on the frequency and types of contributions that developers make.

Paid developers and volunteers differ in their contribution behavior: paid core developers tend to contribute more frequently to Rust than volunteer core developers; one-time paid developers tend to contribute bigger commits compared to one-time volunteers; and paid peripheral (including one-time) developers tend to focus more on implementing features in comparison to volunteers.

They only looked at the Rust, but their research produced these results:

Only 7.0% of developers (i.e., core) account for 80% of the total commits of Rust. Among the core developers, 55 are paid developers and 217 are volunteers.

The study acknowledges that Rust is not the full open source ecosystem. And the borderline between paid and volunteer will never be clearly defined. But the tension between corporate open source contributions and volunteer ones is still very much there. And the long tail of open source software devs being mostly unpaid.