Hi, first of all, thank you for maintaining MPVKit.
MPVKit has been very helpful for my macOS app. I especially appreciate that it provides a practical LGPL/non-GPL variant of libmpv for Apple platforms.
While preparing my app's license/compliance materials, I noticed something I wanted to ask about. This may simply be my misunderstanding, so please correct me if I am reading the FFmpeg requirements incorrectly.
Question
The regular MPVKit variant is documented as the LGPL/non-GPL variant, while MPVKit-GPL is the GPL variant.
When checking the FFmpeg build configuration for the regular MPVKit artifacts, I found that the FFmpeg binaries appear to include:
and the generated config appears to contain:
For example:
strings Libavcodec.xcframework/macos-arm64_x86_64/Libavcodec.framework/Versions/A/Libavcodec | grep -- '--enable-nonfree'
The binaries also contain the FFmpeg license string libavcodec license: nonfree and unredistributable, which appears to be what the library would report via avcodec_license() — even though no nonfree component (such as libfdk_aac) appears to be enabled.
The build script also appears to include this flag here:
Sources/BuildScripts/XCFrameworkBuild/main.swift
Why I am asking
FFmpeg's own license/compliance documentation seems to say that redistributable LGPL/GPL builds should not use --enable-nonfree:
My current understanding is:
--enable-version3 is fine if the resulting FFmpeg build is intended to be LGPLv3-or-later.
--enable-gpl should not be used for the regular non-GPL MPVKit variant.
--enable-nonfree may make the resulting FFmpeg binaries non-redistributable, even if no nonfree components (e.g. libfdk_aac) are enabled.
If that understanding is correct, would it make sense to remove --enable-nonfree from the regular MPVKit FFmpeg build?
I am happy to open a small PR that removes the flag from the build script, if that would be useful. I would avoid touching release artifacts/checksums, since rebuilding and publishing those should probably stay with the maintainers.
Again, thank you for the project. I am asking carefully because MPVKit is useful and I want to make sure I am handling the licensing side correctly, not because I want to make a hostile report.
Hi, first of all, thank you for maintaining MPVKit.
MPVKit has been very helpful for my macOS app. I especially appreciate that it provides a practical LGPL/non-GPL variant of libmpv for Apple platforms.
While preparing my app's license/compliance materials, I noticed something I wanted to ask about. This may simply be my misunderstanding, so please correct me if I am reading the FFmpeg requirements incorrectly.
Question
The regular
MPVKitvariant is documented as the LGPL/non-GPL variant, whileMPVKit-GPLis the GPL variant.When checking the FFmpeg build configuration for the regular MPVKit artifacts, I found that the FFmpeg binaries appear to include:
and the generated config appears to contain:
For example:
The binaries also contain the FFmpeg license string
libavcodec license: nonfree and unredistributable, which appears to be what the library would report viaavcodec_license()— even though no nonfree component (such aslibfdk_aac) appears to be enabled.The build script also appears to include this flag here:
Why I am asking
FFmpeg's own license/compliance documentation seems to say that redistributable LGPL/GPL builds should not use
--enable-nonfree:My current understanding is:
--enable-version3is fine if the resulting FFmpeg build is intended to be LGPLv3-or-later.--enable-gplshould not be used for the regular non-GPL MPVKit variant.--enable-nonfreemay make the resulting FFmpeg binaries non-redistributable, even if no nonfree components (e.g.libfdk_aac) are enabled.If that understanding is correct, would it make sense to remove
--enable-nonfreefrom the regular MPVKit FFmpeg build?I am happy to open a small PR that removes the flag from the build script, if that would be useful. I would avoid touching release artifacts/checksums, since rebuilding and publishing those should probably stay with the maintainers.
Again, thank you for the project. I am asking carefully because MPVKit is useful and I want to make sure I am handling the licensing side correctly, not because I want to make a hostile report.