Open Source and Free Software Considered Harmful
I think most of us once thought that Free Software was great. Then, as we gradually became more aware that most of the originators of the Free Software movement are huge pieces of shit, we steered more towards Open Source as a morally and logically just model of software distribution. Over time, I've become more and more disillusioned with both movements and over the past months I've finally decided that I'm not going to continue publishing open source or Free Software unless it's a collaborative project or unless absolutely required. Let me elaborate a bit on why.
What's wrong with Free Software?
Free Software, in its essence, is a utopian philosophy centered around the same notion of “freedom” that you would commonly hear from people that reply to any mainstream American politician on Twitter. It's this idealistic perception of reality that at first enthralls a lot of people. Who wouldn't want to live in a world where all software is free to give away and to use as long as you make it publicly available under the same terms? Where everyone enjoys the same benefits? Everyone, surely!
It's a nice pipe dream, but we live in a world with harsh inequalities, including in our sector of work. To start, not everyone is able to work on software in their off hours. This is something completely unheard of in most other fields of work. Especially in a market economy, the thought of someone putting hundreds of hours into a product and then offering it for free to the rest of the world is very atypical. At one point, some of these people came together and decided that distributing a product, irrelevant of how much labor went into it, for free should be the new standard. Consistent with their notion of “freedom”, they also decided that if you use and modify the product, you should have to put up your derivation under the same terms. There's clearly two different fronts covered here:
- The usage or distribution of the software. This is what copyleft licenses are all about, ensuring that the people who use the software follow a certain set of rules, most of the time centered around modification and attribution.
- The production of the software. This isn't as apparent as its distribution, so most people just take it as a given, which is why the Free Software movement makes no attempts at fixing that. The immense amount of labor that goes into producing a software artifact is usually ignored, and instead some abstract notion of “rights” that usually don't benefit the developer are enforced.
Developers who aren't in as privileged a situation as those people who only install Free Software on their computers will realize that if we wanted to make sure that our “rights” are protected and our interests represented, we would encompass the entire software development lifecycle, not only its distribution.
What's wrong with Open Source?
Did you think the ignorance of Free Software was bad? Cool, Open Source takes what little rights were given to the developer and throws them away. The most prevalent OSS license, MIT, gives all rights to the consumer. What if that consumer turns out to be manufacturing drones that kill children in Yemen? Doesn't matter, and even if it did, you don't have any rights to enforce it (and even if you did, their lawyers are better than any you can muster). Keep in mind that a copyleft license would at least require Lockheed and Raytheon to publish a little sidenote saying “ah by the way here's the source code for the library we used”, which is so much better, right?
Free Software was born from idealistic libertarianism, and Open Source was born from realistic liberalism because Free Software didn't give companies enough rights.
What are the alternatives?
Being conscious of whose interests you're serving is the first step. Most solutions to this will not work if there's no broad awareness of the underlying problem. Steve Klabnik has theorized a number of solutions, but I don't necessarily agree with them (aside from there probably never being enough popular consensus around them). What we have is an unjust social structure that effectively holds itself up by exploiting people's labor. As time has proven with other, similar social structures, the only useful way to get rid of them is not via reform.
Frankly, this issue requires a lot more thinking upon to come up with any even potentially viable solutions, so until then, here's what I'll do:
- Not publish any more open source software unless it's required by an employer or similar
- If I do somehow end up publishing open source software, license it under a License Zero license
I don't think a new license is the answer. Companies can easily bypass licenses by sheer force of intimidation, and the legal system certainly isn't set up to defend workers' entitlement to their labor. Rather, we need to rethink our approach to balancing production and distribution of software. I'm not sure how to do that, but I'm rather confident that this will ultimately happen if we build a movement around it.
What about paying maintainers? Paying maintainers won't work on any scale that's larger than, say, the 300 biggest open source projects. GitHub Sponsors is largely designed to work on a user-to-user basis, which makes it identical to crowdfunding (plus they're letting the people with the most social capital in first lol). Ultimately, it's trying to reform a system that was created to be unequal from the very beginning.
So are you saying if I maintain a large open source project, I should just make it private?
I also maintain a rather large open source project, and I'm not planning to take that private. Although if you feel prepared to face an incredible amount of backlash, but show how much the industry relies on institutionalized exploitation, go for it! I'd envy you.
If you have tangible points that go beyond disagreeing with “the software industry, Free Software and Open Source are built upon exploitation of developers”, feel free to put them forward. Or don't.
And remember: Complacency is complicity :)