I want to provide a service, intended to make me money, based upon free software.

It consists of a free plugin (client) and a web-service.

The client is published as Open Source, and it is deployed as a plugin for some popular free CMS platforms (e.g. Drupal, Joomla, Wordpress) that requires its plugins to carry a FLOSS license.

All the plugin (client) really does is to provide a GUI to a web-service. The web service is not available unless the user purchase an API key. Without having this API key, the free plugin (client) is useless.

The plugin (client) is written by me, while the web-service is based upon publicly available Free Software written by somebody else, but adapted by me to become a web-service that communicates with my free plugin through an API also designed by me. I do not want to share the adapted source code, and I believe I do not have to, since the web-server part is not shared with anyone (it just runs on my web-server).

Will this always be OK, or are there Free Software licenses (recognized as such by the FSF and OSI) that have restrictions in place that will not allow me to do this this?

  • I'll tell you why this is broad: you're asking indirectly of all floss licenses.
    – Zizouz212
    Jul 22, 2015 at 23:25
  • 2
    No, this is not too broad. The licenses recognized by the FSF and OSI are limited in number, and it is practically possible to check each and every one of them and check whether it allows this or not. As it happens, I have already done this, and found the answer. I created this question to post my findings as a self-answer as I thought that the result of this research might by useful to others. Jul 22, 2015 at 23:31
  • I have a hard time believing that you did this research in a matter of six minutes. I would find it difficult to make a well-informed answer that take into account all licenses. Furthermore, your answer seems to be promoting in a sense the agpl license.
    – Zizouz212
    Jul 22, 2015 at 23:35
  • No, I did this research about one and a half years ago (for a specific project). Is there a site requirement that to post a self-answer, one has to do the research in the time interval between posting the question and the answer? (I normally would have waited 2 hours before posting the answer, to encourage community answers - but there are already votes to close this as "too broad", so I wanted to have my answer on-line before it was closed.) As for AGPL. I simply point out that it is the only license having this. If you disagree, post an answer! (If you manage to do it before it is closed.) Jul 22, 2015 at 23:40
  • 1
    @FreeRadical Great edit, the question is much clearer now! Only thing to fix now is "The web service is not free"... I think you need to explicit about whether you mean money or speech. You could have a FLOSS server for which you need a commercial key because the data in the server is not open. And the final paragraph can be deleted now. Jul 23, 2015 at 0:47

1 Answer 1


That depends on the license for the software used for the web-service. If we run trough all the licenses recognized by FSF and OSI, there are only two classes of licenses:

  1. The Gnu Affero General Public License.
  2. All the other recognized licenses.

The business model you describe is known as "Software As A Service" (SAAS).

Most FLOSS licenses, including GPLv2 and GPLv3 allow you to use this business model.

I.e. you can take free software, add an API that requires the user to purchase a license key to access the API. Because you never distribute your modified version of the software, you do not have to share its source code.

However, this business model relies on the web-service being closed source. If the web-service component was open source, anyone could download it and set up their own web-service and hand out API-keys to this alternate web-service for free.

The Gnu Affero GPL (AGPL) does not allow you to modify free software for this without giving the public access to the source code of your modified version of the free software.

The GNU Affero General Public License is a modified version of the ordinary GNU GPL version 3. It has one added requirement: if you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there. (Source: Why the Affero GPL)

  • The AGPL is about server software. I don't see how it applies directly to your question which is about client software. Jul 23, 2015 at 0:10
  • @curiousdannii. The question was intended to be about the business model, not the client. I've amended the question to make this clearer, and also tried to make clear why this isn't a dupe. Jul 23, 2015 at 0:27
  • You should add at least a date and a scnapshot (webcitation.org/archive) of the website listing the licenses or add them to the answer. The FSF and OSI recognized licenses change and so this answer might become wrong in the future!
    – Josef
    Jul 23, 2015 at 10:13

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.