avatarAndrew Zuo

Summarize

Photo by Ystallonne Alves on Unsplash

Why The GPL Is A Cancer

Thoughts On The Red Hat Open Source Debacle

A while ago there was this story that broke about Red Hat.

Basically they decided to put their source code behind a paywall. Then the Linux community got mad and then Red Hat doubled down with a blog post that can be summarized as, “Fuck you, pay us!”

I’ve been looking for a way to write about this since I first heard the story. But I didn’t feel there was that much there. I mean, another company making major changes to their product. What else is new? And the fact that people are complaining so much shows that Red Hat may be worth paying for. I mean if no one complained then I’d be worried about Red Hat. So I don’t really see what the problem is. Although to be honest I don’t know why people care about Red Hat that much. Just use Debian/Ubuntu/a related distro. So much easier.

But the more I thought about it I realized there is something that I could write about. Because this isn’t a Red Hat problem. It’s bigger than that, this is a GPL problem.

The GPL

The GPL is the license that many pieces of free software use. It is known as a ‘parasitic’, oh sorry ‘copyleft’, license because if you integrate your software with the GPL your code must also be licensed under the GPL.

And the GPL is, ironically enough for an open source license, quite restrictive. In fact in the version 3 of the GPL it says this:

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

Although I like the version in v2 of the GPL better. It’s more direct.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

Yes, the old ‘to protect your rights we have to take them away’ argument. I’m sure Orwell would be proud. Also I should point out that the GPL mascot looks a lot like the devil. Well, maybe not that much but it has horns.

So what are those rights the GPL takes away? A few things but most notably the freedom to keep your modifications to yourself. If you modify GPL code you must make the code you modify available to others. Which brings us to the Red Hat controversy.

Red Hat is putting its code behind a paywall. Now there’s nothing inherently wrong with this. Of course it gets very very close to a ‘GPL Violation’ and takes advantage of several ambiguities in the license as documented by the software freedom conservancy.

A Cancer?

So whenever something like this happens I like to think about it and go, “Why? What caused this to happen? And why is this controversial?” And the reason I turn to is the GPL. Obviously Red Hat is making a lot of contributions to Linux and they feel that these contributions are not being sufficiently monetized. So they monetize it some more.

So the obvious question is, “Why does Red Hat need the GPL in the first place?” The simple answer is they don’t. But because of the GPL’s parasitic, sorry, ‘copyleft’, property they’re forced to use it. Linux is licensed under the GPL and Linux is the most popular OS for servers (and some crazy people’s personal computers). If you want to play the server game you need to use Linux.

So why does Linux need to use the GPL in the first place? Well, I think that the GPL played a large role in the development of Linux. Without a parasitic — copyleft — license that forced users to make their source code publicly available there is bound to be a lot of fragmentation. Linux would have splintered off to various different distros. This has already happened to Linux but much less so due to the GPL.

But the GPL has also held Linux back. So if a company like Red Hat creates some patch then they have to make that code available to everyone that uses their software. And if anyone can just take all the code you’ve made, that hurts any incentive to innovate. So if people have a critical issue that they absolutely need they’ll fix it and push it upstream, otherwise if it’s just a ‘nice to have’ feature they won’t bother. Over time this results in GPL software being good enough for business users but it will never be truly friendly to ‘normies’. So you often see professional business oriented software as GPL: Inkscape, Blender, GIMP, and Wordpress. Now I should probably also mention VLC before someone brings it up in the comments. Yes, VLC is GPL but how many people use some of it’s more advanced features? Not many. It is confusing. I tried to do screen recording once. Couldn’t do it. QuickTime’s screen recording is a million times easier.

Back to Linux. It’s used by a lot of businesses. But not that much by consumers. There’s a running joke that this is the year of Linux on the desktop. And it has been this way for the last 20-ish years. In fact the final chapter of my game dealing with these issues will be titled ‘The Year Of Linux On The Desktop’. If I ever get around to finishing it.

I think these issues are due to the GPL. It makes sense. There’s a lot of incentive to make Linux usable in a server but little incentive to make it easy to use for non-nerds. Now there have been attempts. Ubuntu, Dell, and System 76 have tried but they haven’t been successful. And I don’t think they ever will. To create a new desktop operating system you need support from a massive company like Apple or Microsoft or Google. And these companies are famously moving away from the GPL.

Apple most notably. They seem to be stripping out anything GPL from MacOS. My old Macbook came with Bash. New Macbooks come with ZSH. Why? Bash is GPL, ZSH is not. More recently Apple announced a DirectX 12 porting toolkit. It uses Wine. But Wine is LGPL. So what do they do? In the most hilarious GPL circumvention ever Apple has… just read this slashdot comment:

Yes it is wine. The funny thing is that Apple is so allergic to the GPL that they refused to fork wine or submit any patches upstream. Instead they provide a script that when run downloads wine source code, sets up a build environment, patches wine with their special patch, builds it and runs it under Rosetta. That’s all this is. Kind of neat stuff. By distributing it in this way they can license their own patch under different terms because they aren’t technically distributing wine. And it must not be extending any existing wine source code either. And upstream wine cannot merge it either. Apple is great that way. Real team player who cares about the common good.

Google currently uses GPL code in Android and ChromeOS (both Linux based). However Google has been moving away from the GPL. If you install the open source version of Android ‘AOSP’ it comes with very little out of the box. All of the apps that you associate with Android are closed source. And they’re also making a new OS called Fuschia. Why? Many reasons, but I think one major one is to get away from the GPL. Honestly I expected more companies to jump aboard the Fuschia train. It seems like it’s a way to kill the GPL licensed Linux for good.

And finally we have Microsoft. Steve Ballmer famously called the GPL A Cancer, which is what this post title is based on. It appears they might have changed. But it is unclear they have for certain. They are embracing open source, but have they embraced the GPL? Who knows. Visual Studio Code is currently licensed under the MIT License.

Companies do not like the GPL and for good reason. It restricts what they can do with the code. And companies need every single advantage they can get. I’ve written about it before.

I originally wanted to call this post ‘The GPL Is Incompatible With Capitalism’ but I changed that title when I realized I had much more to say. But it’s not a bad title. In fact the GPL’s forced sharing of code is essentially socialism in its purest form. And it is incompatible with capitalism.

Final Thoughts

Richard Stallman tried to pull the wool over companies’ eyes by forcing them to adopt the GPL, a parasitic license that forces everything to be shared. In essence, ‘you will own nothing and you will enjoy it’. But companies have wisened up. They do not like being forced into a corner. Which is why we see many more open licenses popping up. Like MIT, Apache, and BSD.

The fact is the GPL is a cancer. Not because it discourages growth, but because it encourages it. But only up to a point. Only until GPL code is a ‘minimum viable product’. Then it sits there in a permanently half-broken stake sucking up all the oxygen blocking the growth of competitors.

So maybe it’s worse than cancer. Just like how the Byzantines blinded instead of killing their enemy so too does the GPL permanently disable but not kill its host.

Or maybe that’s too dramatic. There is a lot of use to be had out of GPL software. And it does help in the early stages of development. But it inevitably creates a hard to use product with a huge learning curve. If you are using it for business, that’s good enough. But unfortunately, the fact remains, that for anything else, the GPL is essentially a cancer.

I knew this article would be controversial and I am not disappointed. But I don’t think the arguments there are very convincing so I’d like to hear yours. What did you think? Agree? Disagree? Share your thoughts in the comments. I do read them. Eventually.

Also if you’d like to stay updated with my future articles and other exciting content, consider using my RSS app on iOS and Android. This handy app supports Medium’s PubSubHubbub for speedy updates, allows you to subscribe to users and publications, and delivers personalized notifications. It’s how I keep up with my favourite creators not only on Medium but also on YouTube, Reddit, and everywhere else.

Gpl
Red Hat
Linux
Software Licensing
Recommended from ReadMedium