I've developed a little software that use FFmpeg in command line mode.

To further clarify: My software launch several times ffmpeg.exe that is stored inside the same folder as my .exe. User never interact with it and never see it. It's only copied inside my software folder and is launched it in background by my program.

I'm a very newbie to software developing, and also with licencing.

FFmpeg is distributed under LGPL Licence (from what I read here). Now that my software is completed I want to release it to everyone for free (Maybe including some sort of optional donation) but I want to retain some sort of domain onto it.

Probably I will also release it in some kind of open-source licence but I didn't have decided which one it's the best, so temporarily this option is out of my mind.

The problem is that I don't understand clearly if I can distribute FFmpeg with my software (and for that I mean including it into my installer and use it in form of command-line use inside my software logic) without have to release my software under LGPL.

It's a legal question that I don't understand clearly: What does it mean "including" a LGPL software? Isn't inside my software, only inside an installer that copy it onto clients PC with my software, that will launch it in background. My software don't "include" (inside their code) any library of the software neither.

My software it's small but valuable (I think :D ), I don't want to release onto a licence (LGPL) that doesn't convince me 100%.

What can I do to distribute my software 'with' FFmpeg? Distribute under LGPL it's the only option or I'm "free" because I use it in command-line mode?

up vote 3 down vote accepted

It sounds like your work is a completely spearate work from FFmpeg. You work and FFmpeg are two different works that happen to interoperate. The FSF's GPL FAQ says:

Can I release a non-free program that's designed to load a GPL-covered plug-in?

It depends on how the program invokes its plug-ins. For instance, if the program uses only simple fork and exec to invoke and communicate with plug-ins, then the plug-ins are separate programs, so the license of the plug-in makes no requirements about the main program. [...]

Since you're directly invoking the program, that sounds like your case. Simply include or make obviously available the source code for FFmpeg.

If I am wrong, and your code actually interacts more closely with FFmpeg, then your work (plus FFmpeg) could qualify as a "combined work" under the LGPL. Under the LGPL v2.1, a combined work consists of an LGPL-licensed library, and an application that uses it:

An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.

A “Combined Work” is a work produced by combining or linking an Application with the Library.

If your work is indeed a combined work, then the LGPL requires that you offer the source code of the LGPL library (not your own code external to the library) and that you perform the combination in a way that allows users to easily replace the library with a modified version. In this case, it seems clear that you're already doing the latter: if the executable file is simply adjacent to your script and invoked directly, then it's trivial for a user to drop in a modified FFMpeg. As for offering the source, that's something you need to do anyway, whenever you distribute an LGPL-licensed work under most circumstances.

  • Thanks, the answer it's very clear. I think I'm in the first case: I'm using the compiled exe, not a library. An user can do manually the work that does my software simply calling ffmpeg.exe with parameter in the CMD. The doubt is: I can actually distribute my software plus ffmpeg in an installer and licence my software with a different licence without retaliation (Including source code and rights, off couse)? I don't want to get angry someone for licence violation (Isn't right and isn't cool abuse an open source project). – Alex DG Jun 14 '16 at 9:57
  • The LGPL only covers distribution, not use. Since it is allowed to combine your program and ffmpeg in this way, it is fine to distribute. – Simon Richter Jun 15 '16 at 0:55
  • Thanks to both. VERY helpful. Now I'm much more relaxed for my software future. Thanks again :) – Alex DG Jun 17 '16 at 9:18

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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