Opinion Software vendors dump open source, go for the cash grab - First, they build programs with open source. Then they build their business with open source. Then they abandon it and cash out.

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account

By Steven J. Vaughan-Nichols
Computerworld | Mar 28, 2024 3:00 am PDT


Essentially, all software is built using open source. By Synopsys' count, 96% of all codebases contain open-source software.

Lately, though, there's been a very disturbing trend. A company will make its program using open source, make millions from it, and then — and only then — switch licenses, leaving their contributors, customers, and partners in the lurch as they try to grab billions. I'm sick of it.

The latest IT melodrama baddie is Redis. Its program, which goes by the same name, is an extremely popular in-memory database. (Unless you're a developer, chances are you've never heard of it.) One recent valuation shows Redis to be worth about $2 billion — even without an AI play! That, anyone can understand.

What did it do? To quote Redis: "Beginning today, all future versions of Redis will be released with source-available licenses. Starting with Redis 7.4, Redis will be dual-licensed under the Redis Source Available License (RSALv2) and Server Side Public License (SSPLv1). Consequently, Redis will no longer be distributed under the three-clause Berkeley Software Distribution (BSD)."

For those of you who aren't open-source licensing experts, this means developers can no longer use Redis' code. Sure, they can look at it, but they can't export, borrow from, or touch it.

Redis pulled this same kind of trick in 2018 with some of its subsidiary code. Now it’s done so with the company’s crown jewels.

Redis is far from the only company to make such a move. Last year, HashiCorp dumped its main program Terraform's Mozilla Public License (MPL) for the Business Source License (BSL) 1.1. Here, the name of the new license game is to prevent anyone from competing with Terraform.

Would it surprise you to learn that not long after this, HashiCorp started shopping itself around for a buyer? It didn't surprise me.

Before this latest round of license changes, MongoDB and Elastic made similar shifts. Again, you might never have heard of these companies or their programs, but each is worth, at a minimum, hundreds of millions of dollars. And, while you might not know it, if your company uses cloud services behind the scenes, chances are you're using one or more of their programs,

There is a threefold reason these companies did this. First, all of them, at one point or another, mistook "open source" as a business model. It wasn't then, it isn't now, and it never will be.

Second, having made that first mistake, they discovered the hard way that while they could make millions, other companies, usually the hyper-cloud providers such as Amazon Web Services (AWS), were making just as much, if not more, from their programs. They did it by providing their software as a service to businesses.

It's a matter of scale. People want to use the software as a service, not as a one-off they need to work on themselves.

Finally, hidden behind the financial curtain, venture capitalists don't want hugely successful companies; they want unicorns. If a business isn't worth a billion dollars before its initial public offering (IPO), it's not a winner in their books.

Welcome to life in Silicon Valley,

So, what's the simplest way to do this — besides firing employees to replace them with insufficiently ready AI bots? Drop the open-source license. They've developed their program with the help of others; they got their customers thanks to open-source assurance; why let anyone else get a share of the pie?

Software companies are ticked off. At least two Linux distros, Fedora and openSUSE, are considering getting rid of the Redis program. If they do, you can expect their big commercial brothers, Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES) to follow suit.

Who's really furious about this, though, are developers. It's their work, after all, that's disappearing into semi-proprietary vaults, never to be touched by them again.

So, as they've done before and they'll do again, at least two sets of programmers are forking it. First off the mark was Drew DeVault, founder and CEO of SourceHut, with Redict. He was quickly followed by Madelyn Olson, principal engineer at Amazon ElastiCache, itself an open-source fork of Elastic. However, as Olson observed, this as-yet-unnamed Redis fork is not an AWS project. AWS is working on its own response.

They can do this because while Redis has changed its license going forward, they can't take back the code they'd licensed under the previous code. You can still do whatever you want, according to the terms of the old license, with earlier versions of the code.

This is a big deal in open-source and high-end IT circles, but it also matters to everyone who uses software. Remember, I just pointed out how important open source is to software development. Suppose programmers get sick and tired of companies taking their donated code and decide they won't put up with this anymore.

Some businesses making the license shift say they're doing it to pay the developers what they're worth. I'm all in favor of open-source programmers making more money. But I can assure you that even the very best developers won't be the ones making the real cash from these proposals. It's the venture capitalists, private equity groups, and top brass who will get serious coin.

This is not what open source is all about. Making money, sure. Even Richard M. Stallman, Free Software's founder, said, "There is nothing wrong with wanting pay for work, or seeking to maximize one's income, as long as one does not use means that are destructive. [But] extracting money from users of a program by restricting their use of it is destructive."

For once, Stallman and I agree.
 
There's already two forks of Redis, Valkey (which seems to be getting backed by the big players) in the article and KeyDB from Snapchat, and a Microsoft product (Garnet) that claims to be compatible. I don't think I've ever seen a company make this move successfully and it's always funny to watch. HashiCorp tried it and got all their important stuff forked (Terraform and Vault), Docker tried charging people and their orchestration might as well be dead (they then doubled down trying to charge for desktop and are getting booted further), Elastic picked a fight with Amazon and then had a further sperg out about their licensing and now there's OpenSearch (plus eight billion other similar solutions because Elasticsearch is a pile of shit to manage).

Charge for your shit from the jump or make a good support model, trying to pivot down the road is a retarded idea.
I prefer the AGPL myself.
AGPL, and similar licenses, will get you removed from being used in any big company though unless that's your desire.
 
When you contribute to open source software, don’t release your copyright unless you get paid an amount acceptable to you. Otherwise you can’t be upset if the project locks down overnight.
Despite working in the field for a long time, it's been all proprietary and I've never done more than file bug reports to Open Source projects. I presume, please correct me, that nothing gets merged in without conforming to the project's licence so you cannot meaningfully contribute to an Open Source project without releasing copyright. Or am I missing nuance here?
 
Companies are entitled to seek better business plans.

Free software operates under no-takes-backsies: once released, you can’t unrelease or recall something licensed as a free software distribution. All the company behind the software’s development can do is release future versions that they are going to make under a more restrictive license. You can keep using, copying, distributing and upgrading the previous version forever at the terms you once got.

This is a far more amicable and reasonable situation than depending on a proprietary software distribution where the vendor reserves the right to refuse further distribution even for previous versions.

There's already two forks of Redis, Valkey (which seems to be getting backed by the big players) in the article and KeyDB from Snapchat, and a Microsoft product (Garnet) that claims to be compatible. I don't think I've ever seen a company make this move successfully and it's always funny to watch. HashiCorp tried it and got all their important stuff forked (Terraform and Vault), Docker tried charging people and their orchestration might as well be dead (they then doubled down trying to charge for desktop and are getting booted further), Elastic picked a fight with Amazon and then had a further sperg out about their licensing and now there's OpenSearch (plus eight billion other similar solutions because Elasticsearch is a pile of shit to manage).

Charge for your shit from the jump or make a good support model, trying to pivot down the road is a retarded idea.

I think a lot of people will give me trash can icons for this, but this is the reason why I consider all of this a nothingburger.

Copyleft licenses like GPL are nice, but there are good reasons to have permissive licenses available as well. People have the right to make proprietary software based off of permissive-licensed content if they so desire, whether you like it or not. And it doesn't anyone else from using previous versions, which cannot be recalled, especially if they've been mirrored elsewhere by a third party.

The GPL doesn't even prevent the authors of its software from implementing really bad stuff like data collection, as Muse threatened to do with Audacity. That controversy led to many forks being made, like Tenacity.
 
Last edited:
presume, please correct me, that nothing gets merged in without conforming to the project's licence so you cannot meaningfully contribute to an Open Source project without releasing copyright. Or am I missing nuance here?
What you're missing is that you retain your copyright. The license itself doesn't - cannot - revoke your rights over your contribution, which means that it cannot be unilaterally relicensed by the project without your permission.
 
What you're missing is that you retain your copyright. The license itself doesn't - cannot - revoke your rights over your contribution, which means that it cannot be unilaterally relicensed by the project without your permission.
It really depends on the organization.

For the likes of Redis, they require that you assign your copyright over so that do just this- maliciously relicensing- in future.

Many independent open sores/free software projects don't require copyright assignment. This does leave ambiguity, but the only real problem is if some external party violates the license and needs to be sued.

If someone starts a great project to replace sysvinit with a Powershell based init system, and I contribute a few scripts to handle running unusual services, and an evil pedophile like Lennnart Poettring rips off code from the superior init system and one of the scripts I wrote, who is going to sue him? The original author? The original author and me both? What if there are ten or twenty or a hundred individual contributors who have contributed to a software project that gets ripped off? Anglo legal systems are not really built to deal with these kinds of normal, moral, natural fraternal self-organizations that develop free software. It gets very difficult if there isn't just one corporate entity.

The FSF has projects which fully join the GNU project sign copyright over to the FSF in full- as this a) makes it impossible to relicence them with a worse license, as the FSF would never do that b) it makes it more practical to sue if anyone violates the license, because they are the sole copyright owner.
 
That was a nightmare rocky road for quite a while though. I remember getting back into programming in the early 2000s. Between Microsoft and Mozilla following different implementations of CSS, HTML, Javascript, even the fucking DOM from the web consortium (is that what it was even called? can't rem), it was enough to make you pull your hair out. There was a lot of extra hours and extra code required, and you still occasionally see sites that will warn that they technically only operate in MSIntExp.

Something similar happened with MS Office and OpenOffice, IIRC, with MS refusing to open the document standard, leaving OO like its retarded cousin.

tl;dr Open standards are the best, but getting there is often a pain and probably sinks endless companies.
Bringing up openness with HTML is kind of funny when the HTML5 spec is a 1200+ page rolling release nightmare of a moving target mostly pulled forward by Google. Good luck trying to ever develop a modern web browser from scratch.
 
Despite working in the field for a long time, it's been all proprietary and I've never done more than file bug reports to Open Source projects. I presume, please correct me, that nothing gets merged in without conforming to the project's licence so you cannot meaningfully contribute to an Open Source project without releasing copyright. Or am I missing nuance here?
It’s not about conforming to the project’s license. It’s about copyright.

Let’s say I contribute some cool feature to the Python. The devs will require that I sign my copyright away in exchange for getting my name in the credits. It’s now the Python foundation’s code (originally it was owned Guido Van Rossum himself) and they can release it anyway they want. At that point, that code is no longer yours, and depending on the agreement, you might not be able to use that code for own purposes again outside the terms of their license (because you no longer own it).

MAME is a different example. If you make a new driver for MAME the devs will not ask you to surrender copyright. They just ask that you release your code under the GPL or BSD license (not sure if they’ll accept anything else). You remain free to release that code under any license you see fit, even a proprietary one.

This has a distinct advantage that MAME can accept code from projects with an incompatible license without disrupting that project’s licensing scheme. MAMEdevs simply ask for a version that’s licensed compatible.

The disadvantage is that you have to ask every contributor for permission to change the project license. Otherwise the parts you did’t get permission for have to be abandoned and rewritten. Keep in mind, however, that you can have code with different licenses as long as they are compatible, so in practice this is only needed when going to a different degree of openness (proprietary <-> BSD-style <-> GPL-style <-> AGPL-style).

In my opinion, the latter feels more in the style of ‘Free Software’, but even GNU does this copyright declaration bullshit.
 
Back
Top Bottom