I want to use CMS distributed under GPL-v3 licenses. I am building a web application with closed code and my app invokes via REST API backend under GPL-v3. Question: is it legal to use GPL-v3 along with a client app with closed code and charge money for the app. I am not changing the code of CMS just using it as is.
I am not a lawyer. Seek professional legal advice.
GPL-3 code must remain open. The FSF states that,
If a library is released under the GPL (not the LGPL), does that mean that any software which uses it has to be under the GPL or a GPL-compatible license? (#IfLibraryIsGPL)
Yes, because the program actually links to the library. As such, the terms of the GPL apply to the entire combination. The software modules that link with the library may be under various GPL compatible licenses, but the work as a whole must be licensed under the GPL.
It therefore depends on whether you are distributing the GPL software with your product or creating an entirely distinct product. As the intention of any API is to allow interaction from distinct systems, I think that if your product interacts with a REST API, as opposed to directly calling library functions, it could be seen as a distinct product. As I say, you can either,
- seek professional legal advice.
- avoid the issue entirely by releasing your source under GPLv3.
Side note (a); most people put too much weight in their source code. Code is not where the value lies, the value is in the data. Even the UK GDS has decided that open is best. Unless you are working on some sort of Secret Squirrel stuff, open source your code.
Side note (b); if you are using an open source project in your business and making money from it, contributing to that project either financially or by making your code open source too
- "feels" like the right thing to do
- ensures the work you rely on continues to be maintained
This is why you see so many large companies sponsoring those projects. AmEx, for example, sponsors Django.