# HyprTile third-party notices

This file is a practical inventory of third-party software that is relevant to
HyprTile based on the current source tree and Makefiles.

HyprTile itself is licensed under the GNU General Public License, version 3 or
later (GPL-3.0-or-later). Third-party software remains under its own license and
is not relicensed by HyprTile.

This file is provided for transparency and convenience. It is not legal advice.
Always verify the exact licenses of the versions you build against or distribute,
especially when shipping binary packages.

## General linking and distribution model

HyprTile is designed to dynamically link against system-provided libraries.

External libraries used by HyprTile are expected to be provided by the user's
Linux distribution or installed as regular system packages. These libraries
remain separately licensed. HyprTile does not claim ownership over them and does
not relicense them.

When distributing HyprTile binaries, provide the corresponding HyprTile source
code, this notice file, the main GPL license file, and any license notices
required by the third-party components used by your build.

## Bundled in the source tree

### sheredom/json.h

Paths:

- `json.h`
- `hyprtile-xmppclient/json.h`
- `hyprtile-stt-build/json.h`
- `hyprtile-tts-build/json.h`
- `hyprtile-tts-server-build/json.h`

License: public domain / Unlicense-style dedication, as stated in the header.

The license notice is embedded directly in each `json.h` file.

### Wayland / wlroots protocol XML files

Paths:

- `hyprtile-remoteviewer-build/protocols/wlr-screencopy-unstable-v1.xml`
- `hyprtile-remoteviewer-build/protocols/wlr-virtual-pointer-unstable-v1.xml`
- `hyprtile-remoteviewer-build/protocols/virtual-keyboard-unstable-v1.xml`

License: MIT/X11-style permission notice embedded in each XML file.

Generated Wayland protocol C/header files inherit the relevant protocol notice.

### Remix Icon

HyprTile includes or uses icons from the Remix Icon project.

License: Apache License 2.0.

Remix Icon remains under its own license and is not relicensed by HyprTile. The
Apache License 2.0 notice and attribution should be preserved when distributing
HyprTile source or binaries that include Remix Icon assets.

Project/license reference:

- Remix Icon — Apache License 2.0
- Apache License, Version 2.0, January 2004

### Example TLS certificate and key

Paths:

- `hyprtile-remoteviewer-build/certs/hyprtile-remoteviewer.example.crt`
- `hyprtile-remoteviewer-build/certs/hyprtile-remoteviewer.example.key`
- `hyprtile-remoteviewer-build/certs/openssl-san.conf`

These files are examples only. They are not production credentials and should
not be used for public or security-sensitive deployments.

Users and distributors should generate their own TLS certificate and private key
before exposing the remote viewer over a network.

## External libraries used via system packages / dynamic linking

HyprTile uses common Linux system libraries through `pkg-config`, compiler/linker
flags, and dynamically linked system packages. These libraries are not bundled
with HyprTile unless explicitly stated otherwise.

The license names below describe the commonly used licenses for these projects.
Verify the exact license of the version provided by your target distribution.

### Core HyprTile / launcher / UI

- SDL3 — commonly zlib license.
- SDL3_ttf — commonly zlib license.
- Cairo — commonly LGPL-2.1-only or MPL-1.1.
- librsvg — commonly LGPL-2.1-or-later.
- GLib — commonly LGPL-2.1-or-later.
- Fontconfig — commonly MIT-style license.
- libepoxy — commonly MIT license.
- OpenGL / EGL / GLES loader/runtime — vendor/platform specific.
- PulseAudio libpulse / libpulse-simple — commonly LGPL-2.1-or-later.
- libsodium — ISC license.
- FFTW3 — commonly GPL-2.0-or-later unless a separate commercial FFTW license is used.

HyprTile itself is GPL-3.0-or-later, so GPL-2.0-or-later libraries are generally
compatible when the combined binary is distributed under GPL-compatible terms and
the corresponding source and notices are provided.

### FFmpeg libraries

Some HyprTile components dynamically link against system-provided FFmpeg
libraries, including for example:

- `libavformat`
- `libavcodec`
- `libavutil`
- `libswscale`
- `libswresample`

FFmpeg is not bundled with HyprTile. HyprTile expects FFmpeg libraries and/or the
`ffmpeg` command-line tool to be installed separately through the user's system
package manager.

FFmpeg's effective license depends on the exact FFmpeg build configuration and
enabled codecs/features. Depending on the distribution package, FFmpeg may be
provided under LGPL or GPL terms.

Distributors should verify the exact FFmpeg package and build configuration they
target.

### hyprtile-remoteviewer

- libvpx — commonly BSD-3-Clause.
- Wayland client libraries — commonly MIT-style.
- OpenSSL — OpenSSL 3.x is commonly Apache-2.0; older OpenSSL versions used the
  OpenSSL/SSLeay license. Verify the version used by your target system.
- xkbcommon — commonly MIT/X11-style.
- wlroots/Wayland protocol XML files — MIT/X11-style notices included in the XML
  files bundled in this source tree.
- Hyprland / `hyprctl` — external runtime dependency, not bundled with HyprTile.

Hyprland and `hyprctl` remain separately licensed runtime dependencies.

### hyprtile-screener / hyprtile-shotter / wallpaper/video helpers

- Wayland client libraries — commonly MIT-style.
- libpng — libpng license.
- FFmpeg libraries — dynamically linked system libraries as described above.
- `ffmpeg` command-line tool — external runtime dependency when used by the
  relevant feature.

### hyprtile-audioplayer

- libmpg123 — commonly LGPL-2.1.
- libpulse-simple — commonly LGPL-2.1-or-later.
- libxmp — commonly LGPL-2.1-or-later.
- FLAC/libFLAC — commonly BSD-style license.
- libvorbis / vorbisfile — commonly BSD-style license.
- opusfile — commonly BSD-3-Clause.
- libsidplayfp — commonly GPL-2.0-or-later.
- libcurl — curl license.

HyprTile itself is GPL-3.0-or-later, so GPL-2.0-or-later libraries such as
libsidplayfp are generally compatible when the complete combined work is
distributed under GPL-compatible terms and the corresponding source and notices
are provided.

### hyprtile-xmppclient

- OpenSSL — version-dependent as described above.
- libxml2 — MIT-style license.
- libcurl — curl license.

### hyprtile-stt / hyprtile-tts / hyprtile-tts-server

- PulseAudio libpulse / libpulse-simple — commonly LGPL-2.1-or-later.
- llama.cpp headers/runtime, when built in that mode — commonly MIT license;
  verify the exact version used.
- External STT/TTS runtimes, helpers, and model files — separately licensed.

Speech, TTS, AI model files, and model runtimes are not bundled with HyprTile by
default. Users may download models separately using helper scripts or documented
installation steps.

Model files remain under their own licenses and are not covered by the HyprTile
GPL license. Users and distributors are responsible for reviewing the license
terms of each model before use, redistribution, or commercial deployment.

## Tools invoked at runtime

Some HyprTile features call external command-line tools installed on the system,
including but not limited to:

- `hyprctl`
- `ffmpeg`
- audio utilities
- brightness utilities
- Bluetooth utilities
- NetworkManager / `nmcli` for Wi-Fi management
- shell commands used by configured launchers or user-defined actions

These tools remain separately licensed and are not redistributed or relicensed by
HyprTile.

## Distribution guidance

For a clean GPL-3.0-or-later source or binary release:

1. Dynamically link against system-provided libraries.
2. Provide the corresponding HyprTile source code for any distributed HyprTile
   binary.
3. Include `LICENSE`, `COPYING.GPL`, and this `THIRD_PARTY_NOTICES.md` file.
4. Preserve third-party license notices in bundled files such as `json.h` and
   protocol XML files.
5. Preserve attribution and license notices for bundled icon assets such as
   Remix Icon.
6. Do not ship private TLS keys as real credentials.
7. Do not ship local build artifacts such as `*.o`, `*.d`, temporary build trees,
   or machine-specific generated files unless intentionally included as source.
8. Do not bundle FFmpeg binaries unless you separately comply with FFmpeg's own
   license and build-configuration requirements.
9. Do not bundle AI/STT/TTS model files unless you separately comply with each
   model's license and redistribution terms.
10. Verify the exact licenses of all system libraries and optional components used
    by the binary package you ship.

## SDL_GameControllerDB

HyprTile can bundle `gamecontrollerdb.txt` from the SDL_GameControllerDB project
for broader SDL3 gamepad compatibility.

Project: mdqinc/SDL_GameControllerDB

License: zlib license, as declared by the upstream project.

The database remains under its upstream license and is loaded at runtime through
SDL3's `SDL_AddGamepadMappingsFromFile()` API. HyprTile's update helper downloads
the database from the upstream `master` branch; distributors should preserve the
upstream license notice when redistributing the database.
