Hacker Newsnew | past | comments | ask | show | jobs | submit | oh_well's commentslogin

As long as RethinkDB is AGPL most will just stick with postgres.

Is it possible (or likely) to get the creditors of Rethink to change the license?


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.

https://www.gnu.org/licenses/agpl-3.0.en.html :

> 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.


> it seems like you have misunderstood what the AGPL does.

I've read the AGPL license. I disagree with your interpretation.


Your interpretation also disagrees with the interpretation, and explicitly stated goals, of RethinkDB itself:

https://rethinkdb.com/faq/

> 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.


It''s not an interpretation. It's what the license does.


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."


How many people using RethinkDB are changing its code? AGPL does not mean you have to share the code to your app making use of RethinkDB.

AGPL protects against people making hosted forks of RethinkDB and not sharing the changes they've made back to the community.


> How many people using RethinkDB are changing its code?

That's not the point. If you're even using the software the other software components would also be bound by the AGPL 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.


The main issue is that most companies won't spend the time or money to do a full legal analysis and simply don't allow AGPL to be used in projects.


I agree. I think the AGPL license perceived risk played a significant role in RethinkDB's lack of user acceptance.


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.


I would half seriously posit that people who are using MongoDB in their software are not really all that risk-averse in the first place


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).


Please list a few successful open source AGPL projects with a significant user base.



MongoDB Server come to my mind [1].

Not fan of MongoDB.

[1]: https://github.com/mongodb/mongo


Mongo is pretty big.


KDB is not really a database as much as it is an RPN calculator with a lot of memory.


That's an unfortunate license choice. No one will use it.


Not sure about no one but anything with gpl in the license is surely a dead end for some of us.


Affero General Public License is much more restrictive than GPL. People are not comfortable using it in a commercial setting.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: