I'm getting ready to open source a project that facilitates the deployment, maintenance, and orchestration of data platforms on just about any architecture (locally, on any cloud of your choosing, on your personal server farm etc.). Given the nature of the project, there is a chance that cloud providers might eventually want to offer this software as a service. I am perfectly fine with commercial enterprises using this software freely as part of their own internal tooling. However, I was wondering if there was any way to require the purchase of a paid license in the case where a cloud provider might offer this software as a service. The relatively recent SSPL (Server Side Public License) from MongoDB seems to have taken a first step of formalizing "as a service" when it comes to licensing. I also really like the added requirement that any such service provider must provide their (modified) source code. Here are my questions then :

  • Would it be possible to use a modified version of the SSPL to impose a fee only in the scenario where the software is offered as a service ?
  • Is there any way to extend this requirement to also apply to the API implicitly defined by my code ? Simply put, can a paid license still be required if the hosted service reproduces my API but entirely with their own code ?

1 Answer 1


If you can accurately describe in one license what constitutes the conditions where you wish to let users freely copy the software, and forbid any other uses, then you can also offer a second license that allows specified commercial uses with a second license. Basically, it reduces to being clear (to yourself and to the world) on what you mean by "service", and what you want to allow vs. prohibit. That SSPL has a section on "Offering the program as a service", though it does not prohibit it, it just requires the user to make the source code available for free. You could rewrite that section, and then hire a lawyer to give an opinion as to whether your re-write does what you think it does. Pay attention to the fact that you are interested in restrictions on "cloud servers" but the SSPL permissions are broader.

  • Thanks for the answer. Yes I realize the SSPL does not prohibit anything, but it does define "offering the program as a service", which adresses your point on clarity. I'm actually fine with not specifying cloud servers in particular, they're just the most obvious case of someone who would sell my software as a service. But to be clear, do I have to write 2 licenses ? Or can I just write a more restrictive SSPL and specify that a commercial license is needed then negotiate one on a per client basis ?
    – ticster
    Oct 2, 2021 at 18:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .