The open source movement has fundamentally changed how software gets written. But in the process, corporations have been given a vast gift of free labor.

Open source is a movement within software where source code is freely shared among a community that takes a more collective responsibility for improving a software project. Open source has become pervasive throughout the tech industry because of the sheer number of high-quality components to use as a starting point for any new project, free (as in beer) of charge. Unlike a prior era when many of those building blocks (when they existed at all) would have been offered as a proprietary, commercial offering, where companies were locked into onerous terms and couldn’t generally do as they pleased with the software they licensed.

But “open source” is only a more recent business-friendly spin given to a much older and more radical tradition, the Free Software Movement. Free Software rests on the idea that software users have “the freedom to run, copy, distribute, study, change and improve the software”. This definition rests solely on what users (which includes other software developers) may do with a computer program, and what privileges they ought to enjoy. These conditions, emphasized in the four essential freedoms baked into every Free Software license, allow computer programmers to create a commons and protect it from enclosure by private companies who would not otherwise contribute back their improvements and enhancements in-kind.

Part of why this works is that Free Software comes with a critique of power:

With proprietary software, the program controls the users, and some other entity (the developer or “owner”) controls the program. So the proprietary program gives its developer power over its users.

But there is a striking absence, in traditional discussion of the philosophy behind free software, of a much more salient power asymmetry: that between software developers and the private firms that generate wealth on top of ecosystems of free and open source software.

Unpaid labor

Companies do sometimes pay people to work on open source projects that they derive benefit from. And there are some opportunities from academia, the public sector, and grants. But open source software development depends upon large amounts of unpaid labor.

One of the most important reasons is that software projects in their infancy are much less interesting to companies which care more about established, proven solutions that have had their bugs squashed and features built up. Larger companies with more resources tend to be even more conservative about when to adopt new technology. The experimentation necessary to refine a project into something production-ready is more than a single project, as every new piece of software builds on what came before. Most projects do not become popular enough to attract attention from funding sources, even if many projects depend on them upstream.

Even when money does arrive for open source projects, it tends to arrive too late in the process, after the technology is already proven. This means that successful open source projects will tend to be started by people who can dedicate large amounts of time to unpaid work, sustaining a situation where open source contributors are overwhelmingly white and male.

Employers increasingly expect the software developers they hire to have a large portfolio of published open source software. These very same employers rarely permit their own workers the autonomy to publish open source projects in the course of their duties with the company, meaning that workers will have to put in extra hours outside of work to remain competitive in the market.

Some people are able to fund their work on open source by running a consulting business on the side, after having built a name for themselves through their open source work. Some others are able to live off donations. But these are not models that scale, and these sources of income can be precarious. You can be fairly well known in programming circles but still struggle to find gigs.

Clawing back power

So why do we give away our software for free to companies that exploit us and our work? It can be fun to participate in open source ecosystems—you can make friends, and build software you are proud of. But free software, by itself, is not an emancipatory political movement. How can we build up this digital peer-production commons while surviving the ravages of late capitalism?

One idea is to alter the terms of open source licensing in order to preserve the parts of open source that we like, such as commons-based peer-production and free association, while also addressing how to get paid for our labor.

Free and open source software licenses form a continuum between “permissive” and “copyleft”. Permissive licenses largely permit use in proprietary, closed-source codebases common to private companies. Copyleft licenses, meanwhile, mandate that any codebase that uses a copyleft software library be licensed under the copyleft license or another compatible license. Permissive licenses are overwhelmingly favored by private companies that produce proprietary software because they are under no contractual obligation to contribute their changes back upstream to the commons.

Some businesses figured out that because idealistic copyleft licenses are considered toxic to many companies, they could sell permissive licenses as a form of market segmentation. New initiatives such as license zero create a streamlined way for companies to purchase licenses for proprietary or commercial use. For individual software developers or those working in coops or other groups, this may provide a way to build a sustainable business around an open source ecosystem.

Software developers who are currently employed can pressure management at their companies to produce clear policies for contributing to existing open source projects and creating new ones on company time. And please consider the totality of someone’s work experience when hiring, not only what shows up on GitHub.

There are many tactics at our disposal, and we should be clear about the changes we want to see. In the long term, this means the abolition of copyright, building technology for people over profit, and providing for everyone’s needs. But until then, we can ensure that everyone who works to create and maintain the open source ecosystems is paid for their work. We can also work toward welcoming more people from more diverse backgrounds into the computer software profession and our open source ecosystems without letting private companies turn our communities into a gatekeeping exercise.