Federal Farmer

Rogue programmer. Yeoman homesteader. I hate the antichrist.

Stop Writing Open Source Software

The modern open source software movement is a giant scam.

Indie devs should stop writing and contributing to open source software projects.

There, I said it. I even said it on a Debian machine.

But I typed it on SublimeText, which I paid for, and whose developer can feed himself and his family as a result.

I can already feel the hate.

I can already feel the hate

The alleged "free software" movement is slightly better but still not great. If you visit their website as of June 2024, you'll find that they're actually begging for money right now (lol, lmao even).

Recently, I've been working with the History API and kept coming across a library called HistoryJS, a popular abstraction layer. But upon checking out the repo, I was greeted with this (sadly accurate) message from its developers:

Despite History.js being one of the most popular JavaScript libraries there is, and has been used by even multi-million-user companies in its time - the reality of economy and company practices seems to be that companies prefer to fork their own internal versions and fix locally with their own devs rather than fund open-source maintainers what they would pay their own devs to make things better for everyone, including themselves, which would be cheaper - but no, that would require too many tiers of company approval that don't understand the need.

As such, if you are an open-source developer, I'd recommend just working on open-source projects that are paid for by your own consulting work or your own company (e.g. every successful open-source project).

If you contribute to open source, understand that the companies using your code will never pay you. They would rather spend more money in-house to avoid paying you.

This problem is all too common, nor is it the only problem with the modern open source software movement.

GPL and Copyleft

So-called "copyleft" licenses like GPL are supposed to solve this by being a kind of poison pill to Big Tech. Unlike MIT or BSD licenses, which encourage the above behavior, copyleft is intended to force the hands of companies to open-source their improvements to any code they modify.

It's a laudable idea.

In reality, companies and institutions just use copyleft code, anyways, and don't follow the license agreement. After all, their code is largely closed source and the odds of a free software maintainer finding out a company is in violation of their license is scant. And you, dear indie dev, probably don't have the resources to fight them, anyways.

Even if you did take them to court to enforce your copyleftist utopianism, what do you get in exchange? Your license doesn't specify noncommercial interests or restitution for the monetary damages you'll doubtlessly incur from a lengthy legal battle.

Nope. Your hard-won victory gets you another open source library and the cycle begins anew.

Sure, there are the odd victories with free software licensing like the infamous FSF v. Cisco case, but these are few and far between and largely inapplicable to your average free software developer.

MIT, BSD, and other licenses

Permissive licenses (or "cuck licenses" as some call them) are even worse. Most Big Tech companies release libraries this way (Meta's React, Twitter's Bootstrap, Oracle's MySQL, the list goes on) so you'll do their job for them for free. They also use this tactic to make their libraries industry standards, making it easier to farm employees and manufacture new corporate serfs.

I already wrote about this at length here so I won't beat a dead horse.

The even darker side of permissive licenses is that you're potentially helping your enemies. The BSD-licensed MINIX was forked by Intel to create IntelME, one of the most pernicious intelligence agency backdoors in computing history. Blind idealism is easy to weaponize.

And while the donation model of financing promoted by Github Sponsors and crowdfunding companies like Patreon can work for viral projects, only a fraction of a percentage of users will ever fork over their hard-earned dineros unless you explicitly sell them software.

While a life motivated by monetary gain is a sad life, even indie devs have a responsibility to feed their family, be charitable, provide for their commmunity, etc. You simply can't do that if Big Tech is getting bigger off the back of your free labor.

Closed source is still predatory

Users have a right to know what code is being executed on their machine.

I still firmly believe that, in no small part because most closed source software (especially operating systems) is just spyware.

So what's an idealist indie dev who's trying to eke out a modest living to do? I don't attest to have all the answers, but one of them may be to stop using the licensing types outlined above.

The CC BY-NC-ND License

While it's not intended to be a software license, Creative Commons has a license type that may help: CC BY-NC-ND.

Under this license, anyone can read your code. Anyone can redistribute your code with proper attribution. Anyone can modify the code for personal use.

But no one can use it in commercial products and no one can redistribute their modifications without express permission from the creator. You retain legal rights to seek monetary damages if this license is violated and no one can fork your project overnight, make a few tweaks, and call it their own.

Some may complain that forking open code is somehow a "right", that forks give consoomers more options, that forks make bugfixes and security vulnerabilities more robust upstream.

The NonCommercial, NoDistribution license does no such thing.

What it does do is encourage software developers to contribute to a single repository instead of being in constant schism. It promotes a sense of Oneness.

Without getting too much into the theological weeds, as an Orthodox Christian, it seems to me that the BY-NC-ND license type is the most Christian license available to independent software developers. It is happy to share what it has, but not at the expense of unity. It is willing to test itself against change and clarification, but not at the expense of schism. It rests normative authority in the hands of its core maintaners, not anyone who can run git clone.

"Now I plead with you, brethren, by the name of our Lord Jesus Christ, that you all speak the same thing, and that there be no divisions among you, but that you be perfectly joined together in the same mind and in the same judgment."

-1 Corinthians 1:10, Sectarianism Is Sin

Open source licenses, by contrast, are a lot like modern Protestantism. Little to no normative authority. No ecclesial hierarchy. Anyone can start their own church (or repo) at whim and ignore the (commit) history of what came before them.

Maybe that's why the end result of Protestantism is the Megachurch and the end result of open source is Big Tech.

In Closing

The opening of this article is, like most content on this blog, deliberately hyperbolic.

There's plenty of reasons to open source your code, especially under a GPL license. Charity and love for one's neighbor in the sense of agape can take the form of sharing code. Giving people responsible, ethical software that makes them more independent is laudable. A lot of great software has come to fruition this way. I use a lot of that software myself.

Nor is there anything inherently wrong with closed source software written deliberately with commercial intent.

But if you are an indie dev (aka not being subsidized by an employer) who wants to attempt to monetize software they've written for the "public good," something like BY-NC-ND is worth considering!

Social Links

My Projects