Live data from Hacker News

Homebrew removes MongoDB from core formulas

github.com

261–270 of 291 posts

Re: Homebrew removes MongoDB from core formulas

#261

Earlier quoted context omitted.

> Why use a relational store? If you’re working with a system that will only be read and written by an object based language? Why keep converting back and forth between a relational model and an object oriented model? Well I can't tell you what the right choice in your system is, but in the general case I think going with a relational model by default generally makes sense because it's rather future proof. By that I…

I think you got it backwards. A relational schema change is required and probably a data reindex or reload when you change a data model so relational is the least flexible as opposed to something like Mongo nosql?

A schema change can handle changes needed to existing data, if you don't do that then sure Mongo is easier, but then you've broken data in your system.

Re: Homebrew removes MongoDB from core formulas

#262

Earlier quoted context omitted.

The idea of free software is that user can (and have the right to) modify it in any way one wants. If I found a bug in free software, I can fix it by myself or wait for someone else to fix it, or pay someone to make a fix. That's the way it works. (edit: typo)

But what's the difference between open source, free, and "source available" for inspection?

I can really recommend you to look at Free Software Foundation website[1]. In a nutshell: free software is like "free will", not "free lunch". It gives users four essential freedoms: to run it any way one wants, to study and modify source code, to redistribute copies and particulary redistribute modified copies[2].

As you can see, "open source" give s only half of those freedoms: to study code, it is not mandadory that you actually can modify it.

So, not all opens source software is free. Check out licence comparison and approvals page at Wikipedia.[3]

[1] https://www.fsf.org/ [2] https://www.gnu.org/philosophy/free-sw.en.html [3] https://en.wikipedia.org/wiki/Comparison_of_free_and_open-so...

Re: Homebrew removes MongoDB from core formulas

#263

Earlier quoted context omitted.

What is the point of running containerized DB server in production? Isn't it an anti-pattern?

I wouldn't go as far as saying it's an anti-pattern. However, doing it properly is extremely difficult. Why do we do it? Cost saving. It's that simple. For your information, I wouldn't say we do it "properly" either. We do a decent job though. Basically, for us (and many other businesses) DBs are not the bottle-neck. Our business model facilitates a heap of static content that's served (via a CDN) without even hittin…

Sounds not that cost-saving for me when you mention that your not critical DB OOM-crashes here and there. How much do you saving, like $150/year on dedicated host?

Re: Homebrew removes MongoDB from core formulas

#264

I'm astonished at all the comments that vilify MongoDB Inc and then talk about moving to AWS's MongoDB clone. What sort of twisted world are we living in where a company makes a service, tries to sell the service, and then are lambasted when they try to prevent a competitor from copying it wholesale? Cloud providers have been able to stand on the shoulders of giants, profiting immensely from millions of lines of open…

We live in the world where we can see a bait and switch for what it is. MongoDB was advertised as being Open Source and Free Software , distributed under an OSI-compliant and FSF-compliant license. Now they are trying to eat their cake and have it too. > " then are lambasted when they try to prevent a competitor from copying it wholesale? " Because that's not what open source is about. Open source is about contributi…

> Open source is about contributing to the commons, such that your competitors can make a profit from your work. If your competitors aren't able to do that, then the software is not open source. Period.

This kind of first order reasoning is nice, but the reality of software economics is a tad bit more complex. The assumption that the market is large, that the commons helps everybody sort of equally are not true in a lot of sectors. Namely, as IT transforms itself a lot of things become almost zero-marginal-cost. Starting a new server? Setting up a new database? Backup/Snapshot? Load balancing? Scaling? Just click that AWS web console shit, and you're good to go. And this out-competes the others.

I'm not saying that changing licenses is super-A-OK, but the fact is the license was never good in the first place, because it failed to take into account what will happen when AWS starts to offer MongoDB.

Furthermore, I have no problem with anyone holding the view that MongoDB should then compete with AWS, and/or focus on on-premise computing, and/or slowly pivot away from building MongoDB itself to whatever. But anyone holding this view should recognize the aforementioned reality that cloud computing is happening, IT is not just a hydra, it's an ouroboros too, it's eating itself.

Re: Homebrew removes MongoDB from core formulas

#265

Earlier quoted context omitted.

I wouldn't go as far as saying it's an anti-pattern. However, doing it properly is extremely difficult. Why do we do it? Cost saving. It's that simple. For your information, I wouldn't say we do it "properly" either. We do a decent job though. Basically, for us (and many other businesses) DBs are not the bottle-neck. Our business model facilitates a heap of static content that's served (via a CDN) without even hittin…

Sounds not that cost-saving for me when you mention that your not critical DB OOM-crashes here and there. How much do you saving, like $150/year on dedicated host?

You're assuming that I'm just talking about hosting costs. I'm not.

Maintaining VPS infrastructure just to run a DB is a huge amount of overhead. More so, when the DB crashes and/or wildly consumes memory. You need disk/memory monitoring, logging, process monitoring, availability monitoring etc. What if the VPS itself goes down? What automated system is going to spin it back up?

A self-managed VPS DIY solution is substantially more expensive to maintain than using well-established tooling like k8s. These are all already solved problems. Not just that, it's a standardised work-flow with the rest of our infrastructure i.e. no manual futzing around with VPC etc. to get our cluster and externally managed VPS talking to each other.

For us, a DIY solution was never even on the cards. It was either a fully managed service or what we have now.

However, fully managed services don't just cost more per month. There's frequently additional development overhead, as the offerings are "off the shelf" software and not necessarily easily customised. For example, right now our PSQL deployment is running a custom PSQL extension that seamlessly handles BSON (MongoDB) Object IDs, semantically converting them to UUIDs. Thus, post-migration from MongoDB, application code isn't riddled with code handling legacy IDs.

Monthly service provider fees are but one consideration when performing costings.

EDIT: It's probably also worth noting that our entire infrastructure, including DBs, can be spun up as a k8s cluster on a developer's work machine in one command. We of course also have a staging environment, which mimics production. Development also ought to mimic production as closely as possible (but still be debuggable).

Re: Homebrew removes MongoDB from core formulas

#266
post #229

Earlier quoted context omitted.

> I guess my definition of open source... Then you've misunderstood what "open source" means. The term "open source" was invented specifically to describe software with the following properties (among others) [1]: ~~~ 1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different s…

there's a bunch of stuff on HN currently about not believing everything you're told and fake memories and such, but anyway I could swear that this has not always been the exact definition - that this definition, and the referenced site, have sort of taken over the definition and applied an extreme version of the term. I believe this because I also believe there used to be two terms open source, and free, that these w…

> I believe this because I also believe there used to be two terms open source, and free, that these were distinct, and that all things that were open source were not necessarily free or vice versa.

There are certainly ideological differences between the two; but I think it's primarily in terms of focus. The FSF primarily aims at promoting "software freedom" as an end in itself; RMS claims that it is unethical to give people software but prevent them from sharing or modifying it. As such, they much prefer to use copyright law to promote "software freedom", by things like the GPL and AGPL. But (as I understand it), since more permissive licenses like BSD or MIT licenses do allow the "four freedoms", they consider them "free software" (albeit second-class, because unlike copyleft licenses, they don't fight to keep derivatives "free").

"Open source" was meant to focus more on the benefits of the open, collaborative software development model, without denigrating proprietary software; and, in particular, to be more palatable to large companies. As such, permissive licenses (BSD, MIT, Apache, &c) are considered just as valid as copyleft licenses (GPL, APL, &c).

But saying, "You're not allowed to run a service using our software because it might compete with us" is Right Out.

Re: Homebrew removes MongoDB from core formulas

#267

Earlier quoted context omitted.

If someone were promoting a cause--say a business just trying to get the word out there about their new offering--were sitting at a table with a box that said "free mugs", would you consider it exploitative to take the entire box of free mugs, scrub off the company's logo, and begin selling them to people? Would you at least say that it's kind of scummy, or at the very least ethically questionable? Being technically…

But it is working as intended. The point of open source is that I can do whatever I want with the source code — no ifs, ands or buts. Your mug analogy isn’t great. Mugs are finite in number and cost money to produce, whereas software is infinitely and freely distributable. Google running a managed MongoDB service doesn’t directly impact Mongo’s bottom line. Furthermore, Mongo’s own managed service almost certainly ru…

Software is only free to infinitely distribute so long as people are willing and able to make it. That's where the money comes in. There is zero marginal cost of production but there is very real upfront cost that must be recouped. It's not magic. You'll notice that quite a lot of software has historically been sold for actual money, and still is. So I think the mug comparison is quite apt, even if we'd rather it weren't.

MongoDBs use of Linux is not adversarial to Google and does not make it impossible (or even slightly difficult) for Google to benefit. In that situation, it definitely feels like the "rising tide lifts all boats" situation that OSS was intended to create. If MongoDB's use of Linux was somehow adversarial and somehow significantly affected Google's bottom line, you can bet your ass Google would change how it uses and contributes to Linux.

Re: Homebrew removes MongoDB from core formulas

#268

Earlier quoted context omitted.

Or they can undercut you because you made your core competency freely available. It cost you a great deal of time and money to make, and it cost then nearly nothing to use. However, while you were pouring time and labor into developing the product, they were doing the same with infrastructure that could support managed offerings of your product and products like yours (without necessarily ever having to do any real i…

That still isn't undercutting when you don't even have the infrastructure to sell the proposed service. Those companies are not your competitors.

They are if the way you monitize your platform is by offering it as a managed service, as is the case with MongoDB. Company A spends 75% of it's resources developing a product and 25% on a platform, Company B spent 75% of Company A's budget just on its platform and uses A's product for free. Who will most likely have a better platform that they can offer at lower cost?

In the AWS case, Amazon already spent many multiples of MongoDB budget on their platform, so they were easily able to undercut.

Re: Homebrew removes MongoDB from core formulas

#269
post #264

Earlier quoted context omitted.

We live in the world where we can see a bait and switch for what it is. MongoDB was advertised as being Open Source and Free Software , distributed under an OSI-compliant and FSF-compliant license. Now they are trying to eat their cake and have it too. > " then are lambasted when they try to prevent a competitor from copying it wholesale? " Because that's not what open source is about. Open source is about contributi…

> Open source is about contributing to the commons, such that your competitors can make a profit from your work. If your competitors aren't able to do that, then the software is not open source. Period. This kind of first order reasoning is nice, but the reality of software economics is a tad bit more complex. The assumption that the market is large, that the commons helps everybody sort of equally are not true in a…

> "The assumption that the market is large, that the commons helps everybody sort of equally are not true in a lot of sectors."

Not sure what we are talking about, personally I don't make that assumption, although I recognize that others might.

Yes, roads and highways help big companies more than they help small companies. That doesn't mean that smaller companies don't benefit from the existence of roads and highways.

> "the fact is the license was never good in the first place, because it failed to take into account what will happen when AWS starts to offer MongoDB"

Without that license, let's be honest, MongoDB wouldn't have gotten popular in the first place. MongoDB has been plagued by technical issues too and without it being open source, one of the carrots being used, MongoDB wouldn't have been a blip on anyone's radar.

So this is a conundrum and I understand the reasons why MongoDB Inc has switched, I do, but I just don't care.

Because the nature of the thing has changed — and for example I would now need a lawyer to find if my own product is safe or not with an on-premises MongoDB solution, because I can no longer rely on OSI's definition to tell me if my use is OK or not. And yes, we've got random opinions on the Internet about what you can and cannot do, but that's not valid legal advice.

And even if my use of MongoDB is OK for now, who's to say they won't change the license again in the future to something even more abhorrent. This means that for me going forward is that MongoDB is no longer reliable from a legal standpoint.

Re: Homebrew removes MongoDB from core formulas

#270

Earlier quoted context omitted.

But it is working as intended. The point of open source is that I can do whatever I want with the source code — no ifs, ands or buts. Your mug analogy isn’t great. Mugs are finite in number and cost money to produce, whereas software is infinitely and freely distributable. Google running a managed MongoDB service doesn’t directly impact Mongo’s bottom line. Furthermore, Mongo’s own managed service almost certainly ru…

Software is only free to infinitely distribute so long as people are willing and able to make it. That's where the money comes in. There is zero marginal cost of production but there is very real upfront cost that must be recouped. It's not magic. You'll notice that quite a lot of software has historically been sold for actual money, and still is. So I think the mug comparison is quite apt, even if we'd rather it wer…

I don't think this is a consistent argument. In your first paragraph you say there's an upfront cost to developing software that must be recouped, whereas in the second you say that MongoDB's use of Linux is okay because it's not adversarial to Google. But how does that help Google recoup the upfront cost? They’re taking advantage of Google’s upfront investment without compensating them for it.

Cloud vendors' use of MongoDB is also only adversarial because MongoDB chose this particular business model. They could have charged all users like Microsoft and Oracle, released separate community and enterprise editions like MySQL, or charged for support like SQLite. It's fine that MongoDB wants to monetize this way, but it doesn't mean that anyone has to accommodate them.

I also want to say that I'm not opposed to people charging for software! It's just that MongoDB seems to want to reap the benefits of being open source, while still restricting how people can use their software.

Post reply on HN