views:

48

answers:

2

I have a closed-source application that calls an unmodified GPL binary from the command line. I need to distribute the GPL binary with my application. Can I include it in the installer while keep my application closed source and comply with the GPL license terms? Or do I need a different method of distribution for the binary?

+1  A: 

Yes you can distribute a GPL'ed binary.

You should probably note somewhere in your license or help-about that the binary is GPLed and where to get the source. If you haven't modified it - you don't have to provide the source.

There is a link to a compliance guide, although this takes a very 'pro GPL' line suggesting that you have to do an awful lot of work if you aren't GPL.

edit: Perhaps a good test is the original 'freedom' aim of the GPL.
Does your usage allow the user to swap out the GPL'ed part for a newer or their own version?
Do you just use the standard command line call of the GPL binary or do you rely on a particular binary build (by some weird in memory patching or DLL loading technique), or deliberately lock it to 'your' binary with eg. checksums ?

Martin Beckett
Interesting document. But it adds more confusion. I read that in 4.1.3: As discussed in the last section, GPLv2 § 3(c) and GPLv3 § 6(c) apply only to noncommercial use.
Pierre 303
A: 

If your software can't work without the GPL software, this is considered as a combination. And therefore, you must make your own software GPL.

GPL is more strict than LGPL that allows referencing the binaries without having to release your software as GPL or LGPL.

Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination

http://www.gnu.org/licenses/gpl-faq.html#LinkingOverControlledInterface

If I was you, I would contact the authors of the GPL software and ask them a written permission to do what you have to do. I see no valid reason why they would say no.

Pierre 303
Thats their opinion. Oracle can't work without the kernel - it doesn't make Oracle GPL. The best legal solution is to find an example from $BIG CORP that does the same as you - then if you aren't in compliance neither are Oracle/MSFT/Google etc.
Martin Beckett
I understand your point, but the kernel can be considered as an operation system rather than a simple software. Owners of GPL'ed software can also negociate specific licenses with commercial companies. That's called Dual Licensing. A good exemple is ExtJs.
Pierre 303
There are various opinions out there, eg. that a pipe is OK but in-memory process isn't, none of which have been tested in court, in your jurisdiction. That's why I suggested finding an example of where somebody with more $ had done the same thing - at least gives you a leg to stand on!
Martin Beckett
@Martin, that's not a pertinent example. The Linux kernel has an explicit exception for system calls so application software doesn't become subject to the GPL: http://www.kernel.org/pub/linux/kernel/COPYING. Conversely, the GPL has an exception to not draw in the system libraries of an OS. I second the course of seeking clarifications from the developers themselves, as they'd be the ones to sue. Though if he'd prefer searching out affirming examples from companies who've willingly breached the GPL as written, this is a good place to start: http://gpl-violations.org
cikkle
Another equally important thing is that Oracle does work without the kernel; it runs just fine on top of a variety of non-GPL kernels.
JosephH