Elastic promises "open"—delivers proprietary
Open-source software is famously able to be used by anyone for any purpose; those are some of the keystones of the open source definition. But some companies that run open-source projects are increasingly unhappy that others are reaping some of the profits from those projects. That has led to various efforts of "license reform" meant to try to capture those profits. So far, those efforts have just led to non-open-source licenses, thus projects that are no longer open source. We are seeing that play out yet again with Elastic's mid-January announcement that it was changing the license on some of its projects.
Elastic is switching the license of the Elasticsearch search-engine software and its data-visualization counterpart, Kibana, away from the Apache Software License version 2 (ASL) to the Server Side Public License (SSPL) starting with version 7.11. As with previous versions, those projects will be dual-licensed with the Elastic License, so that users who do not want to (or are unable to) comply with the SSPL can purchase a license from Elastic.
We have seen this movie before, of course, but this time around the disingenuous way that Elastic is presenting its move is raising hackles within the FOSS community. It is clear that the company is quite unhappy with Amazon Web Services (AWS) for turning Elasticsearch and Kibana into for-profit products that compete with Elastic's own offerings. It is less clear that the license switch really addresses the problems that Elastic is complaining about, however. Beyond that, AWS is using the components under the license that Elastic freely chose when the ASL suited its objectives. Now that the ASL apparently does not suit Elastic, it is rather ridiculous for the company to proclaim that switching to a proprietary license is "doubling down on open"—it manifestly is not.
There is obviously nothing wrong, in a legal sense, with Elastic changing the license of those products/projects. But in the eyes of many, the SSPL is simply another form of proprietary license. The SSPL was not approved by the Open Source Initiative (OSI) as an open-source license; it was withdrawn from consideration when the response made it clear that it would not be accepted. But all of the contributors to the projects have signed a contributor license agreement (CLA) that allows Elastic to relicense the code as it sees fit; it exercised that right with the announcement.
The prior releases that were made under the ASL are still freely available, of course; interested developers or organizations can fork from that point and continue maintaining the code. In what should not come as any real surprise, AWS has such an interest; it stepped right up to fork the projects. So it is possible that Elastic will not only be competing with the AWS product offerings, but also with a fork of its projects—which might just become more popular than its own versions. Elastic should have seen this coming, so it is not at all clear what it thinks it is gaining, at least assuming that the company intends to do what it said in the announcement:
The SSPL was created by MongoDB to try to stretch the idea of copyleft
to
cover additional software, beyond just the code released under the
license.
It is a modified version of the GPLv3 that, like the Affero GPL (AGPL),
modifies the section on code being used in a network service.
The AGPL requires releasing any modifications to the source code
from network services, but the SSPL extends that requirement to a whole raft of barely
related or unrelated code ("including, without limitation, management software, user interfaces,
application program interfaces, automation software, monitoring software,
backup software, storage software and hosting software
").
Furthermore, the source code for those pieces must be released under the
SSPL, not simply under a FOSS license.
That clause of the license is pretty clearly written as a "poison pill" to ensure that large service providers are required to use the other half of the dual license, thus pay the licensor (MongoDB or, in this case, Elastic) for its proprietary license. The SSPL has not been tested in court, but that clause could easily be interpreted to mean that all of the code on the server must be released under the SSPL, which is well-nigh impossible for many providers. Much of that code is already available under a FOSS license (e.g. Linux), but cannot simply be released under another license.
While the GPL itself expands its reach beyond just the code it covers (to the build scripts and such, as pointed out by Matthew Garrett shortly after the release of the SSPL), that "scope creep" is far smaller and, likely, more defensible than forcing the release of completely unrelated pieces, such as, say, backup software. The SSPL clearly makes the use of this supposed open-source software fraught with legal peril, no matter whether you are some giant cloud provider or not; in effect, if you want to make money using Elasticsearch or Kibana, you will need to be able to release all of the code you are using to do so under the SSPL—or get a proprietary license from Elastic.
This shift from open-source licenses to licenses that are less so has been ongoing for some time. Projects that can be used in the software-as-a-service (SaaS) model often begin as fully open source; that typically leads to more rapid adoption, which looks great to investors. Down the road, though, those same investors may be the ones getting cold feet about users exercising the freedoms they were given, so those freedoms are curtailed. In other industries, that strategy is called "bait and switch".
The success of the strategy depends in large part on the licensor being able to turn in a proprietary direction. It needs to be able to offer new features as "secret sauce" in order to out-compete both the older version of the code and any fork(s). That kind of precludes an open-source approach, or at least makes such an approach quite difficult. It will be interesting to see if Elastic keeps its promise this time, though one guesses that few are truly banking on it.
Back in mid-2019, VM (Vicky) Brasseur nicely summed up the problems with this strategy:
The reaction from the FOSS community to Elastic's announcement was swift and rather heated from some quarters. Part of the ire is due to Elastic's use of phrases like "free and open" in a deceptive way. As Drew DeVault put it:
He goes on to remind developers that signing a CLA sets up this kind of loophole; companies cannot relicense code if they are not granted those rights. He also suggested that Elastic, and other companies that require CLAs, have done so deliberately with the intention of making this kind of switch down the road. That's hard to judge, but companies don't ask for a CLA that they are sure they will never need—it is obviously done as type of insurance.
It remains to be seen if AWS is a better steward, however. So far, there is just the January 21 fork announcement, which does have some hopeful language:
There is no mention of a CLA requirement (or lack thereof), but unless all of the previous contributors (including Elastic) sign a new agreement, AWS would be unable to relicense the code anyway. It seems likely, then, that the forks will operate in more of a community-open-source fashion, rather than as a corporate-open-source project.
There have been several speculative bubbles in the FOSS world along the
way. There was a time when having "Linux" in your company name was enough
to attract investments that were, at best, overly optimistic in many
cases. More recently, "open source" as a business model has taken over as
the attention-getting idea in the startup world, but as Brasseur pointed
out back in 2018, "open source is not a business model
".
Open source is a development method that can be used by a company to make
money, but it is not magic fairy dust that can turn millions of users into
paying customers—no matter how many Sand Hill Road
companies believe otherwise.
A sad part of the story is that many of these companies are quite successful, even while being "hampered" by sharing their secret sauce with others. They just are not successful enough, or quickly enough, to satisfy today's venture capitalists and other investors. In the meantime, though, the FOSS community gets taken on a ride with an abrupt end, which makes for a rather unpleasant journey.
