Live data from Hacker News

Homebrew removes MongoDB from core formulas

github.com

181–190 of 291 posts

Re: Homebrew removes MongoDB from core formulas

#181
post #36

Earlier quoted context omitted.

SQLite has really good JSON support these days. Any reason not to use that?

as far as i could tell you have to jump through some hoops to use it (compile extension from source?). and i couldn't tell if it supported querying

The extension is included in the standard sqlite [amalgamation](https://www.sqlite.org/amalgamation.html), hence it's basically always available (ie you'd have to manually disable it) (ime).

It's worth noting that sqlite's typing is very flexible, so you probably want to add a `check (data is null or json_valid(data) = 1)` to ensure the data is _actually_ valid json.

You can then index based on json queries, eg `create index some_index on something((json_extract(data, '$.someField')))` and then do an indexed query, eg `select * from something where json_extract(data, '$.someField') = 'blah'`.

In our experience it's all working quite well :-)

(Groking json_each and json_tree took a few goes, but now is working well (eg we join onto json_each to allow a row "labels" containing a list of label (rather than a one-to-many table join for something_labels)).)

Re: Homebrew removes MongoDB from core formulas

#182
post #151

Earlier quoted context omitted.

The fact that mongo was willing to screw over one set of users makes me worry they'd be willing to screw over all their users. It's a risk I wouldn't take, especially when there are so many other (arguably better) options out there.

I wouldn't choose mongo for many reasons, but this licensing change isn't one of them. It's in line with the general spirit of the GPL: if you're going to stand on the shoulders of giants, you should allow others to stand on your shoulders. The only major change to the license is in adapting to the rise of cloud services.

The GPL is only a copyright license. The GPL DOES NOT impose restrictions on usage, where "usage" vs "distribution" gets defined by copyright law itself.

That's one of GPL's biggest strengths.

Also successful software packages that are GPL are GPL for everyone. You don't have a mother company that can bypass the GPL due to them owning the copyright. And when you do it's usually a scam that people can smell.

You can't say about a license change that it is in the "spirit of GPL" when the mother company, MongoDB Inc, doesn't have to play by the same rules as everyone else.

So I'm sorry, but when you're talking about the "spirit of GPL", you don't know what you're talking about.

Re: Homebrew removes MongoDB from core formulas

#183
post #28

Earlier quoted context omitted.

What you do mean by the "mongoDB trap"? Are you saying companies are hurt by the license, or are you saying companies are hurt by software's behavior (e.g. consistency model)?

I used to build drivers for MongoDB because it was so easy. MongoDB had a good run, I enjoyed it before migrating away. This license definitely hurts companies. What to? I built my own Open Source solution (MIT/Zlib/Apache2). Around same time Firebase was getting popular, and Graph databases were the way forward. Combined them all together, now have Internet Archive and HackerNoon running it ( https://github.com/amar…

Wow, awesome work. I can't believe I haven't heard of gun before now. I'm off to play!

Re: Homebrew removes MongoDB from core formulas

#184

Earlier quoted context omitted.

Postgres supports querying json

Has anyone actually used json-based queries in PG in a nontrivial way, and had a good experience? I looked into it but the SQL syntax for doing json operations was crazy complicated, and I had trouble finding an ORM that did a good job of simplifying it.

For millions plus rows, the queries get crazy slow. If your jsonb field contains lot of data, JOINs on toast storage tables takes chunk of the query times.

My 2 cents: Best to keep data normalized and in separate columns. If you gotta keep data in jsonb, keep only the data that you don't need to query on. Anything you need to query, you better put it as a column. You'll thank me later.

Re: Homebrew removes MongoDB from core formulas

#185

Earlier quoted context omitted.

Why not just use Postgres, set a field as jsonb, done?

Why use Postgres just to store JSON? The entire tooling around Mongo is better for JSON Data. Not to mention the LINQ driver.... And you can’t do updates on individual JSON fields in Postgres.

Yes you can - this is an article crated in 2017 https://www.idalko.com/crud-operations-postgres-jsonb/

Re: Homebrew removes MongoDB from core formulas

#186

I have a question: has anyone simply forked MongoDB from the time just before the license change? Owners of open source software can change the license, but can they change the license of old code?

IANAL, but this happens fairly often within the community. My loose understanding is that code released under the AGPL remains licensed under the AGPL; the license can't just be retroactively revoked like that. The company may require that active forks adopt a new name and branding due to trademark disputes, but this is a different matter not covered by the license. I was not able to find an active fork; the closest…

Very cool, thank you. It seems like the original AGPL license should have worked for companies like MongoDB. But, their company, they can do what they like and lose users.

Re: Homebrew removes MongoDB from core formulas

#187
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 source code while giving little of it back, and we seem to be largely fine with this. Will we be fine depending on their services when the cloud providers become the new Oracle, free to raise prices extravagantly when we have no other choice?

If MongoDB Inc can't compete in the enterprise cloud market simply because they are not AWS (as mentioned by threeseed), what should their business model be? Licensing to cloud providers would have been ideal, but the response from AWS in this case wasn't encouraging. By boycotting MongoDB in this case are we telling future innovators that their work will simply be stolen and resold for profit if it gets popular? That scares me a lot more than some project changing their license.

Re: Homebrew removes MongoDB from core formulas

#188

Earlier quoted context omitted.

That's not impossible. You can use solely SSPL software, or software with licenses compatible with SSPL.

Is there a kernel or OS under the SSPL?

As far as I understand, you could redistribute BSD under the SSPL, since the BSD license doesn't prevent relicensing as long as you keep the BSD license as well.

And besides, there's a difference between the practical impossibility of building a kernel and the idea of the actual impossibility of complying with the license terms.

That said, I think the argument that the SSPL makes it difficult enough to use the software (due to the bookkeeping requirements of tracking every piece of software that interacts with the SSPL software) has some merit.

Re: Homebrew removes MongoDB from core formulas

#189
post #47

Earlier quoted context omitted.

> can someone explain why the server side public license is not an open source license Depends on what you think 'open source' licence means. The source is literally openly available. There are just some extra restrictions on what you can do with it. The FSF and the OSI don't own what 'open source' means, of course - the term predates them and comes from intelligence.

> The FSF and the OSI don't own what 'open source' means, of course - the term predates them and comes from intelligence. Ref please? The FSF was certainly around pushing for "free software" long before "open source" was commonly used to refer to copyleft / permissive licenses. And the sole purpose for OSI's existence is exactly to define what is and is not "open source". In any case, it is very important to define t…

> Ref please?

Here you go:

http://hyperlogos.org/article/Who-Invented-Term-Open-Source

Re: Homebrew removes MongoDB from core formulas

#190
post #161

Earlier quoted context omitted.

Why is this? If Oracle uses SQL why can you not just export the database, make some transformations, and import it into a PostgreSQL db for example?

I feel like you’re imagining that SQL is more of a standard interface than it actually is. No two relational databases are quite the same and you’ll be stuck combing through your entire app looking for obscure syntax usage that depends on Oracle specific extensions or quirks. There’s no incentive to not extend or try to improve SQL semantics because for proprietary databases it increases lock-in which is good for sal…

I think it is probably easier to port from one SQL dialect to another, than from Mongo’s hokey JSON based query language to anything else.
Post reply on HN