[FFmpeg-devel] [PATCH 1/8] compat/cuda: add dynamic loader

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Wed Oct 19 20:56:55 EEST 2016

On 19.10.2016 18:52, Sven C. Dack wrote:
> On 19/10/16 17:18, Hendrik Leppkes wrote:
>> Thats the general interpretation of the license situation. If you
>> include non-free headers, your binary becomes non-free, hence why
>> building with cuda currently requires the --enable-nonfree option.
> No. This is a generalization and cannot make sense. At best does it
> ignore the individual licenses and their particular terms and
> discards them for a convenience.
> From what I can tell does only one condition apply here, which is
> regarding the use of the header files. There is however no
> reproduction, disclosure, distribution or modification of these
> headers happening here, which is what is prohibited by Nvidia.

I think you are missing the main problem here: FFmpeg is licensed
under the LGPL 2.1, which states [1]:
"  4. You may copy and distribute the Library [...] in object code
or executable form [...] provided that you accompany it with the
complete corresponding machine-readable source code"

If during compilation the cuda.h header is used, it is part of the
complete source code and thus the license requires it to be
distributed together with the object code. However, you say that
Nvidia prohibits re-distribution of this header and as a result
the compiled ffmpeg binaries cannot legally be distributed.

This is why it requires --enable-nonfree.

Best regards,

1: https://www.gnu.org/licenses/lgpl-2.1.html

More information about the ffmpeg-devel mailing list