OpenSearch: AWS fork of Elasticsearch and Kibana
aws.amazon.com
aws.amazon.com
From my perspective, Amazon has made most of its profit price gouging consumers on bandwidth after vendor locking them into their ecosystem, where they bootstrap new services by wrapping open source software with some provisioning scripts, management dashboards and cookie-cutter API / console templates. Indeed, most of this is templated -- AFAIU, for example, each AWS service autogenerates its Boto bindings and parts of its console frontend via code generators. Amazon has really mastered the factory process of churning out new services, and when they find a popular one, they can invest more resources into developing it than the original team ever could.
And therein lies the rub. If Amazon is improving the software in a way that the original team couldn't, it's hard to say that the community isn't benefiting. I think what strikes me the wrong way is that Amazon is not doing it for any altruistic reason. In fact, Amazon contributes very little to open source in general, considering how much they take from it. Compare them to Facebook (React, etc) or Google (tons of dev tools) or Microsoft (VSC, TypeScript). What does Amazon have? Firecracker, kind of? And now a fork of ES because that's the only way they could continue making money off it without violating the license a small startup put in place to stop them?
Well, good for Amazon, I suppose, but I find myself instinctively disliking them for this. I'm not sure what the solution is. Hopefully technologies like Kubernetes and Terraform will encourage big customers to become at least cloud-agnostic, if not cloud-independent. At the very least it would be great if Amazon / Google / Microsoft stopped gouging bandwidth at such absurd margins. Or not. Maybe it will be their downfall as startups differentiate along those lines. That would be ironic, coming from the originators of "your margin is my opportunity."
Personally I'm doing my part by not building anything with vendor lock-in. It's great to be able to deploy to any cloud, if you value either robustness or flexibility.
I think that changes some of the more floaty ethical concerns. This is not a David vs Goliath situation. This is Goliath vs Super-Goliath.
At this point, I'm much less interested in the drama of which mega-corp is screwing over the other. I'm more interested in: how does it affect me? When the titans are done trampling over the rest of us, which side benefits me the most?
Its too early to tell, but it seems like it'll be Amazon. The product is more open. They have a demonstrated history of great support. Yeah, they gouge us on networking and everything else, but at least they're the devil we know, and buying into the OpenSearch ecosystem has a greater probability of being the more open solution into the next decade.
If OpenSearch is truely open then in theory you can find another provider. But for ElasticSearch you’re stuck with them.
Just like the guy that is $1M worth is not going to blow all of his money just to squash some guy. He probably has more powerful friends and maybe some connections but I don't see dumping $0.5m on lawyers just because he can take piece of cake from the other guy that will make him $10k a year.
Imagine head of the department storming into Jeff Bezos office telling that he needs 20% of all Amazon worth to squash Elastic, that would be funny. Quick calc with 20% I assume would be $20B which would be only x2 of Elastic, so I don't see something like that happening.
Nobody needs to feel sorry for anyone.
I know this is a popular narrative, but as someone who works on AWS, I think you would be shocked by how small the individual dev teams are that build and maintain the services that everyone uses.
I'm not going to downplay the network effects involved. Of course AWS has a tremendous advantage in being able to standardize the customer billing, IAM, and EC2 Usage.
And there are economies of scale.
But individual AWS service teams are: * incredibly lean and focused * still have to make a profit on their own terms based on the infrastructure they build and the fees they charge customers * laser customer obsessed to solve people's (developer's) direct needs.
I understand the community's concern about AWS investment and approach to OSS. But I can assure you (though you have no reason to believe me) that the goal is never to embrace, extend, then extinguish. It's all in the service of going where the customers are, and solving problems that they tell us they have. The profits are a byproduct. The "working backwards" process is no joke. We spend a lot of time figuring out what is the right thing for customers to build, start building it, and THEN we think about how do we make money from it.
> and THEN we think about how do we make money from it
Do you really need to think? Looking at the on-demand pricing in US East, a m5.4xlarge.elasticsearch instance costs $1.133 an hour, while a m5.4xlarge instance costs $0.768 an hour. That's 47.53% of extra money. And like you said, it only requires a small team to build and maintain the service.
It is no coincidence that all cloud providers are trying to ramp up their hosted services for open source software, even GCP, who historically only focused on their own proprietary stack. There's a lot of money to be made.
If that were true, people wouldn't pay for it...
As we can see elsewhere in the comments, your biggest competitor appears to be the various kubernetes operators. With kubernetes as the common stack across multiple cloud providers as well as on-prem datacenters, the 10,000 customers can now contribute to the same operator project, to possibly get somewhere close to, or even exceed, what AWS can do with a small team of engineers.
Perhaps anticipating this trend, GKE now has an "autopilot" mode, such that a 30% profit margin is already included in the node pricing. That's one hell of a moneymaker.
curious if others have noticed this as well (capabilities without clear owners)? what does this depend on? time? company size? both?
As an outsider, I would guess huge swaths of developers with a massive hierarchy. Buildings full of folks working on AWS services. I have no idea and extremely curious.
at least 12 people. Of course they are in turn supported by many different teams, which also consist of who knows how many people.
Then, as the scale increases, and the number of features increase, so do the number of teams.
Lambda and CloudWatch are both a couple hundred people which wouldn't be surprising once you consider all the things that they do.
But I would venture a good half of all AWS services are built and run by one team of 10-12.
This sounds a little unfair, even if I agree with the argument that they’re free to fork OSS software and do whatever the fuck they want.
1. No fixed deadline, with a few exceptions of course, for platform-related projects.
2. Promotion/salary negotiation was not tied directly to release of external features.
3. A single engineer could be responsible for more than one service for the entire company, with 24x7 oncall.
With Netflix establishing such incentives, engineers naturally focus on getting infrastructure right, to the point that oncall 24x7 is a non-issue.
So, yeah, culture matters, big time.
Edit: another incentive was that a service was measured by its adoption. The more people praised it, the more successful the service would be. Requiring meetings to get buy-in for a new service was considered a sign of potential failure. As a result, every single team focused on making the value proposition of their services obvious. Path of least resistance was a given instead of a debated topic.
With that in mind, their behavior here makes a lot more sense, and comparing it with companies who have dramatically different products, like Facebook and Google, takes a lot of effort to understand the differences and what impact they have.
The AWS "value add" is only value add in the context of being locked into AWS in the first place.
Looking at what "as a service" providers of open source software do though, that is taking it a step further, since they wrap the software in a layer that _smoothes_ out changes for the user. Going back to the rental company that would equate to the car manufacturer deciding the indicator needs to be on the right side of the steering wheel now and the rental company installing an adaptor so that it remains on the left for you, to keep the look and feel for the user the same.
Not a perfect comparison, but they never are :)
The way they operate their cloud service leaves a lot to be desired and encourages maximum spend if you end up wanting to use it for anything demanding in production.
At my current client we started with their cloud and in a few months deployed our own in Kubernetes using the official operator.
It's a lot cheaper and gives us fewer headaches this way.
They must think their customers are cash machines.
https://www.elastic.co/about/press/elastic-acquires-elastics...
Also virtual beers to you -- I really like Websolr!
I truly believe the negative voices are coming to the fore in this thread or they are paid Amazon folks (or they have a vested interest in AWS succeeding here).
These other opinions and negative voices you reference come from actual customers who pay Elastic large sums of money, and they feel they don't get good value and service for that money they're forking over.
Pretty sure this is the definition of SAAS and IAAS
Referring to my other example, in more detail: Elastic Cloud suggests operating your cluster across 3 datacenters for redundancy. This is a good idea. Then Elastic does maintenance in all three datacenters that your infrastructure is in at once and takes your clusters hard down. This is fucking stupid. Elastic's suggested solution to the problem: Operate a _duplicate_ cluster in 3 datacenters in a different region/provider. No guarantees that they won't do the same there either so it's not actually a solution.
I don’t think this is a fact. Amazon seems to contribute pretty significantly according to the pages [0,1] they put out that describes their contributions. Not to mention their membership in OSS foundations like Linux Foundation. [2]
You have the caveat about in relation to benefit they gain, but that’s pretty hard to measure. And I think isn’t really a good measure.
I’d like to learn more about why you make such an absolute claim and maybe you have some better measure.
I remember back in the 90s when big orgs (Microsoft, IBM) didn’t contribute to open source and can’t even think of any big orgs today that don’t contribute to open source. Even Oracle has big open source projects.
[0] https://amzn.github.io/ [1] https://aws.amazon.com/opensource/ [2] https://www.linuxfoundation.org/en/join/members/
To the sibling comment that asked about Firecracker -- I think Firecracker is awesome, and I did mention that in my original complaint. They even created it themselves! Well, a team of amazing engineers in Romania did. I have no personal insight into the matter, but it seems like they operate relatively independently from the AWS profit machine. Good for them too, it's incredible software. But I'm sure if they were to tell the story of how they got buy-in at Amazon to open source it, the same themes would come up -- how does Amazon benefit from this? In the case of Firecracker, the more people test it / harden it / run Doom on it, the more value Amazon can provide on its serverless platform. So again, unlikely to be purely altruistic intentions... but that's not to say there's anything wrong with that. I just find it all a bit distasteful in aggregate.
I personally am against modern day corporate America, but I can't blame them for this. The software is given away free/libre/gratis to be forked by whomever.
Perhaps to combat this, one should choose a non "Open Source(TM)" license, but a source availbe license. E.g https://mariadb.com/bsl11/ (not my personal favorite, just an example).
Also, I definitely agree with/do the same:
> Personally I'm doing my part by not building anything with vendor lock-in. It's great to be able to deploy to any cloud, if you value either robustness or flexibility.
Could Elastic's business model survive if lucene adopted the SSPL license that Elastic has, saying it's the "spirit" of open source?
That is an interesting question.
MySQL for example took a proprietary API (the mSQL API) and implemented an open software for it. Then Oracle bought MySQL. MariaDB started and it quickly dropped full compatibility. Options for the developers/users. Great.
AWS/GCP/Azure on the other hand distorts the market. Just as Google/Apple/MS fund Chrome/Safari/Edge development from other sources, thereby distorting the market, forcing browsers to be free as in beer. (Which arguably hurts the market.)
Elastic (and other vendors) complaining about this instead of using it for their own success is a problem of their own making. At least a few companies are finally learning.
We already know Amazon isn't interested in doing that (either at all, or at whatever price ES wanted, we don't know that).
They had no legal requirement to when ES was open source. So ES changed the licensing to no longer be open source.
So, Amazon could... a) decide to give ES a cut after all, b) decide to stop hosting ES, or c) fork the last open source version.
I don't think anyone is surprised they chose c? Presumably ES isn't either? Maybe ES thinks this will be good for them/bad for Amazon anyway, because they are hoping potential customers will abandon the Amazon fork and stay on the original ES fork?
Not sure why they'd be confident in that exactly. Maybe they know what they're doing.
As users/customers, we would rather have a choice of hosted vendors/platforms, and that it remain un-forked (so we can use/write software compatible with either vendor/platform). Competition is good for us as users/customers, that's in fact one of the reasons we choose open source, so no one vendor can set the hosting price all on their own without competition. We want to be able to choose among competitors for hosting, based on price, customer service, performance, uptime, whatever.
But ES didn't want that, they didn't want hosting competition to exist -- at least not without permission and agreed upon cut for them -- because, I guess, hosting was how they planned to make money as a company to fund development as well as profits for investors etc. So they changed their license to no longer allow it. So of the possible outcomes remaining... this one seems as good as any for the user/customer, I guess?
So, when you say "I'm doing my part by not building anything with vendor lock-in" -- I'm not sure which course you are suggesting. In fact, between ElasticSearch and new OpenSearch fork.. it's OpenSearch that is the one without vendor lock-in, right? OpenSearch is Apache licensed, and can be hosted by any vendor and still forked by anyone . It's ElasticSearch that has a license limiting what vendors can host it (without permission of ES), it's the one with vendor lock-in, right? So not building anything with vendor lock-in means... ?
No single capitalist wants competitive markets. They want monopoly, for themselves. It is only when they don't have the monopoly or an easy way to get it that they cry for competitive markets. And that is good of course.
I'm the first to say that AWS is too expensive, and I vote with my wallet (and the company I work for by proxy). But I'll never claim that there's any gouging involved.
So for AWS the term is arguably correctly applied.
But I'd be more worried about the market if AWS was artificially undercutting pricing because it would kill the incentive to create competitors or innovation in the space.
What outsized leverage have AWS had for a decade? There are multiple competitors at different levels, AWS are just better in terms of coverage/redundancy and amount of services.
Can you elicit the argument by which this is correctly applied?
Elasticsearch was first released over a decade ago. ElasticSearch, now just Elastic, the company was founded over 9 years ago and now is public. Are they still a "small startup"? If so when does a company graduate from that status?
The beauty of OSS is that motives don't matter. If Amazon contributes and it's not detrimental in someway to the code, then it's a plus for anyone else who wants to use it.
All this being said, progressive corporate taxes seem more enticing year after year.
Really this is the secret sauce of the cloud. Create new abstraction layers where you can charge for logical separation on a physical basis. First VMs, then containers, then serverless... Would be cool if somebody did it with bandwidth (looking at you, Cloudflare). Why can't I buy an elastically sized pipe? Why do I need to pay for the stuff I put through it instead of reserving a size for the time I'll need it?
[0] https://twitter.com/eastdakota/status/1371252709836263425
It's like going to a restaurant and complaining about the price of steaks because beef should cost a lot less. There's a ton of other things involved, and yes, they probably have a decent margin, but not as much as you initially imply.
so, when should we expect this gloriously efficient competitive market to kick in to action?
my guess is that the AWS ecosystem, despite "price gouging", is simply the best and will be because this is really hard, non-glorious engineering, where solid reliability actually matters. anyone who wants to can go ahead and co-lo, so, whatever. people who want cloud will pay, and those who can't or won't, will not.
If a colo provides you a 1 Gbps connection if you use less, you don't get a refund. And most of the time you don't get 24/7 saturation, or you get charged on some 95th percentile billing, and their networks are almost always oversubscribed anyways.
AWS is trying to disincentivize using it as a dumb pipe. They want you to use it smartly and if you just want to push static data there are much more cost effective ways to do it, such as CDNs, which are more cost effective for both you AND AWS.
Comparing AWS bandwidth costs and Colo and even other clouds like Oracle isn't fair because different things are associated with that cost.
A couple of comparisons:
Oracle Cloud give you 10TB of bandwidth for free, with overage charged at around €7.5/TB.
You can rent a VPS from the likes of Hetzner, and they will throw in 2-20TB of bandwidth for free, with overage charged at something like €1/TB - AWS charge an eye-watering €125 for each TB!
I think the reason the big 3 (AWS, Azure, GCP) still charge such huge amounts is that they profit so greatly from it, and there is more than enough business to go round.
Or that their networking does vastly more and is of better quality? Hetzner can't provide you with everything around a VPC that AWS do. Just a tiny example - peering VPCs across regions, which is free.
1. High bandwidth charges are an effective form of lock-in. Once your data is there, it's prohibitive to move it out again.
2. Bandwidth use is very poorly understood in many businesses, compared with simpler metrics like storage, memory, and CPU. AWS can run razor-thin margins on things that people easily compare to on-prem or VPS-style offerings, and then make the money back in areas like network traffic, fine-grained monitoring, and other items that as less obvious.
Amazon on the other hand developed a free and open source auth plugin and anyone is able to deploy it no problem.
To provide something for free, public use
To get the world to help you maintain your software
A reason to not make open source software:
You want the exclusive right to offer that software as part of a paid service
This is not the first instance of a company not understanding the last point there, and it won't be the last.
IMO, FOSS licensing is completely broken. Its definitions (of what is free/open) are from a boomer's era that is no longer sustainable. At least I wouldn’t want any of my FOSS projects become “corporate strategy” of any particular proto-nation.
Firecracker. s2n.
Not much, I agree
"having subsumed the opensource version of ES, we are now relicensing, calling it our own, and would be really happy if the opensource community would lie to contribute, because actually we don't totally understand how this product works. Many thanks to all who help us"
The issue with AWS version are many fold, but the main one is that it forces extra usage of expensive EC2 units, for the following reasons:
1. Blue/Green updates -> Start a new cluster with new version, lock current cluster, copy over all the data (can take over a day), at the same time write to both clusters, when finished, lock both clusters while endpoints are swapped over, unlock new cluster, trash old cluster. During this process Customer pays for both. - Solution, done properly, fire up new node with new version, swap it in, wait for 'green', take out old... wait for 'green'.. rinse and repeat. Result.. system never goes down, endpoints remain the same, less cost to customer.
2.There are a minimum of the folloowing node types: - Master (small) x3 - Data (heavy on storage, medium on memory) - Hot Data (very heavy on memory as shards have to be held in memory) - Coordinating (query) nodes, heavy on memory, light on storage (cos there is no real storage) - Ingest (same as Query). - voting only.. tiny - AI/ML heavy on memory and storage.. cos they do real work In the AS world they have: - Masters - Data - Hot Data (cos they are really pricey) The Data nodes do all teh functionality of the data, ingest and query nodes. Th emain query always gores to a data node, while it passes to other data nodes to get the data out, then aggregates locally to it... so its incorrect usage of the system. A data node should only ever deal with its own data, and pass the results it finds back to a node away from the data.
As your system is squeezed.. you add data nodes... not coordinating/Query or Ingest nodes, which you probably need. But thats more money into the coffers.
3. Their userhasging function is also old (2011 vesrion of bcrypt) , and fails. Any static password produces different results everytime you use it.. at least on the current opendistro. So you are forced into either not using security, or using proper security, which can be cumbersome across the cluster (if rolling your own). however.. on the cloud version they have base level security working, so thats Ok.. they arent using their own 'open' software.
I could go on.. but its all flaky, and misunderstood at the core developer level. Toput on record, I have spoken twice to teh core development team to describe how updates should happen.. the last time 18 months ago (by 'spoken' I mean a face to face video call) .. so they know hoe it should be done.. but dont do it.
4. I have noticed that there are some functions/methods available on the setup in Amazon Linux, that dont exist on other Linux versions (centOs/Debian) that are security related. AWS Linux is 'lifted' from Redhat.. so another piece of software that they didnt write.. but obviously Redhat are happy with this. Maybe they got the licensing deal sorted .. who knows.
basically gores like this:
"Who would actually install, in production, what essentially is very close to pirated software?"
Roll your own.. its a bit of grunt work up front, then 50% the cost of the cloud version.
Is Starbucks too big and a bully? Sure, they force Mom and Pop shops to close by out-competing them, and that sucks. But bullying? I believe that's just Capitalism.
Or say you're 6'6 and weigh 230LBS and you join a football team full of people who are 5'9 and 175lbs. Are you a bully just because you're bigger?
ES basically handed them a platter with a goose laying golden eggs and a sign that read "Free Goose" and hoped they wouldn't try to make money off the eggs.
I'd say it's more like a mom-and-pop coffee shop giving free coffee to patrons hoping to make money on cookies, and Starbucks coming in, taking the free coffee, opening a nice stand right next to the shop and selling the coffee they got for free.
I'm having trouble justifying this ethically.
I don't see how it's unethical if you do something that someone said was perfectly fine to do. "Obvious chosen outcome" comes to my mind long before "unethical".
To expand across the world they franchisedit.Th eagreeement was, you take te hfranchise, if yoou hit x target in 4 years, we will pay you y amount (large) ...and take it over.
That worked well. DOnt see any reason why Starbucks, or anyone else could nottake that on board, then everyone is a winner.
Now, assuming Starbucks charged you for the coffee, and you then re-sold it, this should also be fine. Starbucks is charging you presumably a rate with which they can recoup their costs. But if they are selling it below cost, they are clearly putting themselves at risk. A lot of businesses take this kind of risk as a strategic part of their business, like with making the coffee free. But you have to do it in a way that a competitor can't turn around to their advantage, or you're screwing yourself.
Enter the concept of "not for resale". If a seller enters into a contract with a buyer, that contract can stipulate that the buyer can't resell the goods. Starbucks could theoretically require you to sign a contract saying you will not resell their coffee. That's pretty standard with licenses, even software licenses.
ES must have known that their license did not forbid reselling. Yet they based their business model on this resellable coffee that they were giving away in order to make money on cookies.
Is it Amazon's fault that ES chose a business model where they were selling coffee at a loss? Does Amazon have an ethical responsibility to keep ES's business afloat? Should we find any business unethical that tries to undercut the customer base of a rival, or take advantage of a rival's shaky business model?
I think you have to come up with a whole framework for ethical competition, because one rule at a time isn't gonna capture it. (But I also think Capitalism is inherently unethical)
It's not "lock-in", it's providing a great all-in-one solution. You can host everything you want to host on AWS, which has good stability, good latency, etc. People are locked in because the DX around using AWS for everything your platform needs is just better than other platforms / having different services on different cloud providers (at least for many people).
If you're "cloud-agnostic" and could migrate away from AWS in the blink of an eye then you're paying for an overpriced VM offering and should probably migrate to a cheaper hosting provider immediately.
No this is what everyone suggesting this does not get. The offerings are not equivalent.
There are a baseline of services that the cloud providers offer that can be made functionally-equivalent. It's not just EC2 but more like EC2,S3,Lambda,RDS,DynamoDB,ECS,EKS (plus some others and of course the other cloud's equivalents). The secret sauce is in the APIs and permisioning and all of these available within the same VPC (talking to each other without paying bandwidth costs).
"Cloud-agnostic" has _never_ meant "just VMs". Some of these services are majorly hard to duplicate on your own VMs as well. Feel free to implement "cheap VM hosting + S3" and burn cash on transit costs.
Cheaper hosting providers do not give you this by miles.
You're conflating the difficulty of migrating a complex system to anywhere with "vendor lock-in". It would be harder to migrate an Aurora RDS Postgresql instance to an Aurora RDS MySQL instance than it would be to migrate from Aurora RDS (postgres) to a hosted postgres anywhere else.
That to me screams "not vendor lock-in".
Obviously the more complex a system is the harder it will be to migrate, but that has nothing to do with Amazon trying to "lock you in" and everything to do with it just being a complex system that there is no industry standard solution for.
Elastic should have a for-profit and a non-profit company taking donations that would actually control the open source code and hiring the core part of team working on it.
I mean, we know how badly Amazon is behaving here, but at least they should have a option where they could realistically invest.
Asking for a company to invest in a competitor that can grow and eat their lunch with the money being invested by them is not realistic. Even because the company investing the money would want to know if that money is actually being invested back in the open source software and not used by a competing company.
If, giving this choice, they didn't invest back in the foundation, it would be much more clear that they are doing it in bad faith.
I guess we can check their github repos to see if that's the case.
On top of that AWS has done a lot of contributions upstream, particularly around the linux kernel, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin..., (particularly the virtualisation stacks involved), some around OpenJDK at what looks like an increasing pace, and the like.
To be clear: not an AWS employee.
Do you remember a time when there were hundreds of hosting providers? Do you remember WebHostingTalk where admins would go to check hosting offers from suppliers around the world?
The monopolies finished that era. So I don't think that software companies trying to adapt now can be seen through the lens of what was 15 years ago.
Not saying you're wrong, but it's a multidimensional problem. One could argue AWS is nothing like shared hosting providers(compare scale), and a webserver is essentially "stateless" which means easier to build than say... A database holding sensitive information that doesn't break. I assume this is why postgres HA and horizontal scaling still really isn't a thing, while CockroachDB funded by VC "solved" this problem.
I think it's fair to let companies monetize on the service they built, while allowing people to run it on their own if they can. A problem here though is that the companies incentives mismatch the opensource project they're eunning. CockroachDB enterprise having killer features that the opensource version doesn't have and that noone will be able to PR because the company will reject it.
TimescaleDB went ahead and opensourced all their features, aligning their incentives with the project, but I don't know of anyone else who has done this.
I think the internet would be even better today, if shared hosting providers had been sharing infrastructure technology since 25 years ago.
> Corresponding Source for all programs that you use to make the Program or modified version available as a service
All programs you use
Every single one of them.
There is literally no limit on what sources you would need to publish. You don't need to think very long to realize how impossible that is.
PHP + MySQL was the foundation of the Internet not so long ago , Wordpress is stil the backbone of lots of platform.
With SS License definitely this would not have been possible.
DocumentDB is a closed source proprietary database created by Amazon to emulate the MongoDB API. Think Google's Dalvik runtime vs Sun/Oracle's JVM.
This time around we have an open source fork of ES with big backers all contributing and very permissive licensing.
In both cases, Amazon gets to implement AWS-specific upgrades to management to depend heavily on EBS replication rather than application-layer replication. Would it be nice to have that secret sauce that makes Aurora/DocumentDB so nice to use compared to self-hosting or RDS? Of course. Do we have to have it to consider using or contributing to the open source software? No.
IBM has been trending towards death for decades now and it's nowhere near dead.
MongoDB is certainly on the road to death, IMO. As has Oracle DBMS since the 90s.
Most companies tend to make more money as their product's growth stalls out (extracting more money from existing customers).
The fact that Mongo had to create shitty-license underpins huge revenue problems. If you look at the major trends and surveys, the ones targeted at people who actually drive database adoption within companies, MongoDB is sliding YoY for 3 years now.
The place you see Mongo growing is Atlas. Yes, as their competitors can no longer offer MongoDB in their clouds, revenue shifts to MongoDB. That does not mean that use of the database itself is growing.
I like to check this site every couple months for stats on DB popularity
As someone who is not currently in the cloud, that idea strikes me as being very pertinent to what's happening here. Increasingly many technologies are becoming cloud-only, or have non-cloud offerings that are decidedly second-class. Elastic offers on-prem support. I doubt Amazon will be doing the same with OpenSearch.
It may be a subtle effect, but it's pushing the world in a direction that makes me uncomfortable. If it's harder for non-cloud-based companies to maintain non-cloud-based offerings, then that will push the industry even more toward being dominated by SaaS products. And these products often leave clients and users locked in, with limited control over their own data, and, by extension, reduced ability to control their own fates. What I worry about is that we may be witnessing a return of Embrace, Extend, Extinguish, only in a new form that's even more dangerous because it's harder to see.
I appreciate the discomfort people have about the SSPL. It is a departure from the original ideas behind FOSS. But, at least as I see it, those open source principles were never an end in and of themselves. They're a means to a greater end: digital autonomy. To the extent that very large companies seem to be learning how to co-opt FOSS in order to re-assert control, FOSS's ability, in its current incarnation, to serve that end may be waning.
There's some index template optimizations but any semi-competent engineer or dba should be able to figure all that out (it's literally all in the documentation about what not to do).
You'll still be able to pay a consultant to come help you -- they don't have to be from Elastic.
In fact, it seems like Amazon just created an industry for third party consultants here.
Given that Amazon announced the fork in January and they don't expect it to be production-ready until summer, I'm guessing they've underestimated the amount of work required to package and distribute a product as complex as Elasticsearch. Given that, I doubt they will be well-equipped to keep pace with new feature development.
I don't remember AWS saying something like "it will be ready in weeks" in Jan...
I remember all through Elasticsearch 5 where none of their packaged Kibana dashboards flippin' worked.
The bulk of the work thus far has been to strip out the non-OSS components ("X-pack") and the many references to it, nothing to do with packaging, distributing, or even maintaining and developing features.
https://discuss.opendistrocommunity.dev/t/preparing-opensear...
A beginning is the time for taking the most delicate care that the balances are correct
> Is this done by honest intentions from AWS or is it simply based on the fact that ES are making a lot of money of the cloud services?
Is wanting to make money considered honest intentions? ES released v7.10 under the Apache license on purpose, so they knew that any form of license change would mean people can still use earlier releases without having to adhere to the SSPL, and anyone could legally fork it or run it on non-ES hardware without having to pay the piper.
https://public-001.gitsense.com/insights/github/repos?r=gith...
I'm currently indexing the fork, so in about an hour or two, I'll provide the insights for the fork as well.
If there are new features, I haven't seen any. The real question is do they have a team for new feature work that they are putting together or is this just a fork that is doomed to fall behind as Elastic's huge team continues to develop their code base fixing bugs that will never get fixed on the Amazon fork, adding features that will never get fixed, eventually releasing the 8.0 release that has been in the works for two years, etc.
I don't see any evidence that they have that team so far. They're paying a few people to go through the moves of forking but I don't really see a grand vision beyond that so far.
Amazon does have 16 open pull requests though, with about 7 having 20 or more file changes, but I didn't dig into them to understand their significance. Maybe it's another feature I'll need to work on.
If you look at the one year window for elasticsearch
https://public-001.gitsense.com/insights/github/repos?q=wind...
its churn and activity has been extremely consistent and I'm not sure if this is an investment Amazon can and/or is willing to make.
However, knowing enterprise, I'm not sure if this will make a huge difference as those making the decisions might not really care and they'll just accept whatever Amazon tells them.
Are there specific repositories that you know of that would contain functionality that Elasticsearch does not have, that would be a strong differentiating factor? I'd be curious to index these projects to get a better idea of the investment that Amazon is putting into opendistro-for-elasticsearch that could have an impact on OpenSearch.
PS - I've never seen gitsense before and it's really cool. I especially like the focus quadrant!
From their "permissive" trademark policy [1]
> You may also use the “OpenSearch” word mark to make accurate statements about compatibility and interoperability using relational phrases such as “works with,” “runs on,” “compatible with,” and the like (e.g., “Foocorp Software powered by OpenSearch” or “Foocorp Software for OpenSearch” or “Foocorp Software with OpenSearch compatibility”).
OpenSearch is from an era when Amazon and Google were covertly competitive. Google didn't get anywhere with Froogle and AppEngine; whilst Alexa and A9 didn't move any mountains.
- Sticking with Apache 2.0
- Asking for a Developer Certificate-of-Origin rather than a copyright assignment
This bodes well for the future of this fork. Amazon also has the resources necessary to keep up consistent and quality maintenance of a project on this scale.
Elastic would definitely like you to view AWS as the Big Bad here, but their response to the Elastic betrayal is very good, and I would like to see more like this in the future.
Based on the link below it seems to me the difference is that SSPL etc. have a clause which prevents me from making money by selling the use of the licensed software over the network for instance.
GPL puts some rather strict rules on users of copyleft software, mainly that you MUST distribute your modifications with the same license.
What I don't quite get is why adding a rule that says "if you make this software usable over the network you must make it usable for free" would be considered categorically less ethical than GPL.
GPL says you must give out your modifications for free. SSPL says you must also give out the rights to use that software for free as well.
Isn't SSPL more ethical in the sense that it requires you to give out more for free?
https://techcrunch.com/2018/11/29/the-crusade-against-open-s...
It's a complex problem to even phrase the question of what do we mean by having a healthy software/IT ecosystem. Do simply count the number of users? GDP of the Internet? Number of git repos? Naturally those doesn't even begin to capture the self-balancing dynamics we are after. We want to encourage folks to start new ventures, but also to give back. But by giving back what if they eliminate old ventures? (Eg. Google "giving back" Chrome might make the Firefox venture non-viable.) How can we describe healthy competition? (It'd be good if the browser market wouldn't be cross-financed from ads, but - let's say - every user would tell their ISP to direct some of their subscription fee to one of the browser vendors.) Okay, but what does this have to do with licenses!? Yeah, it's a fairly hard problem.
AWS is a monopoly and they use their cash to buy early customers. Initially it was Amazon's money, but now AWS has enough cash of their own to push whatever they wish to. The same goes for Google and Microsoft.
AWS directly building up the software side of what started out as IaaS (Infrastructure as a Service) is only going to hurt software vendors. We can only expect new software players or ones with low capital to restrict their licenses even more.
Open source licenses are not only for ideological freedom, but very necessary for companies (end users) to integrate and modify products on their own. We will migrate more toward source-available licenses instead since big giants are going to corner the small companies.
() Edits
OpenSearch is the ES (core) itself.
If I'm not mistaken.
But the name re-use is unfortunate.
Amazon's argument seems to be "Don’t worry, we own the trademark for ‘OpenSearch’ cause it came out of Amazon originally, so it’s cool!”
That is really poor stewardship of the Intellectual Property of the trademark of a name that was part of a standard that was meant to be an open multi-vendor standard. Amazon owned the trademark to protect it's use under that standard, not to re-use it for something totally different harming the standard further.
But it's just another indication that the original Opensearch, like the era of believing in open web standards for inter-operability that it was part of, is dead.
I haven't extensively used ES, but I've used Solr a lot (and contributed to), and I can say that it's a mess. The community is not one of the better ones I've seen. Bugs and stability issues are often ignored. Patches sit around gathering dust. There are some gems and very clever people in the community, of course, but it seems like there are too few of them to cope with the large beast that Solr has become. If I were starting a new project in the search space, Solr would not make my shortlist.
Other benefit is that you don't have to rely on Zookeeper if you're horizontally scaling.
I don't have a ton of experience with Solr but they seem pretty comparable.
IIRC Solr also has some weird stuff about schemaless indices, whereas ES took the very Mongo-y approach of "yeah, just throw content at the index, don't worry about it" but then separately the approach of "I am angry with your new conflicting field in that document" and throws an exception; so you don't have to worry about the schema right up until you do have to worry about it
I'd probably use ES for any log analytics and Solr for things like website and ecommerce search.
Of course, you could do both with either.
Will also be an interesting case study if the community shifts to this project and it dwarfs elastic for features.
The interface is completely cluttered and it takes loads of resource and it feels like it's waiting to be replaced with lighter and more focused products.
Graylog (though it uses Elasticsearch internally) does a decent job at log handling and creating all the visual items out of logs and Grafana/Loki can do quite good at it as well with a very small memory footprint.
Besides, most of the "business intelligences" aren't actionable but just some visual arts you wouldn't need but to stare at when you're bored.
How did that became an 'ethical position' ? If I am OSS dev, why should I contribute to them vs OpenSearch?
Makes me wonder what these are for (copyright transfer) and why they decided it’s not needed. It also makes me wonder if this sort of thing has ever been taken/tested in court or if it’s paranoid friction with little value add.
Some companies/projects might use them purely to avoid possible future legal headaches (I think GNU does this), and I'm not sure to what degree that has actually been tested, but they can also allow re-licensing under a different license which is more clear cut and I think that's more the issue here
Amazon is trying to say that they'll never relicense the code, so they have no need to take ownership over contributions.
[0]: https://blog.chef.io/introducing-developer-certificate-of-or...
I know GNU does it (at least for Emacs) under the reason that the FSF can go after any GPL violation only if it is the clear copyright holder, but no such case exists, to my knowledge.
If Amazon fixed that, I would be firmly on their side. Also, any improvement over Kibana would be welcome.
Good Open Source efforts, much better than until a few years ago.
Atlas is a virtual monopoly for Mongo solely due to SSPL, and it has created a ridiculously overpriced ecosystem for hosted and managed services, and tooling around it.
Parking the technical merits to one side, considering the sheer number of devs and early-stage products that are built on Mongo, I'd love for someone to go after them next.
There are a few use-cases where you'd want the ability to have a managed/hosted vanilla Mongo setup vs an emulated experience.
DocumentDB is to MongoDB 4.0+ as Dalvik runtime was to JVM.
Here is their 4.0 compatibility update: https://docs.aws.amazon.com/documentdb/latest/developerguide...
I love it for its simplicity. No schema's, no clusters, no transformations, no calculations.
Just documents and search over HTTP.
It's not too difficult to wait an extra day or two for products.
> First they came for the socialists, and I did not speak out—because I was not a socialist.
[1] https://github.com/valeriansaliou/sonic
On their home page, "Why use Elastic search?", the reasons are basically:
* It's fast!
* It does a lot of stuff!
* It has some tools to visualize data!
* It's distributed!!
I have to say this is not very appealing to me since it sounds like something any database could do.
"Elasticsearch is a distributed, free and open search and analytics engine for all types of data, including textual, numerical, geospatial, structured, and unstructured. Elasticsearch is built on Apache Lucene and was first released in 2010..."
I suggest understanding what it is first before comparing it to other databases.
Maybe try the Wikipedia article then: https://en.m.wikipedia.org/wiki/Elasticsearch
With a particular profile of efficiency choices and interfaces that might appeal to your project.