Currently we're starting to work on a project for which we're going to need image processing libraries. The problem is some of the libraries are GPL licensed.

I'm reading through GPL licence and quite a lot of other ones (FreeImage public licence etc..) and I'm a bit confused of all the long text. So I'll ask bluntly:

Is it possible to use a GPL licenced library in our commercial product (not modifying the code, just building the library and using it in our product (as a DLL)) without releasing the source code of our product?

  • 1
    possible duplicate of Can I use GPL software in a commercial application and of Call GPL software from non-GPL software
    – gnat
    Commented Jun 25, 2014 at 16:33
  • 2
    I've removed the bit about other license types as there are dozens of various open source licenses. Stack exchange Q&A works best when there is only one right answer for the question. Having a question that allows for one person to answer about Apache, and another GPL, and another MSPL makes for scattering of information and reduces the usefulness of the question and answer.
    – user40980
    Commented Jun 25, 2014 at 16:39
  • You probably should make your software GPL too, but you need to ask your lawyer Commented Jun 25, 2014 at 18:41

1 Answer 1


Don't distribute

The GPL is primarily about distribution of your software (what they call "conveyance"). If you only use your app and the GPL library in-house, the GPL does not consider this conveyance, and the copyleft provision is not triggered. You therefore don't need to make your program open-source.

Communicate at arms length

If your program does not depend on the GPL library or application for its proper functioning, and you communicate at arms length with it through spawning a separate process, pipes or something similar rather than linking the library in your application directly, then the GPL considers your program a separate application (instead of a derived work), and you don't need to make your program open-source.

  • 2
    2nd point is not strictly true. Communicating with a GPL program may legally be considered as "linking" to it... (it really depends if the protocol is used by several applications or not) Commented Jun 25, 2014 at 18:40
  • The primary idea is that your program does not depend on the library (that bit about "derived works"). But I do agree it's a gray area (the FSF says as much). Not really sure what several other applications have to do with anything. Commented Jun 25, 2014 at 18:43
  • ok, can't use GPL then. We're making a program that controls a robot taking pictures of an object, the program then processes them (contrast, balance, masking, etc...) on the fly and makes several types of presentations/collections of them....
    – mishan
    Commented Jun 26, 2014 at 7:36

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