Intro: Recently I'm working on an electron based application that is free to use but also has subscription based services. It came to my attention that ffmpeg is shipped with electron, which has GPL/LGPL licence.

My quetion is:

  • Am I legally able to still distribute the application and be licence-compliant with ffmpeg without owning any proper licence to it? I thought chromium dealt with the licencing on this topic since so many applications nowadays are shipped with using electron and chromium under the hood.
  • How do I compile/build electron to make it licence compatible (in case its not?)

I did a lot of research and I found out the followings:

  • ffmpeg is shipped with chromium, they built their own version of ffmpeg and it seems they also have licence for it. Although that might be that they just push the responsibility down on the software developer/company who distributes their application with chromium. Chromium licence for ffmpeg: https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/703e920bb75053bf6b87d41d198cbbfbce3fb7ad/LICENSE

  • Apparently ffmpeg has a checklist of how to be licence compliant. Does that mean if I do all these steps, I can still distribute the application and can legally use it? Licence checklist for ffmpeg: http://ffmpeg.org/legal.html

  • checking out some popular electron applications like Discord, Figma, Slack, etc... they ALL have ffmpeg included cause of electron when you install them. I wonder how they made it legal? I don't see any of these checklists done on any of these popular applications.

I'm know very little regarding licences, so any help would be incredibly huge help for me.

  • 1
    The only answer is, "you should consult a lawyer who understands the (L)GPL". But you can come prepared. FFmpeg uses either the GPL 2+ or LGPL 2.1+ depending if any GPL licensed components are enabled/included. If you're distributing anything from FFmpeg you have to determine which of those licenses applies to whatever you're using from FFmpeg. – llogan Mar 12 at 17:32

FFmpeg as a base line is available under GPL v2, GPL v3, LGPL v2.1 or LGPL v3. So you have the choice. Including a version of FFmpeg which adheres to the LGPL (whatever version) allows it to be included as a module in proprietary applications or those with a weak copylieft like MIT, if you fulfill the LGPL license requirements (they are not really that complicated). The steps necessary to achieve this are outlined in great detail in the license complience checklist which you linked.

Mind though, this means you CANNOT use any GPL-licensed module or codec and you CANNOT use any non-free or proprietary codec either. Binaries of FFmpeg or VLC are distributed on their own websites under the GPL license which allows them to compile-in more modules (those which are GPL-licensed) and fulfill the license requirements. If you need these modules in your application and consequently compile with --enable-gpl, you must release the whole application which links to these FFmpeg libraries under GPL.

Your Answer

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