Repository navigation
ffmpeg: drop libfdk-aac/nonfree (redistributable GPL build); edgedelta closed_source; cite terms - #1110
Conversation
…_source; cite terms ffmpeg is configured --enable-gpl --enable-nonfree --enable-libfdk-aac, which FFmpeg's own configure labels "nonfree and unredistributable". edgedelta's agent is object-code-only under a non-transferable licence, so it is closed_source too. Each non-redistributable package now cites the clause that forbids redistribution. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Package license declarations packages/android-sdk/build.ncl, packages/claude-code/build.ncl, packages/edgedelta/build.ncl |
Comments describing license restrictions were added for Android SDK and Claude Code. EdgeDelta was marked closed_source = true; its existing redistributable = false setting remains. |
FFmpeg license and build configuration
| Layer / File(s) | Summary |
|---|---|
FFmpeg configuration and license check packages/ffmpeg/build.ncl, packages/ffmpeg/build.sh |
The SPDX metadata changed to GPL-3.0-or-later. The libfdk-aac dependency and --enable-nonfree option were removed. The build script now checks that the configured license is exactly GPL version 3 or later before running make. |
Priority:
Estimated code review effort: 3 (Moderate) | ~20 minutes
Change: Bug fix
Sequence Diagram(s)
sequenceDiagram
participant BuildScript as build.sh
participant FFmpegConfigure as FFmpeg configure
participant ConfigHeader as config.h
participant Make
BuildScript->>FFmpegConfigure: Configure without libfdk-aac or --enable-nonfree
FFmpegConfigure->>ConfigHeader: Write configured license
BuildScript->>ConfigHeader: Read and check license
BuildScript->>Make: Run only if license is GPL version 3 or later
Possibly related PRs
- gominimal/pkgs#656: Adds
redistributable = falseto Android SDK, Claude Code, and EdgeDelta, which are also classified in this pull request.
Suggested reviewers: mitodrummer, msample
Merge Risk: 
Minimal · up to 9c315
-
The licensing updates and FFmpeg build changes are consistent with the stated redistribution requirements and present no identified merge-blocking risk.
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files. (4 skipped: 4 unsupported.)
-
Finishing Touches
-
📝 Generate docstrings
-
- Commit to this branch
- Create a new PR
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
…GPL build Replaces the redistributable=false marking from the first commit. Without --enable-libfdk-aac/--enable-nonfree, FFmpeg's configure derives "GPL version 3 or later" (gpl + version3) instead of "nonfree and unredistributable". AAC encoding uses the native `aac` encoder. build.sh now refuses to build unless config.h's FFMPEG_LICENSE says exactly that. libfdk-aac stays as a standalone package (its own license allows redistribution); nothing else depended on it through ffmpeg. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Checked FFmpeg n9.0.2 configure: libfdk_aac is on EXTERNAL_LIBRARY_NONFREE_LIST, and with --enable-gpl --enable-version3 and nothing nonfree, the license it writes to FFMPEG_LICENSE is "GPL version 3 or later". build.sh now fails the build on any other value. GPL-3.0-or-later is the right SPDX value, nothing in the catalog depends on ffmpeg, and the edgedelta closed_source flag and the license citations do not change behaviour.
Follow-up to #656. This is a license audit of all 640 catalog packages for terms that forbid redistributing what we build or cache. The prod buildbot keeps
redistributable = falsepackages out of the shared binary cache (build-servers#180).Changes
--enable-libfdk-aacand--enable-nonfree, and the libfdk-aac runtime dep.license_spdx = "GPL-3.0-or-later". Still redistributable.configure(n9.0.2, ~l.4840) setlicense="nonfree and unredistributable"whenever nonfree was enabled, andlibfdk_aacis onEXTERNAL_LIBRARY_NONFREE_LISTbecause the FDK AAC license is GPL-incompatible. Now:--enable-gpl --enable-version3with nothing nonfree gives "GPL version 3 or later". AAC encoding uses the nativeaacencoder.build.shnow fails the build unlessconfig.h'sFFMPEG_LICENSEis exactly "GPL version 3 or later".closed_source = true(new) + citationlibfdk-aac stays as a standalone package; the FDK license allows source and binary redistribution. No catalog package depends on ffmpeg.
mip dump --packagesevaluates the whole catalog with this branch.Checked and left alone
These are redistributable, with notes where it matters:
closed_source = trueis accurate, since there's no public source.Draft #510 (ampcode) already carries
closed_source+redistributable = false. The ffmpeg artifacts built under the old nonfree configuration are still in the shared cache. A purge plan is being prepared separately; it isn't part of this PR.🤖 Generated with Claude Code
Summary by CodeRabbit
libfdk-aac, and its build stops if the detected license does not match GPL version 3 or later.