Contributing to open source gives developers and companies big advantages, but that's not translating into broad involvement.

Image: Artur, Getty Images/iStockphoto

Open source may dominate the software we use to power the cloud, AI, and more, but a small percentage of developers do most of the coding. While it has long been true that for any given open source project, the vast majority of core contributions come from a cabal of committed developers, it seemed like the popularity of using open source would bleed into writing open source. Nope.

The problem, it would seem, is time.

SEE: How to build a successful developer career (free PDF) (TechRepublic)

No lock-in, but plenty of lock-out

Given the career benefits that accrue to active open source contributors, it's surprising just how few contribute. According to a recent Stack Overflow survey, a mere 12.4% of developers contribute at least monthly, with another 23.1% saying they contribute at least once a year, but not monthly (Figure A).

Figure A

Image: Stack Overflow

This becomes a bit harder to understand when 80.2% of developers surveyed said that they code as a hobby. While developers with kids are less likely to spend free time on coding, there is still a huge percentage of developers writing code in their free time. So why aren't they contributing to open source projects?

It might not be for lack of trying.

Mathew Lodge, for example, points out that open source projects aren't always the most welcoming of places: "[M]any open source projects are unwelcoming to one-off contributions from folks they don't know ("chop wood & carry water" etc) and barriers to their contributions being accepted are perhaps significant." The right to contribute to an open source project doesn't come easily, in other words, and developers may not want to invest so much of their hobby time in lobbying project maintainers for the right to contribute.

SEE: Open source vs. proprietary software: A look at the pros and cons (Tech Pro Research)

Nor is it unreasonable that core maintainers would chafe at accepting one-off contributions. As Mark Callaghan stressed, "I am wary of one-off contributions even when I know the contributor. Contribution [involves] debt [e.g., it] take[s] time to review, more complexity/bugs, need[s] docs, QA, merging. Contributions from people who might be around in the future to pay off that debt are preferred."

In addition, as Ross Gardler further explains, "The optimal model for open source is to develop shared components. These numbers tell us that much of their time is spent in planning, glue code, testing, coordination (all good) and sometimes convincing unwelcoming owners that their contribution is valuable (not so good)." In other words, for every line of code contributed, there is a lot of behind-the-scenes preparatory work involved to make it stick.

This isn't a major ordeal if you're getting paid to write open source software. However, most aren't.

"Free" as in "no free time"

While developers like to futz with code in their spare time, few have enough free time to use it toward serious open source contributions. As Drupal founder Dries Buytaert has highlighted, "Open source communities often incorrectly believe that everyone can contribute. Unfortunately, not everyone has equal amounts of free time to contribute." The reason, he goes on, is because "inequality makes it difficult for underrepresented groups to have the 'free time' it takes to contribute to open source." Hence, the idea of a meritocracy in open source communities is a bit of a myth.

Tobie Langel, writing earlier on the same topic, takes it further:

Open source is largely built on engineers' free time. And free time isn't evenly distributed. People who work two shifts, who care for elders and children--care-giving is still predominantly done by women--or with long commutes due to housing cost, just don't have the time to contribute. The gender imbalance in tech is already pretty bad: women only represent 12% to 24% of the workforce depending on who you ask. But it's much worse in open source.... Because open source provides experience, exposure, and a network to those privileged enough to participate, it contributes to widen the wage and position gap. Indeed, over half of the respondents to GitHub's survey claimed open source was somewhat or very important in getting their current role. As respondents were mostly men, it's easy to see who benefits.

Langel's suggestion is therefore to professionalize open source--to pay developers to contribute. This is already being done to good effect by a range of software (or software services) vendors, but remains stubbornly rare from mainstream users of software (banks, retailers, etc.). It's unclear why, for as Langel has noted, "A well thought out and executed open source strategy can help a company improve and steer key projects it depends on, improve its engineering culture, reduce the diversity gap, do wonders for its image, and make it attractive to a much more diverse talent pool."

Individual developers can't resolve this. Either they lack the free time to contribute for the reasons cited above, or maybe they have it, have benefited from it through contributions, and don't really need to fix anything. But the companies that would derive even more benefits from contributing to open source and not merely consuming it...? They're the ones that can resolve the inherent inequity of open source.

Open Source Weekly Newsletter You don't want to miss our tips, tutorials, and commentary on the Linux OS and open source applications. Delivered Tuesdays Sign up today

Also see