How would you license an open source service (server with frontend) which is a tool let's say to monitor software applications. I'd like to find a license which allows companies to adopt it and use it for their commericial products. They can modify look and feel, add or remove functionality. They can distribute it along with their software to customers.

The only thing I'd like to restrict is that they can get paid for the service itself, say by adding a multi-tenancy feature and then make a cloud version where customers pay money to use the service. That is something I'd like to reserve for myself :)

Right now, I have the CC-BY-NC lincense in mind. do you think that works?

  • 2
    You want to restrict what the user can do with it. Any license that does that violates the OSI rules, so it's not Open Source.
    – MAP
    Jul 6, 2016 at 1:36
  • @MAP Well, the source code is open, so it is open source, right? Jul 6, 2016 at 7:02
  • No. The term "Open Source" is defined by OSI, so see their web pages for the details. According to their definition, restrictions like you have on what I can do with it mean it's not "Open". They invented the term (to be specific to the goals they had) and it's a Trademark (at least in the US), so using it in violation of their rules could make you subject to litigation.
    – MAP
    Jul 6, 2016 at 7:18
  • @MAP Oh okay :) I didn't know that. So I don't care if the project is "open source" or not, as long as there is a license that covers what I want to do Jul 6, 2016 at 7:25
  • 2

3 Answers 3


You are essentially trying to ensure you get some kind of a commercial monopoly on your software when sold as a service.

The best license for this use case is the AGPL IMHO. It is not exactly what you are looking for, but no free and open source license would prohibit commercial licensing and offering services.

The AGPL does not restrict commercial usage and does not restrict creating and selling software as a service, but it provides a strong incentive for commercial free riders to share back in this context: "performing" the software over a public network essentially triggers the AGPL copyleft clause.

A good example of its usage would be MongoDB. In their case, they go one step further by providing drivers under the Apache license, and the back-end DB under AGPL, therefore making it easy to integrate in commercial and floss software with limited obligations. In their context, unmodified usage typically does not trigger the AGPL copyleft. Modified usage would. Offering MongoDB as a service commercially using the unmodified version would be fine without much restrictions. Modifying it would require the service provider to redistribute its changes. If I were in your context with your parameters, AGPL would be my license of choice. (I am not you and I may not use AGPL, but this is not relevant here ;) )

As a side note, I consider that the CC-NC family of licenses are a poor choice for software in general. You would be better off using a plain commercial license with "visible" sources. The CC licenses were designed for content and not for software.


I suggest you read the Free Software Foundation's essay on selling software.

As other commenters have noted, restricting source code to non-commercial use is incompatible with the ideals of Free Software and Open Source. If you object to people "changing a tiny bit and earning money with that", many free and open-source licenses have strong attribution requirements that would point users to your original software. The GPL itself states that "the work must carry prominent notices stating that you modified it, and giving a relevant date".

The Artistic License 2.0 section 4 allows users to distribute modified versions only if they give you their modifications, ensure that the modified and unmodified versions can be run at the same time, or re-license it to a copyleft license. It's pretty permissive as far as licenses go, but it's one to consider.

If you're willing to shed GPL-compatibility (and by choosing CC-BY-NC it appears you are), the Common Public Attribution License and LaTEX Project Public License both have stringent attribution requirements.

  • Yeah I think I landed in the wrong place with opensource.stackexchange. Nevermind :) Freedom! Jul 10, 2016 at 12:38

Another alternative is the Reciprocal License v1.5 (RPL). It's also OSI approved but is not GPL compabitble.

The main difference is that AGPL do not require that the derived code is made available publicly if the application is used privately while RPL requires that all changes must be published.

More info: http://blog.alxndrsn.com/post/3702000191/rpl-vs-agpl-license-differences

Your Answer

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

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