Totally open source works fine, it's when you try to mix open source with a controlling entity and a business model. You can only get away with that as long as you've got a lock on expertise and development. As soon as a significant portion of development and expertise is coming from outside, what makes the original business entity any more appealing than those others (as in this case)?
One way to stave that off for a while might be to make sure you're releasing new features you've developed at a good clip, and as you've developed them you're naturally going to have more expertise. That likely only works for so long though, most projects hit some level of maturity eventually at which point new features are somewhat superfluous, and might even be detrimental.
I think the bottom line is that if a business is based on an open source product then that business should be looking at it as something with a life, and a coming natural death (of being able to be the only/main support company for it at least), and plan accordingly. It might not happen, but you can't count on it being exclusive forever, especially if it's actually lucrative.
Trite as it may sound, open source isn't a business model. For a profitable business, you need something unique, a moat that competitors can't cross easily. Open source can certainly be part of that model, for example by increasing the value of your core assets. Or as Joel Spolsky wrote many years ago, commodify your complement.
Google, say, releases a lot of OSS. Guess what they're not releasing? The data they have hoovered up of practically every internet user, that they sell to their customers (companies that buy advertising, not the users). "Data is the new gold". They release tensorflow under a permissive license, not the data they're training and running their DL models on. They release Android for free, as that lowers the cost of phones and drives more users into the Google online empire, giving them ever more data. Again, "data is the new gold", "commodify your complement".
(Not picking on google here to say that they are good or evil, just an example of how you can build a spectacularly good business while also releasing a lot of OSS)
Or for all those VC-funded corps popping up trying to build OSS databases and seeing it doesn't work out (Mongo, Elastic, etc.), build a database, not a database engine. Data is the new gold, software, particularly OSS, is a commodity.
Amazing. I think capitalism wouldn't be hurt if occasionally companies made the choice to end themselves "get out while you're no top" and distribute their wealth to the stakeholders, ideally with some sort of bonus to the terminal employees. Of course, the employees might not like that, but it is an attitude of entitlement (if an understandable one) to think that you should have a job for life.
Software matures, and the expertise transfers to many other people while it matures. That shared expertise enters into public common for good. Natural and beautiful.
Maybe. I can no longer tick the "does it use an approved open source license" compliance checkbox any more. Sadly, for me, there's now a very strong incentive to move forward with an Apache2.0 licensed Amazon fork instead of the Elastic one.
Key word here is would've. They were already Apache 2.0 until 7.1.0 therefore this change will have absolutely no effect on Amazon's business; all it will do is encourage the develop of high-quality feature-rich Apache 2.0 forks while hurting Elastic's brand image - rightly so - because they're (a) no longer an open-source company [except for beats/etc which only works in the context of the now-proprietary elasticsearch/kibana], and (b) they outright lied to the community when they claimed that future versions of their open core would always remain Apache 2.0
Where did they make this claim?
https://web.archive.org/web/20200120104750/https:/www.elasti...
"We did not change the license of any of the Apache 2.0 code of Elasticsearch, Kibana, Beats, and Logstash — and we never will."
I view SSPL as a Copy Left style License for the SaaS age.
They picked the wrong license in the first place with Apache, they should have used GPL, AGPL, or some other copy left anyway
I generally oppose Apache, MIT and other non-copy left license exactly because it allows Amazon and other large companies is leech off the work for their own commercial offers while giving nothing back
Copyleft licenses such as AGPL are open source licenses, because they preserve user freedom.
The SSPL is not an open source license (and likely not even Copyleft) because it restricts user freedom that have usually been guaranteed by FLOSS.
https://opensource.org/node/1099
Open source isn’t about guaranteeing a for-profit company a business model. “Leeching” is irrelevant (and also just Elastic marketing propaganda).
User freedom is the whole point.
But...
I do note that the original "open source definitions" were drafted back in the late 90s (and from memory, built on older pre existing Debian docs of similar nature).
The world was different back then, I wonder what the authors of those docs would have considered "user freedom" to be in the age of AWS/GAE/Azure?
(I guess Stallman, for all his flaws, is a reasonable guide to what the free software movement would have thought. It'd be illuminating to hear his opinion on these new licenses. I suspect I know the answer, and it'd very strongly agree with your comment...)
I respect anyone who follows a license, I respect anyone who want to relicense a software and I respect someone who forks a project. I don't see any fault anywhere here.
If those companies customize your code and don’t recontribute it, that’s what the AGPL is for.
The SSPL doesn’t actually help with this problem. It removes your freedom to use the software in certain ways. It is a pecuniary license designed to sell you a more permissive license.
What right is being violated here? You as a user can run your own Elasticsearch software; I haven't modified it and thus I don't need to publish anything specific. What the SSPL says is I must publicize my entire SAAS product - but the user isn't paying me to run their own Elasticsearch SAAS product, they're paying me to run Elasticsearch.
So to call SSPL copyleft is totally absurd.
Now, there's a broader discussion that you raised of whether the open source definitions are out-of-date or not. Personally, I don't believe so. I don't see how any of the newer developments in the space (public clouds, managed offerings, etc) materially change anything; indeed the whole point of OSS is it's based off of deep principles.
"The terms “free software” and “open source” stand for almost the same range of programs. However, they say deeply different things about those programs, based on different values. The free software movement campaigns for freedom for the users of computing; it is a movement for freedom and justice. By contrast, the open source idea values mainly practical advantage and does not campaign for principles. This is why we do not agree with open source, and do not use that term."
https://www.gnu.org/philosophy/open-source-misses-the-point....
I guess you and Stallman agree there, and that permissive open source licenses are totally up-to-date with modern cloud computing businesses and business practices and that Elastic and their choice of Apache2 are getting exactly what they signed up for. And that "free software" licences especially the viral ones exemplified by GPL/AGPL are also still relevant in 2021, and having chosen one of those would have given Elastic.co what they claim to be demanding... (I think I agree there too.)
I think we agree up until this point, at which you fall into a trap. This is the same trap I was trying to avoid by giving my SSPL scenario above.
A copyleft license like GPLv3 does not prevent a business from operating a SAAS business.
AGPL would apply, but it only triggers upon modification. So as long as Amazon doesn't modify Elasticsearch itself, they don't have to publish anything (because there's nothing to publish), and if they do modify, they have to share just those changes. Which is very fair to me from a copyleft perspective.
Now SSPL tries to go further and say for merely using the software in a certain way, you must release not just any changes to the software itself but also everything around the software. That is what makes the SSPL neither open source nor free. (I guess I don't actually know how "free" is defined, so I can only say for certain that it's not open source, but I don't think SSPL even counts as copyleft)
I as a user can no longer fix bugs in the Elasticsearch that I'm using. So I don't have the four freedoms that copyleft is all about protecting.
> What the SSPL says is I must publicize my entire SAAS product - but the user isn't paying me to run their own Elasticsearch SAAS product, they're paying me to run Elasticsearch.
That's like "I'm not blocking you from going into the building, I'm just blocking you from going through the gate outside". The point of copyleft licenses is that you need to give the user everything they need to run (or hire someone else to run) the same software (or their patched version of it) the same way.
I am aware FSF would disagree with my position, AGPL is better than SSPL.
As to OSI, I have losts of issue with OSI as an organization, and when they state "But Elastic’s relicensing is not evidence of any failure of the open source licensing model or a gap in open source licenses. " they are simply wrong
There is a clear gap in open source licenses when it comes to dealing with SaaS, the fact they do no see this gap is very telling.
the Free Software community saw this problem and thus the AGPL was born, something like AGPL is needed for open source, but OSI refused to even acknowledge there is a problem let alone look for solutions to it
//And no Free Software is not the same as Open Source Software, they should not be linked as being the same
edit:
>>User freedom is the whole point.
Free Software is about user freedom
Open Source is about Developer Freedom, that has always been the big difference.
Apache, MIT, BSD etc are all licenses that allow devs to take code, use it in commerical products. That is why you see places like GitHub default to these non-copy left licenses.
Free Software is about copy left, GPL and the like. Because it gives USERS freedom
I think you have zero interest in Free Software. You want “Free Software except in the ways I don’t like”.
AGPL was about ensuring user freedom by requiring server hosted source code modifications to be contributed back to the community.
SSPL isn’t about that. SSPL removes freedoms from using the software for no principled reason other than to allow a copyright holder to make more money by selling you a less restrictive proprietary license. It isn’t copyleft, it isn’t free, it isn’t open.
You built a nice strawman to tear down around my “They are simply wrong” quote using it out of context
How about you address what I actually said OSI is wrong about, they are wrong about the fact that there is no gap in Open Source licensing when it comes to SaaS Sevices. SSPL may not be the best solution to it, but completely rejecting the clear problem is how you end up with less than perfect solutions like SSPL.
I don’t see what the clear problem is with open source licensing. AGPL solves the problem of SaaS providers modifying your software without freeing their modifications, if that’s what you want. AGPL is also an OSI approved license. What more is missing?
https://opensource.org/node/1099
If you want to have a business model like Elastic, then open source is simple not right for you. This is what the OSI Board of Directors says.
It's a different discussion whether this is a good business model, but it's not like op has no point here:
What's missing is an open-source license for products whose profits accrue due to being run as SaaS. If you're just going to say: "This is not possible with open-source licenses", then that's the gap.
What people actually want to do is exclude about 10 or less companies from selling their software at no own cost, while keeping it open-source for everyone else.
And OSI says this is not a use-case for any of their open-source licenses. Maybe there should be a license for that. I don't know.
Forcing profit accrual in your software license is easy enough. The hard part is to grow a community & popularity the way open source licenses have proven, when you have such restrictions in place.
This is only a "gap" in the sense of the grand injustice of the universe, as the Rolling Stones said, "You can't always get what you want".
'What's missing is an open-source license for products whose profits accrue due to being run as SaaS. If you're just going to say: "This is not possible with open-source licenses", then that's the gap.'
Think about what you're saying for a second.
1. Free software & open source is fundamentally opposed to user restrictions of any form, this is "Freedom Zero" and literally the whole reason the movement was created and got popular.
2. You can't create an "I GET THE MONEY" restriction and still be open source or free software, or accrue anywhere near the popularity and community goodwill you'd otherwise get
3. Therefore this is a problem?
Open source contributors have limited interest in your profits or business model if it means compromising the most essential point of it all. Open source is not a business model, and never was meant to be. Plenty of open source companies made lots of money without restricting user freedom, and they did it while AWS and others existed.
All of the tech leadership and excitement in dev communities today (Docker, Serverless, Kubernetes, Kafka, Spring, Rust, Golang) etc. is driven by open source, not by the clouds' proprietary services.
'What people actually want to do is exclude about 10 or less companies from selling their software at no own cost, while keeping it open-source for everyone else... Maybe there should be a license for that.'
Licenses like this have literally existed for over 30 years. "Everybody but Microsoft", "everybody but IBM", "everybody but the military". They're out there in spades.
Good luck, have fun. Build amazing software and build a community!
Except, these violate "Freedom Zero", the most essential point to why FLOSS was created: freedom to use, no restrictions. You might have some challenges gaining community support because of this.
https://www.fsf.org/bulletin/2019/fall/building-ethical-soft...
The excerpt worth reading:
"The lack of usage restrictions in its licenses is key to the success of free software. A world of proliferating and potentially conflicting usage restrictions, each seeking to address a different social cause or need, would introduce so much friction that the tremendous democratic social benefit brought about by the free sharing of software – including the empowerment of individuals to effect social change in unjust institutions – would be undermined.
Just because a license is not the right place to enforce ethical software usage doesn't mean we don't recognize the problem, or respect the people raising it. We should encourage and participate in conversations about the ethical usage of software. With the ground rules of free software as the baseline, anyone can build systems to specifically promote ethical use."
Like Elastic "leached" of Lucene? Elastics whole business model depends on Lucene being under the Apache license. If Lucene followed your suggestion (funny enough, Lucene used LGPL very early in its history) Elastic wouldn't exist at all.
If you want to offer ElasticSearch as a service, you have to open-source your entire hosting stack including UI. God help you if you pay for any proprietary software — you literally can't satisfy these terms. Notably, Elastic itself doesn't have to do this for its own hosting service, because of course it can't satisfy the terms: no hosting company I know of can.
The point of the license isn't to get contributions back. The point is to prevent competition to Elastic's hosting business. Elastic's new version of ElasticSearch is source-available software, not open-source, by pretty much any reasonable definition.
It's worse than that: you need to release your entire hosting stack under the SSPL. It's extremely unlikely that you're able to do this. Hope your servers aren't running Linux! (Or bash or the GNU coreutils or...)
If it were acceptable for the rest of the stack to be under another free software license, I'm not actually sure I'd be opposed to it. But yeah, as-is it sure looks like they've just written the license such that it's impossible for a hosting provider to comply.
(I _do_ totally understand the principle of strongly viral licenses, I think the GPL is an amazing thing. The chardonnay socialist in me wishes the whole world would use it. Pragmatically, at work I feel obliged to point out the responsibilities of using GPLed dependancies. From a profit-focussed business decision, it's often better avoided. I agree what Amazon does with Mongo/Redis/Elastic et al. qualifies as "leeching", maybe I'm only fooling myself that my work's projects are somehow better...)
Had ElasticSearch been under a copyleft license, the only difference would be that Elastic would've been unable to simply move away from the copyleft license.
Sure, if your whole business model is “sell a SaaS”, then making the whole offering an open source product that is simple for other people to host and offer an equivalent (or, if integrated with other offerings you don’t have, often more compelling) service is a bad choice.
But people choose open source licensing for a reason, and against competing software, a proprietary license can be a negative feature which makes it harder to grow mindshare and prove out utility.
Literally one of the selling points of ES amongst my peers was that it was easier to set up to host in a multi-node cloud than the earlier Solr.
Which is great, good for them! But... yeah.
You’re welcome to license under SSPL (or AGPL) if you wish. But if you want commercial customers (or even users), you’ll have to bear in mind that licenses like SSPL are a “no” (or at least, requires legal review) in many commercial entities, including startups.
Licenses like SSPL won’t give you the growth a new entrant could potentially get with a more commercially friendly FOSS license, because your potential users/customers will see it as a proprietary product and evaluate you as such.
In Elastic’s specific case, iirc a major competitor for them was the proprietary Splunk, so Elastic being FOSS really helped their case. Had they been SSPL from day 1, their growth trajectory would have likely been different.
While true, personally I'd not be willing to contribute to such a project. Of course, such a license would require legal blessing, which in itself is a lot of (paper) work. What if, the company decides to change the license in an year?
It would have prevented its use in a previous company i worked at (largely for ideaological not practical concerns).
> Totally "open" open source only works if everyone is a good actor, which was never a realistic assumption, but it took a while for that naivety to cost so much, I guess.
That seems like a silly conclusion. Amazon is being a good actor by all accounts. On top of that Elastic is like a 15 billion dollar company, if that's not working, i need to get going on a business venture that doesnt work.
Anyways what makes you think they would be succesful if they used the license from day 1. Having your cake and eating it too only works if you switch halfway through.
People used and recommended the software for years because it was Open Source. People contributed to the project because it was Open Source. It became popular BECAUSE of Open Source.
Your argument doesn't work because you wouldn't have known about it if it wasn't Open Source.
Yet it would've prevented AWS from undercutting their paid offering in the place I'm at now that would rather pay for it than self-host it.
The lesson I'm taking away from this is just use a license like they're using now from day 1. Totally "open" open source only works if everyone is a good actor, which was never a realistic assumption, but it took a while for that naivety to cost so much, I guess.