3

Would distributing a commercial closed source application along with a GPLd standalone binary, which the closed source application calls trigger the requirement to license whole app under GPL? (For example: a user friendly video converter that calls GPLd FFmpeg in a separate process, without linking, to do the actual conversion in the background and which is an essential part of the whole commercial package)

There seems to be consensus that linking to a GPL licensed library constitutes a derivative work and triggers the GPL requirement to license the code that links to the GPLd code under the terms of the GPL as well.

There also seems to be consensus that merely calling a GPL licensed standalone executable (like GPLd FFMPEG) does not constitute a derivative work and does not trigger the requirement to license the calling code under GPL.

But: Does distributing GPLd software together with closed source software also trigger GPL obligations in respect of my program's source code, even without linking?

0
4

In answer to the question in the title: GPLv3 (like earlier versions) is definitely triggered by such distribution, as this constitutes making copies of a copyright-protected binary, an act normally reserved to the rightsholder and his/her licensees. GPLv3 is quite clear about the terms that apply to your license to distribute, when in s2 it says "Conveying under any other circumstances is permitted solely under the conditions stated below".

Conveying unmodified binaries is covered under s6 (which in turn includes s4). This obliges you to convey the binary under the terms of GPLv3, and also to provide "corresponding source" under those same terms.

In answer to the question in the body text: you ask whether, by distributing a program which invokes a GPLed binary through fork-and-exec, and by distributing that GPLed binary alongside your program, your work becomes a derivative of the GPLed binary, thus obliging you to distribute the source of your program under GPL also.

The FSF shed some light on this in their FAQ, which suggests to me that as long as your program is simply calling the GPL'ed binary, and passing it (eg) a video file in a standard, well-documented format for transcoding to another standard format, your distribution of the two programs together is "mere aggregation", and GPL obligations do not extend to your program also. If your program passed complex state to and from the GPL program, this would be a sign that the two works were not really separate, and GPL obligations would extend to your program also.

Note that under all circumstances you would have source-distribution obligations in respect of (in the case of your example) ffmpeg.

4
  • Reading of your first sentence with 'triggered' in the first line might lead a reader to the wrong initial conclusion. OP wanted to know if this situation would "trigger the requirement to license whole app under GPL?" So when you say "GPLv3 is definitely triggered by such distribution" I thought at first you meant 'yes, you must license the whole app under GPLv3.' until reading the final paragraph. – Brandin yesterday
  • 1
    I agree that the structure of this Answer could lead the reader to the wrong answer. They may think the "binary" you are talking about in the first paragraph is the closed source binary, as that is what they are asking about. The actual answer to that begins in the third paragraph, as you yourself indicate. I think it would be a better Answer if you flipped it around, putting the last two paragraphs first, then throw in a "however" clause to lead into the other paragraphs. E.g. "However, the GPLv3 still attaches to the distribution of the open source binary, as it constitutes...." – trlkly yesterday
  • OK, since it seems to be annoying people, I've clarified what's going on in the answer. Hopefully it's now clearer which bits of the answer address which bits of the question. – MadHatter yesterday
  • Thanks everyone for clarifying. Indeed the title of my question was not very precise... – Andi 21 hours ago
-2

There seems to be consensus that linking to a GPL licensed library constitutes a derivative work and triggers the GPL requirement to license the code that links to the GPLd code under the terms of the GPL as well.

Weird, because that's obviously wrong. Linking to a library is how you use it in the ordinary way. Just like you don't need a license to read a book, you don't need a license to use a library.

This is not a controversial point and it's very likely your comment is based on a misunderstanding. Here's how GNU puts it:

"Merely agreeing to the GPL doesn't place any obligations on you. You are not required to agree to anything to merely use software which is licensed under the GPL. You only have obligations if you modify or distribute the software." GPL FAQ

There also seems to be consensus that merely calling a GPL licensed standalone executable (like GPLd FFMPEG) does not constitute a derivative work and does not trigger the requirement to license the calling code under GPL.

Right, again it's ordinary use. Under US law, the right to the ordinary use of a work is a right every lawful possessor of a work has unless they give it up through some agreement they actually agreed to.

But: Does distributing GPLd software together with closed source software also trigger GPL obligations in respect of my program's source code, even without linking?

Yes and no.

Distribution requires a license. If you could copy and distribute works without a license, the music and movie industries would be very different. So you do have whatever obligations the GPL imposes on you.

However, the GPL defines a "covered work" as, effectively, a derivative work. So the question is whether the closed source software is a derivative work or not. But if the closed source software was a derivative work, you'd have GPL obligations even if you didn't distribute it together with the closed source software.

In sum, distributing an aggregate work doesn't change your GPL obligations over distributing the pieces of the work separately because the GPL only extends to derivative works and whether a work is a derivative work isn't changed by aggregate distribution.

3
  • If it's obviously wrong, then how come no lawyer or court has picked up on the error at any time in the past 30 years? – Mark yesterday
  • @Mark I think the OP just mis-stated a different point. As I said, my position is not controversial and it's the position in the GPL FAQ. – David Schwartz yesterday
  • @David I did not put it well: when I wrote “linking” I really meant “linking and distributing”. And there seems to be consensus that this requires a license, and when linking (and distributing the product) to GPLd binaries, this license would have to be GPL. – Andi 17 hours ago

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.