3

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?

mishan
  • 211
  • 2
  • 11
  • 1
    possible duplicate of [Can I use GPL software in a commercial application](http://programmers.stackexchange.com/questions/47032/can-i-use-gpl-software-in-a-commercial-application) and of [Call GPL software from non-GPL software](http://programmers.stackexchange.com/questions/110380/call-gpl-software-from-non-gpl-software) – gnat Jun 25 '14 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. –  Jun 25 '14 at 16:39
  • You probably should make your software GPL too, but you need to **ask your lawyer** – Basile Starynkevitch Jun 25 '14 at 18:41

1 Answers1

4

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.

Robert Harvey
  • 198,589
  • 55
  • 464
  • 673
  • 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) – Basile Starynkevitch Jun 25 '14 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. – Robert Harvey Jun 25 '14 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 Jun 26 '14 at 07:36