views:

90

answers:

4

Am I legally obliged to redistribute the changes that I made to a GPL application?

Can I redistribute it only internally in my company?

+2  A: 

If you make changes to a GPL application and do not give it to anyone outside your organization, you do not have to publish the changes. Once you distribute or make available the program in binary form to others publically, you must publish the source.

The GPL is a distribution license - if you're not distributing the program, you don't have to worry about it. That being said, it's always a good thing to publish your changes back if you think they could be useful to others

Paul Betts
Strictly speaking, you don't even have to "publish" the source. You simply have to provide an "offer" to provide the source along with the binaries. "[the GPL] require[s] that programs distributed as pre-compiled binaries are accompanied by a copy of the source code, a written offer to distribute the source code via the same mechanism as the pre-compiled binary or the written offer to obtain the source code that you got when you received the pre-compiled binary under the GPL".
Frank Farmer
"To make available" - does it mean to make available publicly or make available to those who received the binaries?
Serge C
@Serge That's where you need to consult a lawyer. Usually the definition of "organization" is within 1 company - otherwise you could create an "organization" called "me and my customers"
Paul Betts
+2  A: 

Regarding GNU GPL, you should provide source code (or give it away on the first request) with any copy of binaries to whomever you provide them. That formally applies to any kind of distribution, even inside your company. But there could be restrictions, put by your company not to give away any modified binaries or source code outside. That's how Google exploits GNU GPL products, including GNU/Linux.

codeholic
I doubt that that counts as "distribution" since a company is a single legal entity.
Draemon
Technically you're right. But actually it doesn't really matter. Several companies can make a contract not to distribute binaries outside their circle as well as one company can.
codeholic
+1  A: 

If he doesn't want to distribute to the world, then there really isn't a reason to use an "Open Source" license. Instead, just give the code to the people he wants to under a more restricted license.

To answer your other question, the only way a license becomes valid is if it is between two parties. So it doesn't matter what license he "developed under", as if such a thing exists. All that matters is the language used at the time he licenses it to at least one other party.

Chris Lively
If he's using GPL libraries in his software, he doesn't have a choice (thanks to the terms those libraries are licensed under): he has to use a GPL-compatible open source license.
Frank Farmer
@Frank: He always has a choice. The question is whether or not he is forced to distribute. The answer is: No.
Chris Lively
It depends on the situation. If you provide binaries based on GPL libraries, you must also offer to provide source to those who receive said binaries. Otherwise you're in violation of the license on the GPL libraries in use. That's why the GPL has a reputation for being "viral".
Frank Farmer
@Frank. I agree. However, he is talking about just doing an internal "distribution". Which isn't actually publishing the binaries to 3rd parties. Which means that he doesn't have to put his code up on sourceforge.
Chris Lively
+2  A: 

This is answered in the license itself. For example, the GPLv3 states (section 6):

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License [...]

Furthermore,

To “convey” a work means any kind of propagation that enables other parties to make or receive copies.

Whether or not you distribute publically is thus not relevant.

Thomas