4

MongoDB positively asserts that a program that uses a MongoDB database does not form a combined work with it. This is nice because my web service that uses MongoDB does not need to be licensed under the AGPL.

If you modify an AGPL program and make it available to users over a network, those users are entitled to a copy of the modified source. Certainly, if I make a a modified version of MongoDB and deploy it as a public-facing network service that anyone can connect to, I need to make the source available to its users.

However, if the only user directly connecting to my modified MongoDB instance is my web service, but that Web service is public-facing, do I need to make the modified MongoDB source available to the users of my web service? Again, MongoDB has asserted that my use of MongoDB in this way does not form a combined work with my web service. Does an end-user's indirect "use" of MongoDB through my web service constitute "interacting with it remotely through a computer network" as specified in the AGPL?

1 Answer 1

3

Tricky.

In fact, you've almost answered your own question here, with the information you've got in the post. Basing this answer off that, I'd say you don't have to.

  • The users are not directly interacting with the database. They are instead interacting with your web application, which is in turn acting on the database by proxy, on behalf of the users. That's probably enough of a distinction, especially given the theory of...
  • Computer user accounts represent real users. This means that if your server's database user is the one interacting with the database, it's not the remote user interacting with it, and thus you don't have to provide source. This line of thinking wouldn't stand up far in court, but as a method of thinking about it you're probably OK.
  • The license hasn't changed. If MongoDB say that a web application interacting with a non-modified version of MDB doesn't have to provide source, and the license conditions on your modifications haven't changed, it also stands to reason that a web application interacting with your modifications doesn't have to provide source.

A reminder: I am not a lawyer; this is not legal advice; and this answer does not constitute an attorney-client relationship. If you need real legal advice, contact an open-source specialist lawyer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.