# Third-Party Notices BottleShip redistributes the third-party components listed below. Each component remains under its own license; the corresponding license texts live in the upstream projects referenced here. > The license for BottleShip's own code is recorded in `LICENSE`. This file covers > only third-party material. ## Emulation core ### v86 (`vendor/v86`, ships as `public/v86.wasm` + `libv86.mjs`) - x86 CPU/system emulator. Git submodule of the BottleShip fork of [copy/v86](https://github.com/copy/v86). - **License:** BSD-2-Clause (see `vendor/v86/LICENSE`). Portions of the floppy code derive from QEMU and are MIT-licensed (`vendor/v86/LICENSE.MIT`). ### SeaBIOS (`public/bios/seabios.bin`) - Open-source x86 BIOS, redistributed as an unmodified binary as shipped with v86. - **License:** LGPL-3.0 (see `vendor/v86/bios/COPYING.LESSER`). Source: . ### Bochs VGABIOS (`public/bios/vgabios.bin`) - VGA BIOS from the Bochs project, redistributed as an unmodified binary as shipped with v86. - **License:** LGPL-2.1. Source: . ## Media / codec WASM builds ### FFmpeg (`public/video-decoder.wasm`) - Video/audio decoding (Bink, Smacker, Indeo, MPEG, WMV, ADPCM, …) compiled to WebAssembly by `tools/build-ffmpeg-decoder/build.sh`. - **License:** LGPL-2.1-or-later. The build is configured **without** `--enable-gpl` and without any GPL-only components; only LGPL decoders, demuxers and support libraries (libavformat/libavcodec/libavutil/libswscale/ libswresample) are enabled. - Complete corresponding source: upstream FFmpeg () at the release pinned in `tools/build-ffmpeg-decoder/build.sh`, plus the build script and `decoder_api.c` in this repository. ### unpack-buffered (`tools/build-unpack-buffered`, ships as `public/unpack-buffered.wasm`) - First-party BottleShip Rust crate (7z/deflate/LZMA decode for game ingestion). Statically links the following Rust crates: - `sevenz-rust2` — Apache-2.0 - `miniz_oxide` — MIT OR Zlib OR Apache-2.0 - `lzma-rs` — MIT - `wasm-bindgen`, `js-sys` — MIT OR Apache-2.0 ### unpack-streaming (`tools/build-unpack-streaming`, ships as `public/unpack-streaming.wasm`) - First-party BottleShip Rust crate (Inno Setup LZMA1/LZMA2, FreeArc srep). Statically links: - `lzma-rust2` — Apache-2.0 ## Fonts ### Liberation Fonts (`public/fonts/Liberation*.ttf`) - Metric-compatible replacements for Arial/Times New Roman/Courier New, used for guest GDI text rendering. - **License:** SIL Open Font License 1.1. Source: . ## Bundled JavaScript dependencies (production bundle) | Package | License | |---|---| | `react`, `react-dom` | MIT | | `pako` | MIT AND Zlib | | `lucide-react` | ISC | Development-only dependencies (Vite, TypeScript, Tailwind, ESLint, …) are not redistributed and are therefore not listed here. ## Reference material (consulted, **not** redistributed) BottleShip is an independent clean-room recreation of the Win32/COM/DirectX and 3D-graphics interfaces it targets. It ships **none** of the third-party source below; the material was used only to confirm the public interface contracts (function signatures, ABI struct layouts, enumerant values) that any conforming implementation shares. - **Win32/DirectX API headers** — signature/offset metadata under `tools/reference/**/*.sig.json` is regenerated locally from public SDK-style headers (re-fetchable from the [ReactOS](https://github.com/reactos/reactos) `sdk/include/psdk` tree via `bun run fetch-reference-headers`). Only the derived, **fact-only** `.sig.json` (interface/method names, parameter types, vtable indices — the Microsoft Win32/DirectX ABI, required for interoperability) are tracked and shipped. The upstream `.h` files themselves are git-ignored and never redistributed. - **MSS32 (Miles Sound System)** — `mss32.sig.json` describes the interop signatures of a proprietary third-party library, reverse-engineered for compatibility. No Miles code is included; the header is BYO (git-ignored). - **OpenGL / WGL** — enumerant values and entry-point signatures follow the public Khronos OpenGL registry and the Win32 WGL ABI. - **Wine (LGPL-2.1) and DXVK (Zlib)** — used as behavioral references to validate our independent implementations of documented DirectX semantics. No Wine or DXVK source is incorporated.