# Open Source Compliance

Source: https://zshot-cli.com/support/open_source_compliance/
Markdown: https://zshot-cli.com/support/open_source_compliance/index.md
Section: [Support](https://zshot-cli.com/support/)

ZShot is built on open-source components. Most are under permissive
licenses, and their notices are printed by
[`--open-source-licenses`](/reference/flags/common/open-source-licenses).
Two are licensed under the GNU LGPL, which gives you more: the complete
source we built them from, and the right to replace them with your own,
modified builds.

| Component | What it does in ZShot | License |
| --- | --- | --- |
| [FFmpeg](https://ffmpeg.org) | Video and animated image encoding (the `libav*` and `libsw*` libraries) | LGPL 3.0 |
| [Chromium Embedded Framework](https://github.com/chromiumembedded/cef) (CEF, `libcef`) | The browser engine: Chromium, including its Blink rendering engine | Parts of Blink under LGPL 2.0 and 2.1; the rest BSD and other licenses |

Both are dynamically linked, so either can be swapped without touching the
`zshot` binary. Each one below follows the same order: the source, our
binaries, how to replace them.

## Latest release

ZShot 0.57.1, released 2026-10-30:

| Component | Version | Source | macOS binaries | Linux x86_64 binaries | Linux arm64 binaries |
| --- | --- | --- | --- | --- | --- |
| FFmpeg | 9.0.2 | [tarball](https://ffmpeg.zshot-app.com/FFmpeg-release-9.0.2.tar.gz) | [tarball](https://ffmpeg.zshot-app.com/ffmpeg-zshot-bin-9.0.2-darwin-arm64.tar.gz) | [tarball](https://ffmpeg.zshot-app.com/ffmpeg-zshot-bin-9.0.2-linux-x86_64.tar.gz) | [tarball](https://ffmpeg.zshot-app.com/ffmpeg-zshot-bin-9.0.2-linux-aarch64.tar.gz) |
| Chromium Embedded Framework | 156.0.24+gff27aba+chromium-156.0.8078.48 | [CEF](https://cef.zshot-app.com/cef-source-156.0.24%2Bgff27aba%2Bchromium-156.0.8078.48.tar.gz), [Chromium 156.0.8078.48](https://cef.zshot-app.com/chromium-156.0.8078.48.tar.xz) | [archive](https://cef.zshot-app.com/cef_binary_156.0.24%2Bgff27aba%2Bchromium-156.0.8078.48_macosarm64_minimal.tar.bz2) | [archive](https://cef.zshot-app.com/cef_binary_156.0.24%2Bgff27aba%2Bchromium-156.0.8078.48_linux64_minimal.tar.bz2) | [archive](https://cef.zshot-app.com/cef_binary_156.0.24%2Bgff27aba%2Bchromium-156.0.8078.48_linuxarm64_minimal.tar.bz2) |

For older releases, `zshot --open-source-licenses` of that release prints
the same links for the versions it was built with.

## FFmpeg

### Source

The source tarball is upstream FFmpeg with our patches applied; the
patches are also in its `zshot-patches/` directory. They add API that
libcef uses and change no existing behavior. The configure flags for each
library are printed on its `Built via` line by `--open-source-licenses`;
follow FFmpeg's standard `./configure && make` with them.

### Replacing FFmpeg

The libraries are loaded from the directory they ship in, so a replacement
needs no renaming or relinking. Build it from our source tarball, or apply
our patches to your own FFmpeg: libcef calls the functions they add.

- **macOS:** replace the dylibs in `zshot_app.app/Contents/Frameworks/`.
  Then clear the quarantine and re-sign the bundle (ad-hoc shown; use your
  own identity if you need one):

  ```sh
  xattr -dr com.apple.quarantine zshot_app.app
  codesign --force --deep --sign - zshot_app.app
  ```
- **Linux:** replace the `.so` files in `/usr/lib/zshot/` (deb) or
  `lib/zshot/` (tarball). The binary's RPATH (`$ORIGIN`) loads them from
  there.
- **Docker:** build a derived image that copies your libraries into
  `/usr/lib/zshot/`:

  ```dockerfile
  FROM scaleassembly/zshot:<version>
  USER root
  COPY my-ffmpeg/lib/ /usr/lib/zshot/
  USER zshot
  ```

### Confirming the replacement

Run `zshot --open-source-licenses` again: each library's `Built via` line is
read from the library actually loaded, so it shows your build's
configuration. To try this without building FFmpeg yourself, swap in our
canary build from `https://ffmpeg.zshot-app.com/ffmpeg-zshot-canary-<version>-<platform>.tar.gz`
(the `<platform>` of the binaries above); its `Built via` line carries a
distinct marker. We do this ourselves on macOS and Linux before every
release.

## Chromium Embedded Framework

### Source

- **CEF source tarball:** CEF with all of our changes, the scripts that
  build it, the build records (GN arguments, the FFmpeg it links), and
  `SOURCE.txt`, which explains how to rebuild.
- **Chromium tarball:** a mirror of Google's official release tarball for
  the Chromium version CEF is built on.

Every change we make to CEF or Chromium is in the CEF tarball.

### Replacing CEF

Rebuild CEF from the source above, with your changes, and put your build in
place of ours. libcef's V8 snapshot and resource files are tied to the
build that produced them, so replace them all together, not `libcef.so`
alone.

- **macOS:** replace
  `zshot_app.app/Contents/Frameworks/Chromium Embedded Framework.framework`
  with your build's, then clear the quarantine and re-sign the bundle as
  for FFmpeg.
- **Linux:** replace the CEF files in `/usr/lib/zshot/` (deb) or
  `lib/zshot/` (tarball) with every file from your build's `Release/` and
  `Resources/` directories: `libcef.so`, `chrome-sandbox` (keep it
  root-owned with mode 4755), `v8_context_snapshot.bin`, the `.pak` files,
  `locales/`, `icudtl.dat` and the SwiftShader files.
- **Docker:** a derived image, as for FFmpeg, copying those files into
  `/usr/lib/zshot/`.

### Notices

`CHROMIUM-CREDITS.html` lists the license of every third-party component
in libcef. It ships in every package: in `zshot_app.app/Contents/Resources/`
on macOS, and next to `libcef.so` on Linux and in the Docker images. The
full Blink license, with the LGPL 2.0 and 2.1 texts, is printed by
`--open-source-licenses`.

## Your rights

Nothing in the [EULA](/support/eula) restricts the rights these licenses
give you. In particular, you may modify the FFmpeg and CEF libraries, use
your modified versions with ZShot, and reverse engineer ZShot as far as
needed to debug those modifications.

## Navigation

- [Examples](https://zshot-cli.com/examples/)
- [Download](https://zshot-cli.com/download/)
- [Purchase](https://zshot-cli.com/purchase/)
- [Reference](https://zshot-cli.com/reference/)
- [Support](https://zshot-cli.com/support/)
  - [Licenses](https://zshot-cli.com/support/licenses/)
  - [EULA](https://zshot-cli.com/support/eula/)
  - [Privacy Policy](https://zshot-cli.com/support/privacy_policy/)
  - [Open Source Licenses](https://zshot-cli.com/support/open_source_licenses/)
  - **Open Source Compliance**
  - [Verifying your download](https://zshot-cli.com/support/verify/)
  - [Feature Requests](https://zshot-cli.com/support/requests/)
- [Changelog](https://zshot-cli.com/changelog/)

Site index: https://zshot-cli.com/llms.txt

