
RethinkDB joins the Linux Foundation: What Happens Next - mglukhovsky
https://rethinkdb.com/blog/rethinkdb-joins-linux-foundation?
======
mglukhovsky
Bryan Cantrill posted his thoughts on the CNCF's decision to donate RethinkDB
to The Linux Foundation here:
[https://news.ycombinator.com/item?id=13579544](https://news.ycombinator.com/item?id=13579544)

We wanted to share RethinkDB's next steps in our new home with The Linux
Foundation.

We've also had a lot of folks ask if they can donate to support the project.
Stripe has generously offered to match up to $25k in donations (which will
help fund server costs and future development.) You can learn how to
contribute to the project with OSS contributions or donations here:
[https://rethinkdb.com/contribute](https://rethinkdb.com/contribute)

~~~
chrisfosterelli
I don't have much to add, but as someone who has a lot of projects dependent
on RethinkDB and also _loves_ using it:

Thank you to everyone involved!

~~~
atmosx
Do you/would you use for anything other than something that needs live updates
ASAP?

~~~
AsyncAwait
Yes, I use it in my upcoming project, which is just a regular, (no real-time
sensitive) webapp and RDB is perfectly usable as a regular NoSQL database.

I really like the fact that you query the database by calling methods on an
object rather than passing strings to it, feels more like actual programming
and protects you from injection attacks.

The WebUI and easy scalability are great features as well.

It and CockroachDB, (for more traditional SQL, same scaleability benefits),
are the databases I am most excited about, but I seem to prefer ReQL to SQL
despite being vastly more familiar with SQL :-)

------
zyang
I stayed away from Rethink in the past few years due to its uncertain future.
Now I'm seriously interested. Looking forward to the next chapter of
RethinkDB.

~~~
afarrell
I wonder if they could have closed more deals if they'd promised to do
something like this. Then again, maybe the board would have balked at that as
a sign of no confidence.

~~~
hodgesrm
You generally have to move carefully to get proprietary software to an open
source model. One typical customer reaction to rumors you are open sourcing is
"Great! We'll wait until you do that to try it out." The result is that
[already not good] sales may tank completely.

~~~
karim
Also known as the Obsborne effect
([https://en.wikipedia.org/wiki/Osborne_effect](https://en.wikipedia.org/wiki/Osborne_effect)).

------
theGimp
The team behind RethinkDB has been a class act. Thank you for creating a
fantastic product and doing what's right by your users even as you were
winding down.

~~~
OskarS
It's really true. I was looking at RethinkDB for a project a while back, but
decided to go another way, but I've been following it from a distance ever
since. At all steps of this process, it's been clear that the core developers
have been doing their utmost to do right by their users, even in the face of
unfortunate business developments. It's really heartening to see this news.

------
kellros
I've always been fond of Rethinkdb, but never actually used it. Perhaps if I
came across pragmatic examples of how to do x with y, like you typically see
with Redis, I could have convinced my team/s otherwise.

One of the aspects of Rethinkdb I admire most is the tooling. I find myself
often trying out something new with React, Postgres, ASP.NET Core, Elm, Go,
Kotlin or what not and biasing my experience getting started with preference
to use.

I recond Rethink as Pied Piper in Silicon Valley; a great product ultimately
being misunderstood. I'm relieved to hear Rethinkdb will live on under the
Linux Foundation (and applaud them for doing so) and earnestly hope it re-
establishes itself in a niche, such as that of Firebase/Parse, with
partnerships and a legacy to rival that of Postgres one day.

------
Nomentatus
The news in the article is that CNCF spent good money to wipe out a copyleft
license. They think history has shown a more permissive license without
copyleft or a patent grab (just a patent _notice_ ) - namely ASLv2 - is a far
superior choice and paid to get that in place. Their very recent explanation
is well worth reading: [https://www.cncf.io/blog/2017/02/01/cncf-recommends-
aslv2](https://www.cncf.io/blog/2017/02/01/cncf-recommends-aslv2)

I'll explain what I mean by patent notice since those are my words, quick
version: If you don't declare that you have patent rights affecting a portion
of code you have contributed, you've given those patent rights.

~~~
firdaus
25K to be exact

[https://www.cncf.io/blog/2017/02/06/cncf-purchases-
rethinkdb...](https://www.cncf.io/blog/2017/02/06/cncf-purchases-rethinkdb-
source-code-contributes-linux-foundation-apache-license)

------
brilliantcode
ironic that this will be the move that actually propels rethinkdb...

it's my feeling that _software licensing_ day's are over for the little guys.
If you are Oracle or Microsoft and have that brand recognition great.

Coupled with commoditization of developers, I think it'd be great if we had a
kickstarter site where you could request a commercial project to be open-
sourced, pitch in some money to support the developer.

For instance if somebody released an open source version of Hootsuite I think
that would put a severe dent in Vancouver's tech scene-Hootsuite customers
wouldn't even think twice about switching to a zero cost solution, as it's not
a pain killer but a vitamin. Free vitamin is always better than an expensive
one. Pain killers on the other hand are less flexible because it's an
emotional buy.

~~~
lewisl9029
I'd love to be able to pitch in some money to turn Datomic into an open-source
project. As much as I'd love to use it for my own projects, commercial
licenses tend to causes huge pains for deployment, and poses as an
insurmountable philosophical barrier for use in my own open-source projects.

~~~
brilliantcode
I worked with Datomic but it was such a turn off to use because of it's
limiting license plans. I'm also worried that they might not be around in the
future and what then?

An open source Datomic would be wonderful. I worked with Datomic last year and
while I enjoyed clojure and datalog, it was also a big pain in the butt to be
googling "how do I do X in clojure/datomic/datalog".

A really sharp developer might be able to master it (I'm not) given ample time
but it's very expensive both to ramp new developer's up and pay clojure devs
which aren't cheap due to their limited supply.

If there was a website like Kickstarter that had a way for people to vote
(with money) on open-sourcifying an existing commercial project, would people
come?

------
vegabook
Honestly what needs to happen next is a serious effort to explain why or when
rethink is better than mongo, cassandra, arango, aerospike, memsql, mysql,
riak, or postgres, ++, not to mention all the TSDBs. On the event pushes I am
unconvinced that message queues/computation graphs arent superior and that's
another crowded space. When I last looked at it the advantages struck me as
mostly incremental on the query language and decremental on performance. There
are many excellent competitors in this space, most of which are well funded,
and moving targets. Rethink doesn't seem to have a USP, or none that has been
effectively communicated at least, IMO.

~~~
hmottestad
Comes down to jenkins for me. RethinkDB aced the jenkins tests.

Mongo has failed every jenkins test it's been put through, dunno about the
status now though. Last I checked Mongo's default durability level was "data
loss on power outage". Aerospike failed jenkins too, and not on small edge
cases like Mongo, but with major dataloss.

Going by the problems Gitlab has recently with Postgres I wouldn't use that
for a distributed database. Likely true for MySQL too.

* Yep. I meant to write Jepsen :)

~~~
bcantrill
I think you mean Jepsen? It's a slight exaggeration to say that RethinkDB aced
it -- but they did very well[1] and (more importantly to me, honestly) Jepsen
was used to find a subtle and nasty issue that was subsequently fixed.[2]

[1] [https://aphyr.com/posts/329-jepsen-
rethinkdb-2-1-5](https://aphyr.com/posts/329-jepsen-rethinkdb-2-1-5)

[2] [https://aphyr.com/posts/330-jepsen-
rethinkdb-2-2-3-reconfigu...](https://aphyr.com/posts/330-jepsen-
rethinkdb-2-2-3-reconfiguration)

~~~
hmottestad
I've been having a lot of trouble with Jenkins at work today. So when I though
Jepsen, I wrote Jenkins.

Still feel they aced it. No one passes Jepsen on their first try. But
RethinkDB is the first to immediately fix the issue.

I wouldn't go as far as to call it a nasty issue. It would only happen if you
got node failures while reconfiguring your cluster. And reconfiguring the
cluster must be initiated by the admin and it's something that happens very
often.

~~~
bcantrill
Sorry, clarification: by "nasty" I just meant "subtle", not "debilitating" \--
and agreed that they did really well on Jepsen.

------
ausjke
Linux foundation are collecting quite a lot "failed" projects and turn them to
gold these days? I sometimes feel it is acting like a software goodwill store
partially. Whatever that is, hope RethinkDB will do well in the future.

~~~
wmf
IMO the ASF is better at collecting abandoned failed software while LF has
more openwashed corporate code dumps. CNCF is actually legit though because
they generally accept technically sound software that is already successful.

~~~
tracker1
RethinkDB is quite a bit more than an openwashed code dump though. It seems
like a natural fit to some of the rest of the CNCF work, and probably why they
had an interest... though not a direct fit, hense being under LF proper
instead of CNCF.

I think it's an appropriate home though. ASF always seems like a minefield
when I look into some of their projects.

------
hd4
Sorry if this should be obvious but what is/are the killer feature/s of
RethinkDB, what differentiates it from something like Redis or even
CockroachDB?

~~~
jwr
Only RethinkDB gets you a) working changefeeds, where you can receive real-
time changefeed updates to your queries, b) a well-implemented and Jepsen-
proven distributed database.

As far as I know, there is no other solution which gets both things right.

I use it in PartsBox ([https://partsbox.io/](https://partsbox.io/)), a
solution for keeping track of electronic components.

I am surprised more people aren't interested in changefeeds — the way I see
it, it's the only way to implement multi-user webapps which update in real-
time (as in: a change is made in one session and all other open sessions get
the update immediately).

~~~
pmalynin
Well a) is provided by Mongo and is literally the reason why Meteor can do
exactly what you described: multi-user webapps which update in real-time.

~~~
hmottestad
I couldn't find any documentation on change feeds for Mongo after a quick
google search.

Could you post a link please?

~~~
koolba
It's call the "oplog": [https://docs.mongodb.com/manual/core/replica-set-
oplog/](https://docs.mongodb.com/manual/core/replica-set-oplog/)

~~~
swsieber
While the oplog does provide some semblance of RethinkDB's changefeed, it's
not nearly as powerful. With Rethink, you say you want a query, and rethink
will let you know about changes to _that query_. Mongo just says "hey, here
are operations that were done", and leaves the reconstruction to you".

So I guess Mongo+Meteor match up with RethinkDB... sort of.

~~~
mglukhovsky
It's also worth noting that changefeeds are highly scalable: you can run tens
of thousands of them on a single node, and scale them out linearly from there
(even as they're scoped to specific queries.)

Obviously the performance characteristics will be impacted by the volume of
changes that arrive to the database, but the architecture to support this is
highly parallelized (all the way down to cores on the CPU.)

------
jwr
This is fantastic news. My current project would not have been possible if it
wasn't for RethinkDB. Very glad to see it moving forward!

------
ohstopitu
I wish some company (apart from compose.io) would create a RethinkDB as a
service (DBaaS).

I would totally love a dynamodb or firebase kind of payment structure!

I specifically excluded compose not because their service is not great (from
what I've heard - it's excellent) but more so because they charge a premium
for it.

~~~
chrisabrams
There are a couple of community members seriously considering this with the
license change.

~~~
ohstopitu
If there is any way I can help (anything from building, or even just
documentation or support), I'd love to get involved.

I am very passionate about XaaS (X as a service) think that we need a lot more
DBaaS and we just don't seem to have that many options to choose from which is
sad considering almost all software projects out there - especially the hobby
ones would benefit so much from such a service.

------
tdees40
My weird and unrelated question is: if I donate software to an open source
group like the Linux Foundation, can I write it off my taxes? And if so, how
do I assess the value of it? RethinkDB probably has some legitimate market
value...can the founders reflect that on their taxes?

~~~
dublinben
Not likely, since the Linux Foundation is a 501(c)6 organization, and
donations are not tax-deductible.

~~~
chrisabrams
This is correct.

------
bogomipz
I had a question about this passage:

"The company behind RethinkDB shut down last year after struggling to build a
sustainable business around the product. Many former RethinkDB employees
currently work for Stripe, where they help build infrastructure for developers
around the world."

Is Stripe a big RethinkDB shop or is there another connection between the two?

~~~
davidbanham
Stripe hired most of the Rethink engineering team after the shutdown. They're
no longer working on Rethink professionally, but many are still contributing
in their own time.

------
RobertoG
Any news about the future of horizon?

I played with rethinkdb and horizon and it looked like the the way to go to
me.

When you see that with a few easy lines of code, any change in state in the
browser of your computer it's updated in the browser of your mobile, without
practically doing anything in the server, it feels like the future.

~~~
mglukhovsky
Horizon will be joining under RethinkDB's aegis at The Linux Foundation: a new
community-driven release is in the works.

~~~
grizzles
Any chance this release will include custom auth support?

The lack of that was our main reason for staying away.

------
jkarneges
Incredible news. I was certain this kind of relicensing would be impossible.
Congrats to the community.

------
nodesocket
I just donated. Thanks to the original RethinkDB team for your amazing
efforts... I meetup with Michael Glukhovsky briefly over coffee here in SF and
was immensely impressed then, and I am still immensely impressed now.

Fantastic to hear RethinkDB lives on. Long live RethinkDB. ;-)

~~~
jonny_eh
The rethinkDB team are truly the best. I wouldn't hesitate to work with them
in the future.

------
sbashyal
Just donated! We have an app in production using Rethinkdb. This needs to live
on!

------
cdnsteve
Is this one of the first companies that has made the transition from business
to fully open-source? If so this could set an interesting president for others
to follow suite under similar circumstances.

~~~
jcl
Blender would seem to be another example:

[https://en.wikipedia.org/wiki/Blender_(software)#History](https://en.wikipedia.org/wiki/Blender_\(software\)#History)

------
dirkg
This is great news! Rethink is NoSql DB done properly, I know many others such
as Cassandra often get mentioned as alternatives to Mongo but they aren't
really.

I just hope the rigor and correctness that have characterized RethinkDB
continue moving forward as a community project. Part of me feels sad it never
caught on and will never be a commercial success like Mongo, but that's in the
past.

Horizon is another exciting project I hope gets traction.

~~~
tracker1
RethinkDB is in my mind firstly Mongo done right... Cassandra is a very
different beast, but seems to be the better option when you need massive (100+
node clusters) scaling, but that comes with a lot of work in terms of
development.

While RethinkDB is probably most comparable to Mongo, it's worth noting that
the sharding/replication/fail-over support and model is much better than
Mongo's. Beyond that, the update notifications (streams) are in the box, where
with mongo it's bolt-on. Also, rethink supports joins at the server (though
best to avoid a lot of the time).

The admin ux is pretty awesome, and the dev team has been very cool to follow.

~~~
bogomipz
>"Also, rethink supports joins at the server (though best to avoid a lot of
the time)."

Does RethinkDB have distributed joins then? These sort of notoriously
difficult to implement well no? I see you say its best to avoid. I would
curious to hear you experience with them.

~~~
tracker1
They are difficult, and costly, performance-wise. I wouldnt use them for a
large expected result-set... maybe sub-items against a single parent.

------
hueving
I'm not too familiar with RethinkDB. Can someone explain why it's so popular
on HN? The wiki page shows that it's not that popular overall and the
comparison to other DBs makes it sound pretty bad.[1]

1\.
[https://en.wikipedia.org/wiki/RethinkDB](https://en.wikipedia.org/wiki/RethinkDB)

~~~
detaro
[https://news.ycombinator.com/item?id=13581872](https://news.ycombinator.com/item?id=13581872)

------
obulpathi
This is awesome news! Good to see Cloud Native Foundation growing to address
the needs in Cloud Computing space.

------
crudbug
What kind of workload RethinkDB is suitable for ?

1\. Transactional

2\. Analytical

3\. Operational

~~~
tyingq
The tagline on the site describes the most obvious use case: _" RethinkDB
pushes JSON to your apps in realtime. When your app polls for data, it becomes
slow, unscalable, and cumbersome to maintain."_

In their FAQ, they call out these types of applications: Collaborative web and
mobile apps, Streaming analytics apps, Multiplayer games, Realtime
marketplaces, Connected devices

------
adamnemecek
Is this the best possible outcome given the circumstances?

~~~
daenney
Yes.

------
ScottBurson
I see Slava has no comment :-)

------
omouse
They should have stuck with AGPL.

