I am developing software for my company and I would like to use some libraries under GPL license.

What could be the consequences? Does it mean that the code developed above these GPL dependencies will also be under GPL? Do I have the obligation to publish the source code of these products?


5 Answers 5


I am not a lawyer, but.. The GNU GPL lays it's requirements out quite concisely. I'd suggest reading it, and you'll certainly need your management to read it before you go that way.

However, the GPL is a copyright license. So, if you're not distributing the derived software outside of the company, it would not generally be applicable.

If you are developing commercial software, then obviously this is not the case, but if you're developing in-house software, where you won't actually be publishing the software to anyone, then the GPL doesn't apply.

  • may I ask why someone downvoted?
    – TZHX
    Commented Feb 7, 2011 at 15:11
  • Possibly because of your use of "commercial", which seems to be a touchy point for Stallman and some FSF fans. "Commercial software" isn't necessarily a synonym for "software for sale". Commented Feb 7, 2011 at 19:15
  • 1
    @David Thornley - hmm, that wasn't the meaning I meant to give. But I can see the potential for ambiguity. Thank you for giving a reason, I'll try and be aware of that in future.
    – TZHX
    Commented Feb 7, 2011 at 19:20
  • 1
    Perhaps 'proprietary' would be more precise than 'commercial' here? Commented May 27, 2014 at 23:43
  • 3
    Dude. "GPL lays it's requirements out quite concisely"? It's a 10 page doc (when copied into google docs, single spaced with some breaks) written in legalese. Are you on crack?
    – Matt
    Commented May 5, 2021 at 20:36

I highly recommend reading the GPL FAQ. Understand that there are different flavors of the GPL, and which one the libraries you want to use will affect your project differently. This page describes the different GNU licenses available. I believe the article on "why to not use the LGPL" is rather telling.

Understand that there is the doctrine of GPL, and what can be practiced with GPL. To walk out the intricacies of these libraries, how it will affect your commercial project, and what you can do to work around those problems--talk to a lawyer. There are lawyers who specialize in GPL counseling. The GPL is constrained by local laws which may supersede the terms of the license. Richard Stallman (Mr. GPL to you) has an agenda to make as much software as he can "free as in freedom, not as in beer".

The key terms to understand are: publication, linking vs. embedding (LGPL concern), and distribution. The GPL variants require that you make your source code available to anyone who requests it if your project falls within the purview of license. It does not require that you host it on a web site where anyone can download it. Making it available can be a snail mail request, and sent via paper print out if that's the way you elect to do it. While that's not in the spirit of GPL, it fits in the letter of the license.

If you are required to make your source code available, most companies will not consider it because in their eyes if someone else has access to their "secret sauce" then the barriers for competitors to release a new version of their software will be nearly eliminated. Even if you don't distribute your build scripts, there is nothing that says someone else can't come along and create them on the distributed copy of the source code.

NOTE: It may be worth checking to see if the library you want to use has a BSD/MIT/ASL style licensed version out there. In many cases there is, which side-steps the whole issue with GPL. The BSD/MIT/ASL licenses are designed to allow companies to incorporate the library into their commercial projects without any viral side effects. While there is nothing requiring the users of the library to contribute back, in most cases they do anyway. In short, this shows that some of Richard Stallman's arguments are flawed. RS does provide a purpose, as the extreme needed to provide alternatives where a happy balance where should be. Not all GPL supporters agree with RS' interpretation of his own license which also adds to the confusion.

This faq entry answers the question most succinctly.


No. If you don't make the software available to the public somehow (independently of whether it's free or not), you don't have to change the license of your own software (or release any of it).


You only have to distribute the source to whomever you distribute the binary. Look carefuly to the licenses, maybe those libraries are LGPL instead of GPL, which is not viral in your case.


GPL is a highly viral license. If you use any GPL library anywhere in your program and end up publishing or distributing it, according to the licensing terms your entire program must be published under the GPL or a compatible license.

  • 7
    If the program is published, it must be under the GPL or compatible. It doesn't have to be published. Commented Feb 7, 2011 at 14:37
  • Edited for the peace of mind of the overly pedantic. I thought that bit was obvious. Commented Feb 7, 2011 at 15:04
  • You'd hope that bit is obvious. However, I keep seeing questions and statements that claim that the program must be published, and so apparently it isn't. Since you've edited so that it no longer supports a fairly popular misconception, I removed my downvote. Commented Feb 7, 2011 at 19:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.