# Third-party software in the oCompress tools All compression runs in the browser. Components are under permissive licences, with one LGPL exception: the LAME MP3 encoder, which ships as its own separately loaded, replaceable file (see below). `build.mjs` lists every bundled npm package at the end of `tools-dist/LICENSES.md` and a release build fails on any other copyleft code. | Component | Version | Licence | Used for | |---|---|---|---| | [jSquash](https://github.com/jamsinclair/jSquash) `@jsquash/jpeg` | 1.6.0 | Apache-2.0 | JPEG encode/decode (wasm build of MozJPEG) | | MozJPEG (inside `@jsquash/jpeg`) | 4.x | IJG licence + BSD-3-Clause + zlib | JPEG codec | | `@jsquash/png` | 3.1.1 | Apache-2.0 | PNG encode/decode (Rust `png` crate, MIT/Apache-2.0) | | `@jsquash/oxipng` | 2.3.0 | Apache-2.0 | lossless PNG optimisation (OxiPNG, MIT; libdeflate, MIT) | | `@jsquash/webp` | 1.5.0 | Apache-2.0 | WebP encode/decode (libwebp, BSD-3-Clause) | | `@jsquash/avif` | 2.1.1 | Apache-2.0 | AVIF encode/decode (libavif BSD-2-Clause, libaom BSD-2-Clause + AOM patent licence 1.0, dav1d BSD-2-Clause) | | `@jsquash/resize` | 2.1.1 | Apache-2.0 | Lanczos3 resizing (Rust `resize` crate, MIT) | | [wasm-feature-detect](https://github.com/GoogleChromeLabs/wasm-feature-detect) | 1.9.0 | Apache-2.0 | WebAssembly SIMD detection | | [gifuct-js](https://github.com/matt-way/gifuct-js) | 2.1.2 | MIT | GIF decoding | | [js-binary-schema-parser](https://github.com/matt-way/jsBinarySchemaParser) | 2.0.3 | MIT | GIF parsing (gifuct-js dependency) | | [gifenc](https://github.com/mattdesl/gifenc) | 1.0.3 | MIT | GIF LZW encoder, PnnQuant colour quantizer | | [UTIF.js](https://github.com/photopea/UTIF.js) `utif` | 3.1.0 | MIT | TIFF decoding | | [SVGO](https://github.com/svg/svgo) | 4.1.0 | MIT | SVG optimisation (browser build) | | [fflate](https://github.com/101arrowz/fflate) | 0.8.3 | MIT | ZIP download, Deflate for TIFF and PNG iCCP | | [Tabler Icons](https://github.com/tabler/tabler-icons) | 3.49.0 | MIT | UI icons | | [pdf-lib](https://github.com/Hopding/pdf-lib) | 1.17.1 | MIT | document engine: PDF rewriting | | `@pdf-lib/standard-fonts`, `@pdf-lib/upng` | 1.0.0, 1.0.1 | MIT | pdf-lib dependencies | | `tslib` | 1.14.1 | 0BSD | pdf-lib runtime helpers | | [Mediabunny](https://github.com/Vanilagy/mediabunny) `mediabunny` | 1.62.1 | MPL-2.0 | media engine: demux/remux, WebCodecs pipeline | | `@mediabunny/flac-encoder` | 1.62.1 | MPL-2.0 (libFLAC BSD-3-Clause) | media engine: FLAC output | | `@mediabunny/mp3-encoder` | 1.62.1 | MPL-2.0 wrapper around **LAME (LGPL-2.0)** | media engine: MP3 output, loaded only when MP3 is written, as the separate file `wasm/w/media-mediabunny-mp3-encoder-*.js` | LAME is distributed under the GNU Lesser General Public License 2.0 . Source code: LAME , WebAssembly wrapper . The encoder is a separate file that can be replaced with a modified build without changing the rest of the tools. pako calls from UTIF and pdf-lib are redirected to fflate at build time (`src/lib/pako-shim.js`), so pako itself is not shipped. Own code (oCompress): shell, worker pool, palette mapping with dithering, GIF frame optimiser and writer, TIFF Deflate writer, ICC/EXIF metadata handling. Licence texts: Apache-2.0 , MIT , BSD-2/3-Clause , IJG , AOM patent licence . ## Bundled npm packages (generated by build.mjs) | Package | Version | Declared licence | |---|---|---| | @jsquash/avif | 2.1.1 | Apache-2.0 | | @jsquash/jpeg | 1.6.0 | Apache-2.0 | | @jsquash/oxipng | 2.3.0 | Apache-2.0 | | @jsquash/png | 3.1.1 | Apache-2.0 | | @jsquash/resize | 2.1.1 | Apache-2.0 | | @jsquash/webp | 1.5.0 | Apache-2.0 | | @mediabunny/flac-encoder | 1.62.1 | MPL-2.0 | | @mediabunny/mp3-encoder | 1.62.1 | MPL-2.0 (bundles the LAME MP3 encoder (LGPL-2.0) compiled to WebAssembly) | | @pdf-lib/standard-fonts | 1.0.0 | MIT | | @pdf-lib/upng | 1.0.1 | MIT | | fflate | 0.8.3 | MIT | | gifenc | 1.0.3 | MIT | | gifuct-js | 2.1.2 | MIT | | js-binary-schema-parser | 2.0.3 | MIT | | mediabunny | 1.62.1 | MPL-2.0 | | pdf-lib | 1.17.1 | MIT | | svgo | 4.1.0 | MIT | | tslib | 1.14.1 | 0BSD | | utif | 3.1.0 | MIT | | wasm-feature-detect | 1.9.0 | Apache-2.0 |