4

If I bundle a piece of compiled software (in this case, FFMPEG) which is licensed under GPL 2, with my own commercial software (which is not licensed under any form of open source license), does it affect the license that I have to apply to my software?

My understanding is that the GPL 2 licensed component does not affect my software if it is compiled/built - it would affect it if I was including some/all of the source code in my own project.

I want to bundle a built (.exe) copy FFMPEG, which is licensed under GPL 2, with my own software...But I don't want to have to open source my software project.

3

1 Answer 1

6

First FFmpeg can be built with different licensing depending on the build config resulting in binaries that are LGPL or GPL-licensed, but not always GPL-licensed.

Second, if you link with and call the libav* libraries from your proprietary code, the general community opinion is that you may eventually create some kind of derived of the library.

If the library is GPL-licensed then then GPL copyleft terms would flow back and apply to the calling code.

If the library is LGPL-licensed then then LGPL copyleft terms would flow back and apply to the calling code is you use some static linking and would not apply if you use dynamic linking.

In all cases, the details of which L/GPL version is in play and how you interact with FFmpeg matters a lot.

Say you use FFmpeg as-is, unmodified and call its command line tool in a subprocess, then in most cases neither a GPL nor an LGPL copyleft would back to the code that spawns the subprocess.

My understanding is that the GPL 2 licensed component does not affect my software if it is compiled/built - it would affect it if I was including some/all of the source code in my own project.

This does not sound a correct assumption to me, but there is not enough specifics in your question to be sure.

I want to bundle a built (.exe) copy FFMPEG, which is licensed under GPL 2, with my own software...But I don't want to have to open source my software project.

So based on all I said above, it depends on how you interact with FFmpeg. And in all cases whether using the GPL or LGPL regardless of how you call FFmpeg you will need to redistribute the source of FFmpeg proper.

As a side note, there are also codec patents to consider wrt. FFmpeg especially when used in a commercial software package. You must take these into consideration too.

7
  • Thank you Philippe for your answer. Exactly as you have described, we intend to be calling a command-line FFMPEG executable as-is (directly downloaded exe build from the website). We would intend to be including the required FFMPEG exe alongside our proprietary software. Mar 2, 2017 at 12:21
  • 1
    @BenHayward firstly, if you're happy with Philippe's answer, you should accept it by clicking the tick outline next to it (my apologies if you already know this). Secondly, I think Philippe's point was that your obligations in respect of ffmpeg aren't merely to distribute the binary (exe) - you will likely need to redistribute the source of it also.
    – MadHatter
    Mar 2, 2017 at 16:11
  • @MadHatter you stated this perfectly! In the case Ben describes in the comment above, I do not see the copyleft flowing to the calling code when a process is spawned. But all copyleft, attribution, and corresponding source redistribution obligations still apply to FFmpeg proper. Mar 2, 2017 at 23:58
  • @MadHatter I accepted the answer when I posted the above comment, however, since it seemed not to have been visible to you, I have unaccepted and reaccepted again. Thank you for the clarification regarding the obligation to include the source in the distribution too. I believe this can be as a link or download to/from the official git repo? Mar 3, 2017 at 9:42
  • @BenHayward thanks for bending over backwards to be a good citizen! I'd prefer not to give comment-length answers about license obligations; if you're unclear about what GPL2 requires, I'd advise asking a new question (after searching to see if anyone's already asked that - I know that GPL3's redistribution obligations have been the subject of some discussion here in the past).
    – MadHatter
    Mar 3, 2017 at 10:06

Your Answer

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

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