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.

  • 🏰 The Fediverse is up. If you know, you know.
  • 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.
 
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.
Honestly, there should be nothing wrong with this. A product that creates value and profit for its creators and others should be a good thing that's celebrated. I really hate the intense greed of the modern world so much.
 
This is why the GPL was created explicitly so companies could not do this. Its only a matter of time until this becomes a new trend and people start showing contempt for permissible licenses and go back to mostly using the GPL.
 
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.
Incorrect, if their code was used in a free-for-all capacity and not under an exclusivity contract, that means their code is still their copyright and they could sue that company for unauthorized use of their intellectual property. Likewise, that company couldn't stop them from using, publishing or distributing their own code because they didn't author it.
 
Fork that bitch! If enough of the work was truly being done by the community then they should be able to keep up and compete, rendering the costly now proprietary software near pointless.

Also fuck current business and market logic and thinking. It's our ruination as a society. (well one of them at least)
 
This is why the GPL was created explicitly so companies could not do this. Its only a matter of time until this becomes a new trend and people start showing contempt for permissible licenses and go back to mostly using the GPL.
Most companies that actually USE redis and have to show a profit (literally everyone now that the capital markets are at 5.5%) will simply swap to an alternate that doesn't charge them money if they're confronted with new demands for millions in licensing.

My shop has gone through that iteration at least a half dozen times over the past decade.
 
Most companies that actually USE redis and have to show a profit (literally everyone now that the capital markets are at 5.5%) will simply swap to an alternate that doesn't charge them money if they're confronted with new demands for millions in licensing.

My shop has gone through that iteration at least a half dozen times over the past decade.
They're also under no particular urgency to swap. They'll continue using the current version whilst waiting for an alternative to arrive or if they do decide to go to a paid version it'll only be a short matter of time before a fork establishes itself well enough that they can simply swap to it with minimal changes to their release process and maybe even no changes to the tech built on top of it as the protocol itself wont change any time soon.

The company might make money at this, but it will be as one vendor offering support amongst many.

doesn't the farms use redis
We'd have to ask Null but probably. Redis is a fairly standard caching technology without which the load on your service (and response times) will increase hugely. If he's not using Redis he's using something equivalent like memcache.

This is unlikely to affect him though for reasons given above - the old version wont suddenly vanish, new forked versions will quickly become available. And if he did want to swap all of a sudden, the difference between redis and something like memcahce is (or should) pretty easy to quickly change code to accommodate.

So it's a non-issue.
 
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.
 
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.
Well the heart of the issue is the protocols. If anybody can make an implementation of, lets roll with the current example, the redis protocol, then proprietary software is fine. Has advantages even. It becomes a problem when the protocol and the proprietary implementation are inextricably linked. Because at that point, you can't extract the software from your own without a lot of expensive work. Potentially it may be beyond your capability to do so all together.

There was a big case some years back, Oracle was involved iirc, which was about whether you could patent or copyright (I forget which) an API. The redis protocols aren't that complicated. I could write an implementation of redis myself this week if I wanted (the performance would be atrocious but I could do it). But that's the real crux of it. Proprietary software has downsides but also upsides. I'll go to bat for making a strong case for it.

But when the API itself becomes subject to a licence, you start getting into more dangerous waters. And it's not a simple problem because a modern and complex API is itself something that takes effort and skill to produce and yes, even update. And that work falls most naturally on the people who are making the software that drives it. There are some outstanding success stories for open standards that anybody (including proprietary software) can implement. We're using them right now on this website with our network stack, HTML, CSS and Javascript. But there's a world of less clear-cut cases too.
 
There was a big case some years back, Oracle was involved iirc, which was about whether you could patent or copyright (I forget which) an API.
It was about copyright and patents. Google developed a clean-room clone of the JVM, with the same public API, which Oracle asserted was a breach of their copyright, but also a breach of patents they held over the concept of a virtual machine with an API interface. A district could initially told Oracle to shove it back in 2010, but they kept appealing until they got a favourable ruling by an ignoramus, which was of such broad scope that it pretty much made application interoperability impossible. The Supreme Court eventually overruled it in 2021, though did so by splitting the baby neatly down the middle and calling API duplication fair use, rather then declaring APIs non-copyright. It was not the best decision, but it was the best compromise they could manage when Thomas and Alito wanted to apply the same copyright strength to APIs as to declarative code.
 
This is why the GPL was created explicitly so companies could not do this. Its only a matter of time until this becomes a new trend and people start showing contempt for permissible licenses and go back to mostly using the GPL.

The trend is the opposite, licenses are becoming more restrictive.

When Stallman concocted the GPL, the notion of me paying you $1000 to develop code for me, then Microsoft downloading that code from my github and hosting it on infrastructure they control and lease out for $100,000,000 a year, without either of us making a dime, wasn't on the horizon.

The advent of the hyperscalers have made it harder to make money on permissively licensed code. The support & service - based model isn't working, because a hyperscaler doesn't need to pay you for support. They just have their own in-house support.

There are some outstanding success stories for open standards that anybody (including proprietary software) can implement.

C.
 
It's really hard to justify working on a non-niche open source project when, at any time, some random corp can take your code, fork it, and make 1000x+ what you made for actually creating that code.

Bigger men are able to stomach that. I personally would not be able to. As Ugly One implies, there's a reason MS bought Github.
 
There are some outstanding success stories for open standards that anybody (including proprietary software) can implement. We're using them right now on this website with our network stack, HTML, CSS and Javascript. But there's a world of less clear-cut cases too.
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.
 
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.

This was Ballmer's Embrace, Extend, Extinguish strategy, which failed at everything.

Embrace - Microsoft embraces an open standard and implements it.
Extend - Microsoft adds useful extensions and improves the standard, getting everyone addicted to it and flushing out competitors.
Extinguish - Microsoft replaces the open standard with a closed standard.

The problem with this evil genius plan is in step 2. Since Ballmer was a fucking idiot, not a software guy, he failed to grasp that open standards evolve constantly. The result was that Microsoft people were wasting time on stupid extensions and not actually keeping up with the standard. This came to a head when MS was successfully sued for claiming it had an up-to-date Java VM when it absolutely did not. When Ballmer left in 2014, the thing I was most aware of was that MSVC was over a decade out of date when it came to C & C++ standards. I was so glad LLVM was cross-platform, because mingw is a bitch.
 
This is why the GPL was created explicitly so companies could not do this. Its only a matter of time until this becomes a new trend and people start showing contempt for permissible licenses and go back to mostly using the GPL.
There is no distinction between BSD and GPL here.

The reason Redis is able to do this is that they require copyright assignment to them by contributors. If they didn't do so, they'd need to get all contributors to agree to re-licensing or re-write parts contributed by outsiders.

There would be no extra protection if Redis had used GPL over BSD licensing.
 
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.

MAME actually tracked every copyright owner down when they changed their license.
 
Back
Top Bottom