I have had no less than 3 different enquiries about the relationship between the GPL and proprietary software in the past fortnight, so I thought it about time I had another look at this. It’s an area that I used to be a bit of an expert years ago but haven’t looked at it in probably 7 years. And that was before v3 of the GPL was even published.
The GNU FAQs are the obvious place to start but they are a bit dry and they focus mostly on the use and distribution of open source software rather than how you night use it within a proprietary software business model. Which is probably what you’d expect. But it is the last word on the subject and it’s bang up to date, so if this is an issue, you should have a look here first. And also have a look at the GPL (or the LGPL as appropriate), because after all, they were originally written by programmers, not lawyers, so you should find them less legalesy and more understandable than most American legal documents.
There’s a better explanation that is more on point at a resource called Sitepoint but bear in mind that (1) it’s written by an American lawyer and is based on US law (which is directly relevant on the issue of “derivative works”) and (2) it was written in 2001, which was long before v3 of the GPL was published.
Here’s my reading of it. If you are linking to GPL modules but they don’t form an integral part of your programme, that’s fine. You’re free to use the output of those modules to your hearts content. So if you are building an app that sits on top of a GPL’ed platform like Moodle, then your app can connect to that platform and draw data from it via a plug-in, but as long as the plug-in is a discrete programme in its own right, even if you distribute it alongside your programme, you are free to use a proprietary licence for your software – only the plug-in would have to be subject to the GPL. However, if you are using libraries that form part of a GPL package and those libraries then form an integral part of your software, your software will have to be released under the GPL – if you choose to release it. However, many open source libraries are licensed under the Lesser GPL to get around precisely this difficulty, so check what the position is.
The other point to consider is are you actually releasing the software? If you are merely charging people to use services on a SaaS model but you don’t actually distribute the software, you are not actually releasing the software at all so relax, all will be well.
Apologies for the presumption of some basic knowledge of this stuff – I would have written a more detailed introduction for the beginner but (1) I’m in the midst of a to-do list as long as your arm and (2) somehow I doubt there are many beginners out there that feel the need!