OP here. I'm an open source contributor, not affiliated with RethinkDB Co. I've been using RethinkDB in production for years, and it has been one of the greatest blessings of my engineering career.
I am a big believer in RethinkDB and I want to see the project continue forward just like many fellow HN members have expressed in the past few days. I plan to share this with open source foundations to help spark an opportunity to help find RethinkDB a new home.
I would encourage constructive communication here. This is about the RethinkDB community working together to help the project end up in a good spot. What foundation or company is not the goal here. Saying this foundation is "good" and another is "bad" is not the goal here. The goal is to work together and make it clear we the community support and thank the RethinkDB team for all of their hard work.
Chris, thanks for leading the charge. We're very interested in having RethinkDB join an open-source foundation.
I've been overwhelmed (in the best way) by the level of support we've seen from the community in planning RethinkDB's next steps. If you'd like to contribute to the open-source project in any way, let us know [1]. You can also join us in #open-rethinkdb on our public Slack group, where we're starting the planning process.
Feel free to reach out to me with ideas and questions. Thanks for all the kind words.
Node was in a very tough position as the community had actually split into multiple factions. Uniting under a foundation has only strengthened Node's community.
We can only hope that RethinkDB's community can use this time to unite together and help push the project forward, no matter where the project ends up.
I've spoken to Mike. This is my gift to him, Slava, and the rest of the RethinkDB team for all of their hard work. The community is behind them, we're not going to let this project go anywhere!
Why not the Cloud Native Computing Foundation (https://cncf.io)? They manage Kubernetes (cluster orchestration) and recently adopted Prometheus (metric monitoring & alerting). A real-time distributed database as good as RethinkDB could be a great addition, if they are willing to accept it.
I am on the CNCF Technical Oversight Committee, and speaking personally, I would love to see RethinkDB in the CNCF! I would be happy to champion it, but I already know that the biggest issue is going to be the license: I am hoping that Slava and crew are considering relicensing everything to be under Apache 2.0 -- AGPL is going to make the CNCF path more challenging, I fear.
RethinkDB is AGPL? can you elaborate more on the issues? was planning on using Rethink, and this is making me, well, re-think it.
not sure if interpretations have changed in the last six years, but i went through an acquisition with a lot of focus on open source licenses in 2010 and from what i remember AGPL was not something you wanted to have touched with a ten foot ethernet cord if you had any proprietary code - the conservative stance being that AGPL could be read to potentially open source anything that communicated with it.
i know that's not how the license is explained or is "supposed to work", but the IP team's explanation (WSGR, seemed to know what they were talking about) is remember it was that copy-left licenses didn't have a lot of case law built up around them to clearly defined their de-facto legal mechanics. if you were a large company like Google, FB, etc., you could pretty much decide how you were going to interpret those licenses because you have the resources to defend those interpretations in court, but as a small company going through an acquisition this was a great way for an acquirer to say "hey, doesn't look like this stuff is really worth all that much because it's potentially all free."
> Require users who are unwilling to release the patches to the software development community to purchase a commercial license.
It definitely looks like they'd be willing, if not eager, to relicense to a less commercially-motivated server now that the company is shutting down. Obviously we'll have to wait and see.
Note for posterity and the lazy, the client drivers are Apache v2.
For something like to succeed, you don't need corporate backing or a large structured organization. You need programmers who are familiar with the language (C++?), familiar with the code base, actively interested in adding features, and (preferably) have a vested interest from their day jobs to improve the product.
Looking at other open source databases (PG, MariaDb, etc), the total number of contributors may be large but the core contributors who work on the nuts and bolts of the internals is small. If you don't have that core set, any new home for RethinkDB is going to remain vacant.
RethinkDB would benefit from corporate backing but it needs to be the right sort. I was deeply involved in the MySQL community for a number of years. Both Facebook and Google made significant contributions to the codebase over a number of years and Facebook also funded other open source efforts around MySQL.
For instance a lot of the "vested interest" in improving MySQL performance has come from great engineers like Mark Callaghan and Domas Mituzas (hi Domas!) having jobs that paid them to help run MySQL at a grand scale at Facebook.
Argh! They didn’t charge for the component of their offering that was most valuable. Period. Good software doesn’t pay for itself. Consulting and training are difficult to scale, mostly because they require adding people. As such, the margins are minuscule compared to software. “Free” gets you downloads and publicity, but it doesn’t pay the bills. I really liked Rethink’s story and how well they executed things like branding and developer outreach, but without being able to capture the value of what they were producing it’s hard to see how that’s sustainable.
That doesn't mean they can't wrap the word "Enterprise" around a version of their product and sell it at $xxx per license so long as it comes with support. Redhat does this. They can even change to only do consulting on the "Enterprise" version of the software so revenue goes up.
Anyway, the company is wound down and the team has moved on. None of this speculation matters anymore.
Then they need an enterprise sales team to rival MongoDB's. Enterprise software doesn't sell itself - you need an expensive consultative sales process, which itself is a different core competency. A lot of the hate for MongoDB comes from them being a sales-driven company while RethinkDB chose to create an engineering-driven culture.
I think, sadly, that the only way to save Rethink would be to hire a big marketing team / evangelist team and try to dethrone Mongo. But i don't see that coming.
I had one person really hounding me to pitch mongodb to my organization basically suggesting it as a huge boon to productivity and it would be trivial to rewrite all our rdbms based apps on top of mongodb.
I'm not sure how well they're doing, but some less knowledgeable than I might have taken the bait.
From reading your other comments in this thread, it seems like you have misunderstood what the AGPL does. If you modify RethinkDB and run the modified RethinkDB server as part of a public-facing web app, you must release the code for your modified RethinkDB server to the community. But you have no legal obligation to release the rest of your web app to the community. Writing a web app that connects to RethinkDB over the network doesn't count as "modifying" the RethinkDB source code, so most RethinkDB users would never have to release any source code.
You've probably heard that the difference between the GPL and the AGPL is whether they apply to access over a network or not; but you seem to have misinterpreted how that works. The GPL says that if you modify GPL-licensed software and distribute compiled binaries to users, you must also distribute the source code under the GPL. The AGPL says the same thing as the GPL, except that making the modified software available over the network is treated the same as distributing the modified software as a compiled binary.
> From reading your other comments in this thread, it seems like you have misunderstood what the AGPL does.
I think partially that's caused by convoluted and imprecise language in the AGPL. E.g what clause 13) means for something like a database product is pretty much unclear.
> Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
> The RethinkDB server is licensed under the GNU Affero General Public License v3.0. The client drivers are licensed under the Apache License v2.0.
> We chose to release the client drivers under the Apache License v2.0 to remove any ambiguity as to the extent of the server license. You do not have to license any software that uses RethinkDB under AGPL, and are free to use any licensing mechanism of your choice.
The keywords for AGPL are: modify, packaging, distribute.
If someone modify AGPL code, and repackage it, then distribute to clients (AGPL include via network), then they must disclose the source code to clients only.
RethinkDB drivers are in Apache 2.0, which most companies package it in their software and distribute to clients. In this case, the proprietary software need not in AGPL. This is why drivers are in Apache 2.0.
You only concern AGPL when you want modify, repackage it, then distribute it (include via network) to clients WITHOUT disclose source code. If yes, you are in 0.1% of minority that want compete directly with RethinkDB using RethinkDB.
I'm not sure how the legal details play out, but it seems like they licensed their client drivers as Apache, so the intent seems to be that the AGPL is intended to make sure they get patches, even if you're selling hosted RethinkDB, not just using RethinkDB in your commercial SaaS software. Or at least that's what I gather from the FAQ https://rethinkdb.com/faq/
I don't know if this is a sound legal interpretation of the AGPL though. My obvious concern would be that the AGPL extends to the rest of our production code.
> I don't know if this is a sound legal interpretation of the AGPL though.
Exactly. AGPL was explicitly created to make all clients of the software be bound by its license. To say that the drivers have a different license makes no sense at all.
> Exactly. AGPL was explicitly created to make all clients of the software be bound by its license. To say that the drivers have a different license makes no sense at all.
huh? AGPL puts no requirements on clients of the software. Otherwise I wouldn't be allowed to use IE to connect to AGPL webapps. AGPL puts extra requirements on people using the software on servers.
My layman's understanding of the AGPL was that it essentially extends the concept of linking to connecting to the software that interacts over the network, so that you can't do something like take a library, wrap it in a microservice and just call the microservice in your product without opening your entire software stack to AGPL claims.
Maybe I am misunderstanding it, but I would want a lawyer to tell me that before using any AGPL code.
That's completely different from my understanding.
My understanding is that it somewhat extends the concept of "distributing" to providing remote access over a network:
"Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License."
That is not correct. Any modifications to the project under the AGPL license need to also be under AGPL.
Anything that simply uses the projects APIs is not bound to the same license. If this were not the case, then companies using MongoDB would have to be releasing all their project code, including Google / Ebay / EA / Sage / anyone else listed here: https://www.mongodb.com/who-uses-mongodb
If all these high profile companies are OK with using an AGPL project without turning their projects open source, then I'm sure it's legally fine to do so in practise.
No. AGPL does not apply to stuff connecting to the program.
It gives you the right to the source code of the program if you interact with it remotely through a computer network (directly or indirectly). It does not apply to other software(e.g. a client driver) that connects to tne program.
Most end users of databases don't change the code so they're not on the hook for releasing changes to the source. And if they did, it gets slightly muddy since the presence of even a load balancer may mean that users aren't connecting to the database itself and hence aren't entitled to access changes to the source.
Can you explain your reasonings as to why you believe this? Also, can you explain how this perceived risk didn't apply to other products such as MongoDB?
I know of several fortune 500 companies that blanket ban AGPL. It's not just about the intent of the license. These multi million dollar lawyers can not agree beyond a shadow of a doubt AGPL is safe.
Did you have to create a throw away account just to shit on AGPL? (this is the second thread on the topic rethinkdb you are commenting exclusively on the AGPL license).
The issue is that the Apache Foundation have been used as a dumping ground for "unwanted" projects. There's a number of projects that have done very well under Apache, but it's all projects where developers have moved with the code.
Sadly there's also a large number of projects that have just been thrown under the Apache hat, assuming that the foundation would somehow allocate developers. So it often seems like Apache is the place where projects go to die, while the projects that do well aren't often viewed as Apache projects. I mean who thinks about Hadoop being and Apache project?
The Apache Foundation doesn't "make" projects successful or failures, it provides a home. The foundation doesn't employ developers or really allocate resources for a specific project. It is a "home" with a legal structure, IP structure, some infrastructure, a recurring conference for community events, etc.
I think most people misunderstand the ASF. It is not meant to be the home for every software project. It is meant to be the home for projects that care about community and long term stewardship. By long term, I mean, more like 100 years than the next 10 months.
It has successful projects, and failures. Maybe it should be more vocal about the successes, but Apache isn't. The foundation isn't flashy. It isn't "hip". It shouldn't be. It's supposed to outlast the corporations we think about today as giants.
That really my point. I don't think that any project has ever failed because it was adopted by Apache, but the foundation has adopted some hopeless cases and they seem to get most of the focus.
I wouldn't describe it as a "neighborhood full of foreclosures and zombie properties". Yes, theres been a bunch of drama around OpenOffice, but many projects are doing great.
Back in the day, providing hosting space was really a big deal, but nowadays, with GitHub, GitLab, or SF, why put a project on the ASF rather than just dump the code to GiHub with an Apache license?
I think it is a reasonable default governance framework if you're a maintainer or group of maintainers who don't have strong opinions on something better and just want to focus on building a healthy open source project
What will happen if you just build a community around github (especially an Apache-licensed project which doesn't have licencing enforcement issues found in copyleft code)
"The issue is that the Apache Foundation have been used as a dumping ground for "unwanted" projects."
Not quite... instead, Apache has been used by some projects to give it a "kick-in-the-pants" and a renewed opportunity to grow and thrive. The ASF wouldn't take on any "dumped" project unless that opportunity was there. It's what the whole Incubation process is about. Sure, sometimes it doesn't pan out, but that is far from it being a place where projects "go to die".
As far as "who thinks about Hadoop ... being ... Apache", well, everyone should. We kind of stress that people correctly make such attributions. As someone who clearly knows that Hadoop is under the ASF, you, for example, instead of perputuating FUD about Apache could be reminding people about the slew of incredibly successful, innovative and forward-think projects that live there.
Hmm, well I saw it scale great. It is very much useful to me.
It hasn't lost a single write in years since I've been using it. Along with Basho's Riak is probably the only database that has master-to-master replication done right. Has built-in web interface for administration and data viewing.
Ok, I'll bite then, so what's "useful" technology?
did you read that blog you posted? They still use couchdb and never say they even attempted to use it on multiple instances; just that they ran out of AWS capacity to keep growing their one massive instance.
They stopped using the couch-lucene search integration.
I was about to say the same. I think Apache is more suitable for Java ecosystem components than more fundamental things like programing languages(Rust/Go etc) or databases.
Hm.. A few months back, I took a risk with couchdb thinking it might be largely orphaned, but had enough satellite community.. what with all the derivitive DBs and infrastructure.
I'm a little annoyed to have to be worrying about upgrading now, but there apparently are worse organizational structures for supporting an OSS project than a hands off non profit.
I am a big believer in RethinkDB and I want to see the project continue forward just like many fellow HN members have expressed in the past few days. I plan to share this with open source foundations to help spark an opportunity to help find RethinkDB a new home.
I would encourage constructive communication here. This is about the RethinkDB community working together to help the project end up in a good spot. What foundation or company is not the goal here. Saying this foundation is "good" and another is "bad" is not the goal here. The goal is to work together and make it clear we the community support and thank the RethinkDB team for all of their hard work.