15

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?

l0b0
  • 11,547

5 Answers5

13

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.

TZHX
  • 5,072
4

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.

3

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).

l0b0
  • 11,547
2

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.

didest
  • 121
0

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.

Mason Wheeler
  • 83,213