MongoDB is licensed under the AGPL, and interestingly, its licensing page says the following:
To make the above practical, we promise that your client application which uses the database is a separate work. To facilitate this, the mongodb.org supported drivers (the part you link with your application) are released under Apache license, which is copyleft free.
(Emphasis in the original.)
Is this possible? Could not a receiver of the services provided by a website that uses MongoDB argue that he uses a derived work of MongoDB and that he is entitled to its source code?
If it is in fact possible, I have two questions about it:
- What is the point, then, of licensing MongoDB under the AGPL rather than the GPL? It seems to make the difference between the two moot.
- Could I not then also write a simple AGPL'd "wrapper" around a similar library such as Berkeley DB and offer a similar Apache-licensed "driver" library to permit its use in websites that do not, then, need to have their source code published?
Also, how viral is the AGPL in general? If I take a GPL'd web application or other network server, and modify it to store its data in a Berkeley DB, would I be required to release the resulting source code (assuming, of course, that I allow public use of the service)? Likewise, how about a service that makes internal use of eg. OpenLDAP which uses Berkeley DB for storage but isn't itself AGPL'd? Where does one draw the line?