3

As MongoDB introduced their own server-side-public-license model for community version I wonder in which use cases community version is allowed to be used in production.

There are different discussions on the net and mongodb official page shows differences between different versions (community vs enterprise), but what I miss is clear statement for the simple use case of community version beside trying it and playing with it locally for the learning purposes.

Can community version of the 4.x MongoDB be used in production at all? There are interpretations that answer to this question is negative.

If it can be used in production and typical simplified setup of application with database might look like:

FrontEnd -> BackEnd -> Database

My simplified understanding of the new license is following:

  • if I expose MongoDB server to customers directly, I would need to publish source code of whole setup.
  • if I use MongoDB in custom made docker image (with my homebrew backup/dump solution), in FE->BE-MongoDB setup, in the cloud & production environment and my customers are consuming FE, that doesn't oblige me to publish whole source.

Is this correct or I missed something important? Thanks

1
  • @BartvanIngenSchenau maybe you could help with understanding this? – Ewoks Nov 12 '20 at 13:32
2

My understanding of the SSPL, based on the license text and the MongoDB FAQ, is:

  • If you use MongoDB, or a modified version of it, in a website/web-application that does not off data-storage services to its users, then the SSPL license works the same as the GPL license. You can use the community edition without problems.

  • If you do offer data-storage services using the MongoDB Community Edition in your backend, then the SSPL requires that you offer all the source code for all the software needed to build a duplicate service and that source code must be offered under the SSPL license.

    If any of the code you must offer this way is under an SSPL-incompatible license, which includes the (L|A)GPL licenses and most proprietary licenses, then it is not possible to fulfill this requirement.

    In any case, it means that the differentiating factor for your service can only lie in the hardware you have to run it on, because every potential competitor is entitled to a copy of your full-featured software to jump-start their business with.

if I expose MongoDB server to customers directly, I would need to publish source code of whole setup.

If you expose MongoDB directly to customers, either you are offering a competing service to the cloud offerings from MongoDB itself, or you have essentially created a front-end only web-app.

In the first case, you must definitely publish the source code for the whole setup under the SSPL license (which might not be allowed by the licenses of the tools you used).

In the second case, you are probably giving your business secrets away to the your users, but if you use that MongoDB database just to store the inventory of your webshop for example, then that does not trigger the provisions in s13 of the SSPL.

if I use MongoDB in custom made docker image (with my homebrew backup/dump solution), in FE->BE-MongoDB setup, in the cloud & production environment and my customers are consuming FE, that doesn't oblige me to publish whole source.

It depends on what you are offering your users through that FE. If you are, for example, offering a backup service for their files, then I can see that such a service might trigger clause s13 of the SSPL and require you to publish the source code for the whole setup, including your home-brew backup/dump solution and possibly even docker.

3
  • Got it... Thanks a lot for the time and detailed explanation for even more specific cases – Ewoks Nov 12 '20 at 18:58
  • from official faq: There will be no impact to anyone in the community building an application using MongoDB Community Server unless it is a publicly available MongoDB as a service. The copyleft condition of Section 13 of the SSPL does not apply to companies building other applications or a MongoDB as a service offering for internal-only use. mongodb.com/licensing/server-side-public-license/faq – allenyllee Dec 28 '20 at 14:34
  • Also: The copyleft condition of Section 13 of the SSPL applies only when you are offering the functionality of MongoDB, or modified versions of MongoDB, to third parties as a service. There is no copyleft condition for other SaaS applications that use MongoDB as a database. – allenyllee Dec 28 '20 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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