Who should fund open source projects?
Open source was originally meant to help us break free from the shackles of proprietary software. But coding and maintaining an open source project is basically a full-time job. Volunteering time and experience means the community thrives, but who benefits from all this unpaid labor? And how do we foot the bill for all of these servers, anyways?
It’s a common sight on Wikipedia or your favorite open source project. The banner ad asking for money, the tip jar for the starving coder, the donation button for a better server. Most of us just close the ad or ignore the pleas for cash, but there’s a bigger issue at stake here. More than another pleading message from Jimmy Wales.
The origins of open source
Why did we all move to open source projects in the first place? Back in the dark ages of computing, everything was open source, as befitting the ethos of academia. As computers began to leave the universities and become commercial commodities, large computing corporations began to see open source as a threat.
Software providers made a huge profit on licensing fees, copyrights, trademarks, and leasing contracts for their products. Freely distributed software was a “cancer”. (Rather, it was a threat to their profit margin.) Free software proponents were highly visible in the eighties and nineties, making open source a viable alternative to paying a fortune for Microsoft Word.
Coding in your spare time
Volunteering time and effort for an open source project is no small task. As the Guide to Geeting Paid for Open Source Work points out, “maintaining popular projects can be a significant responsibility, taking up 10 or 20 hours per week instead of a few hours per month.”
Many consider coding for open source projects to be a labor of love. And that is noble, but coding fixes on GitHub doesn’t pay the electrical bill. Tips are a lovely way to say thanks, but it’s not steady enough to pay rent or raise a family on. Some developers work on well-paid, short-term contracts and then live off their savings in Thailand, but it’s not an option for everyone. Student loans wait for no one.
Isaac Schlueter is fairly pragmatic about this situation. “OSS yields massive benefits to the technology industry, which, in turn, means benefits to all industries, as technological innovations increase efficiency in other areas. However, if the only people who can focus on it are the lucky and the obsessed, then there’s a huge untapped potential.”
However, it must be said, the communal effort of developers around the world does achieve stunning results.
Take Ruby on Rails. More than 3,000 people have committed man-decades, maybe even man-centuries, of work for free. Buying all that effort at market rates would have been hundreds of millions of dollars. Who would have been able to afford funding that?
David Heinemeier Hansson, “The perils of mixing open source and money”
We all benefit when projects are freely available, but some benefit more than others.
Arguably, it’s the same people who always profit from unpaid labor: capitalism. Corporations and business owners profit enormously on not having to pay for their own developers to solve every single tech problem by themselves. A thriving dev community with an ethos of sharing means less effort on the part of the company.
According to Ashe Dryden, “… the people who benefit the most from the unpaid labor of OSS as well as the underpaid labor of marginalized people in technology are business owners and stakeholders in these companies. Having to pay additional hundreds of thousands or millions of dollars for this labor would mean smaller profit margins.”
Corporations have pulled something of a fast one on developers. Open source was meant to break the stranglehold of proprietary software; now people are contributing time, effort, and knowledge to a project that corporations profit off of without putting in any financial support.
“We are being judged on how much we contribute to the bottom lines of companies we don’t work for and what’s worse, we are policing this amongst each other as well,” Ashe Dryden concludes.
The problems of coding in your spare time
By their very nature, open source projects are largely unpaid. And who can afford to put in a second, unpaid shift at work? If you take a look at the top GitHub contributors, you can see for yourself. (Spoiler alert: it’s mostly white men.)
Coding in your spare time is popular, but the moral implications have been laid out very clearly by Ashe Dryden in her post, “The Ethics of Unpaid Labor and the OSS community”.
Women and minorities are often least likely able to contribute to open source projects for a number of systemic reasons. Ashe Dryden lays them out pretty plainly:
- Women are often the primary care providers for children and elderly parents. On average, they spend more time at home on domestic work and on childcare than men do. It’s hard to contribute to GitHub if you’re making sure little Bobby Tables has done their homework and that Gramma Grace has been to the doctor and taken her meds.
- People with medical conditions might not be able to work what is, in essence, a second shift of work, due to doctor’s appointments or physical limitations.
- People with longer commutes have less free time.
- The pay gap means that women make less money. There is still a racial hierarchy: white women make more money than Asian women, who make more than black women, who make more than Latina women. This pay gap trickles down to other consequences, i.e. a lower paycheck means a farther commute, less paid child- or elder-care, etc.
How do we solve this then?
Say you’re a developer with a love of open source software. How do you get paid? How do we as a community move forward in a more ethical and fair system? We have a few options:
- Get a job with Facebook or another tech giant that is willing to hire open source developers. Arrange a workload where you can help the community on company time. This is more common than you might think.
- Find someone to sponsor you, whether it’s a company or the open source community. There’s grant funding from some software foundations and companies for open source work.
- Ask for donations. Patreon, donations from the Open Collective, Kickstarter, or even the tip command in nvm are ways to crowdsource funding. The problem with this is that asking for money is a slippery slope; tips are kudos for a job well done. What happens if you put in a lot of work, only for the solution to be intractable? Do you not have rent money this month? Plus, goodwill donations are not a renewable resource.
The Open Source Guide to Getting Paid is super useful for developers looking at getting funding for their open source projects. However, it’s not a long-term solution to a systemic problem. Where do we go from here? Unfortunately, I have no answers for that. The community has to figure that out for itself.
In the meantime, I think I’ll donate some cash to Wikipedia. Those servers aren’t going to pay for themselves.