2

Can someone please clarify the legality of bundling and using the full version of FFmpeg (with included libx264 and libx265 and other gpl codecs) in an open source app.

I don't want to modify anything, all I want to do is to bundle compiled FFmpeg binaries downloaded from their website with my open source app which would use them for media files editing.

I want to bundle the full version of FFmpeg since without --enable-gpl and --enable-nonfree features, not being able to process h264, FFmpeg becomes effectivelly useless. So I want to know if I have to bundle the binaries compiled without --enable-gpl and --enable-nonfree?

2

An FFmpeg binary that has been built with both --enable-gpl and --enable-nonfree cannot be distributed. Not at all.

The GPL has the requirement that all code must be available under a GPL-compatible license, but --enable-nonfree adds some codecs with a GPL-incompatible license. The result is something you can not distribute without violating the copyright licenses.

Also, if you use --enable-gpl, there is a chance that your app must also be distributed under the terms of the GPL, depending on if you use FFmpeg as an external application or as a library.

So I want to know if I have to bundle the binaries compiled without --enable-gpl and --enable-nonfree?

You must make a choice between those two switches for the binaries that you bundle with your app.

| improve this answer | |
  • you will only need to make the choice when actually distributing it (outside your company or organisation). There is no issue to create such binary for local usage. – planetmaker Apr 24 at 11:49
  • @planetmaker, my assumption was that "bundle" implies an intent to distribute. – Bart van Ingen Schenau Apr 24 at 11:51
  • @BartvanIngenSchenau thank you for the answer. Yes, I want to open source my app under GPLv3 license on GitHub and bundle ffmpeg so that my app can use it for media file editing by sending it commands via command line like to a separate program - does that qualify for "using it as an external application"? – Alex Hoffman Apr 24 at 12:17
  • @BartvanIngenSchenau and what if instead of bundling ffmpeg with the app it would let the user download it when it's launched? Will that be considered as "distributing" it? – Alex Hoffman Apr 24 at 12:22
  • 1
    @AlexHoffman, if your app can work with any application that uses a command interface like that of FFmpeg, then that should qualify as using it as an external application. If your app can work with an existing install of FFmpeg and offers to download it if it can't find it, that is fine. However, you can't offer a binary of FFmpeg for download that is build with both --enable-gpl and --enable-nonfree. Offering something for download is a form of distribution. – Bart van Ingen Schenau Apr 25 at 6:44

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.