Licences of the open-source dependencies#
The open-source dependencies this repository uses, with their licences. The list was checked against git submodule status, third_party/CMakeLists.txt (FetchContent), the vendored sources under third_party/ and third_party/OxidANT/crates/webgpu_renderer/Cargo.toml. Every licence entry comes from the cited licence file, read on disk, or from the license field of the Cargo metadata, not from assumptions. For legally binding terms, the cited licence file itself is authoritative.
Created in the repository on request. Verification history:
2026-08-02: last full verification against the disk; the Rust crate licences also against
cargo metadata --format-version 1 --lockedin the:latest-crosscontainer (full crates.io registry).2026-09-25: the pins that had moved since (imgui, glfw, nlohmann/json, google/benchmark, OxidANT, ANTfrastructure) and the crate versions (log, wgpu, pollster, glam, egui, egui-wgpu, egui-winit) updated, their licences read from disk again; the other rows unchanged.
2026-10-07: the pins of imgui, nlohmann/json, google/benchmark, spdlog, abseil-cpp, Microsoft GSL and OxidANT and glam 0.34.1 updated; the licence files of the four submodules are unchanged across the moved ranges (
git diffempty). That evening nlohmann/json moved to 367336c83 and Microsoft GSL to v5.0.1;LICENSE.MITand GSL’sLICENSEare unchanged across both ranges.
Git submodules under third_party/ (shipped)#
Project |
URL |
Pin |
Licence (per licence file) |
File checked |
|---|---|---|---|---|
tinyobjloader |
https://github.com/tinyobjloader/tinyobjloader |
v2.0.0rc10-73-g45636bd |
MIT |
|
glm |
https://github.com/g-truc/glm |
6f14f479 |
Dual: “The Happy Bunny License or MIT License” |
|
imgui |
https://github.com/ocornut/imgui |
v1.92.9b-112-gf502f9c98 |
MIT |
|
stb |
https://github.com/nothings/stb |
2c980bb5 |
Dual: MIT or public domain (your choice) |
|
glfw |
https://github.com/glfw/glfw |
3.5.1-1-g92dcf4ce |
zlib/libpng licence text |
|
Vulkan Memory Allocator (VMA) |
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator |
3aa92122 |
MIT licence text (Copyright AMD) |
|
nlohmann/json |
https://github.com/nlohmann/json |
v3.11.3-695-g367336c83 |
MIT |
|
google/benchmark |
https://github.com/google/benchmark |
v1.9.5-143-g39a78e3 |
Apache-2.0 |
|
spdlog |
https://github.com/gabime/spdlog |
v1.17.0-53-gd6c93f38 |
MIT; contains a bundled {fmt} (MIT) |
|
google/fuzztest |
https://github.com/google/fuzztest |
704efb34 (2026-06-29) |
Apache-2.0; an additional Lucent notice for |
|
kompute (only the optional playground, |
https://github.com/KomputeProject/kompute |
v0.9.0-99-g267e019 |
Apache-2.0 |
|
cgltf |
https://github.com/jkuhlmann/cgltf |
v1.15-11-g85cd623 |
MIT licence text (Copyright Johannes Kuhlmann) |
|
tomlplusplus |
https://github.com/marzer/tomlplusplus |
v3.4.0-50-g1e8829b |
MIT |
|
Vendored sources (no submodule)#
Project |
URL |
Licence (per file headers) |
File(s) checked |
|---|---|---|---|
KTX (KTX-Software, partly vendored: |
https://github.com/KhronosGroup/KTX-Software |
Apache-2.0 (SPDX header in |
|
KTX-Software’s full LICENSE.md is not vendored
(third_party/KTX/LICENSE.md does not exist), so the third-party components
embedded under third_party/KTX/lib/ were verified one by one on disk, from a
vendored licence file or from the source file’s own licence header:
Component |
Licence |
File checked (each under |
|---|---|---|
basisu (encoder + transcoder) |
Apache-2.0 (Copyright Binomial LLC) |
|
zstd (bundled in basisu) |
BSD-3-Clause; the file header also offers GPLv2 (“You may select, at your option, one of the above-listed licenses”) |
|
LodePNG |
zlib licence text (Copyright 2005-2019 Lode Vandevenne) |
licence header in |
jpgd |
Public domain (Rich Geldreich) |
licence header in |
stb_image / stb_image_write |
Dual: MIT (“ALTERNATIVE A”) or public domain/Unlicense (“ALTERNATIVE B”), your choice |
licence block at the end of |
tinyexr |
BSD-3-Clause (Copyright 2014-2019 Syoyo Fujita and contributors) |
licence header in |
etcdec.cxx |
No OSI licence: “Ericsson Texture Compression Codec Software License Agreement”, a non-exclusive, non-transferable, free, perpetual, worldwide single licence with its own terms |
licence header in |
astc-encoder (Arm) |
Apache-2.0 |
SPDX header |
dfdutils (Khronos) |
Apache-2.0; individual files taken from MIT projects are MIT |
|
etcdec.cxx is the only component in the whole tree that is not under an
OSI-approved licence. For redistribution, the wording of the SLA in its file
header is authoritative.
Build-time dependencies via FetchContent (third_party/CMakeLists.txt, not checked in)#
Each licence was read from the LICENSE file of the local FetchContent checkout
under build*/_deps/. Those checkouts are not checked in; the paths record
which file was actually read.
Project |
URL |
Pin |
Licence (per licence file) |
File checked |
|---|---|---|---|---|
abseil-cpp |
https://github.com/abseil/abseil-cpp |
20260817.0 ( |
Apache-2.0 |
|
googletest (only with |
https://github.com/google/googletest |
v1.18.0 (tag archive) |
BSD-3-Clause licence text (Copyright Google Inc.) |
|
Microsoft GSL |
https://github.com/microsoft/GSL |
v5.0.1 |
MIT |
|
Corrosion (only with |
https://github.com/corrosion-rs/corrosion |
c4786e7a (a commit; v0.6.1 lacks later fixes) |
MIT |
|
ANTLR4 C++ runtime (transitive, via FuzzTest) |
https://github.com/antlr/antlr4 |
pinned by FuzzTest |
BSD-3-Clause licence text (The ANTLR Project) |
|
RE2 (transitive, via FuzzTest) |
https://github.com/google/re2 |
pinned by FuzzTest |
BSD-3-Clause licence text (The RE2 Authors) |
|
Internal, project-specific submodules#
Project |
URL |
Pin |
Licence |
Source checked |
|---|---|---|---|---|
OxidANT |
https://github.com/Kataglyphis/OxidANT |
d610fb49 (develop) |
MIT ( |
|
ANTfrastructure |
https://github.com/Kataglyphis/ANTfrastructure |
7d819f77 |
MIT per |
|
Rust crate dependencies (third_party/OxidANT/crates/webgpu_renderer/Cargo.toml, [dependencies])#
Versions per third_party/OxidANT/Cargo.lock.
Source of the licence entries: the license field of the Cargo metadata,
exactly the field the crate published on crates.io, copied unchanged (hence,
for example, the old separator in pollster). No entry comes from a README, a
neighbouring version or a guess.
Rows unchanged since 2026-08-02: read for the exact version in
Cargo.lockon 2026-08-02 in the:latest-crosscontainer of the time (volumecargo-cache; it held the full registry, while the host cache was incomplete because the crate builds run in the container) with the command below. Thesourceof every package was checked as well; all areregistry+https://github.com/rust-lang/crates.io-index.cargo metadata --format-version 1 --locked # CARGO_HOME=/cargo-cache
Rows updated on 2026-09-25 (a new lock version): the same
licensefield, read in theCargo.tomlof the exact version in the host’s registry cache (scoop/persist/rustup/.cargo/registry/src) or, for the patchedegui-winit, in the vendoredthird_party/OxidANT/third_party/egui-winit-0.36.2/Cargo.toml([patch.crates-io]inthird_party/OxidANT/Cargo.toml).eguiandegui-wgpu0.36.2 are not in that cache; their entry was read from 0.36.1 (see “Unverified, to check”).
Crate |
Version (lock) |
Licence ( |
Source checked |
|---|---|---|---|
anyhow |
1.0.104 |
MIT OR Apache-2.0 |
|
log |
0.4.34 |
MIT OR Apache-2.0 |
|
bytemuck |
1.25.2 |
Zlib OR Apache-2.0 OR MIT |
|
env_logger |
0.11.11 |
MIT OR Apache-2.0 |
|
wgpu |
30.0.1 |
MIT OR Apache-2.0 |
|
winit |
0.30.13 |
Apache-2.0 |
|
pollster |
1.0.1 |
Apache-2.0/MIT |
|
glam |
0.34.1 |
MIT OR Apache-2.0 |
|
gltf |
1.4.1 |
MIT OR Apache-2.0 |
|
bevy_mikktspace |
1.0.0 |
Zlib AND (MIT OR Apache-2.0) |
|
egui |
0.36.2 |
MIT OR Apache-2.0 |
|
egui-wgpu |
0.36.2 |
MIT OR Apache-2.0 |
|
egui-winit |
0.36.2 (vendored patch) |
MIT OR Apache-2.0 |
|
ktx2 |
0.5.0 |
Apache-2.0 |
|
Notes on single entries:
winit 0.30.13 and ktx2 0.5.0 are not dual-licensed but plain Apache-2.0, unlike the other crates in this table.
bevy_mikktspace 1.0.0 is a compound expression: the vendored MikkTSpace C code is under Zlib, the Rust part dual MIT/Apache-2.0; both conditions apply at once (
AND).pollster 1.0.1 uses the deprecated slash notation
Apache-2.0/MIT; it means a choice (equivalent toApache-2.0 OR MIT).
Toolchain (build time, not shipped)#
Tool |
Origin |
Licence |
|---|---|---|
slangc (Slang shader compiler) |
From the installed Vulkan SDK ( |
Toolchain, not shipped; licence not verifiable from the repository |
Unverified, to check#
Open since the check of 2026-09-25:
ANTfrastructure, the MIT/Apache contradiction is back:
LICENSEsays MIT and 275 of its own files carrySPDX-License-Identifier: MIT, but 25 of its own files carrySPDX-License-Identifier: Apache-2.0again, together with “All rights reserved.” (among themwindows/scripts/host/*.ps1,windows/scripts/build/Build-*All.ps1,windows/scripts/modules/WindowsSourceBuild.Common.psm1,.claude/hooks/guard-destructive-deletes.*). To be fixed in ANTfrastructure, not here.egui / egui-wgpu 0.36.2: the
licensefield was read from 0.36.1, because 0.36.2 is not in the host cache; confirm it for the exact version withcargo metadata --lockedin the container.
Resolved on 2026-08-07:
ANTfrastructure, missing LICENSE: the submodule now carries a
LICENSEfile; its pin was also corrected from2ac69e95to the then current45709430.ANTfrastructure, MIT/Apache contradiction: resolved in favour of MIT.
LICENSEsaid MIT while 101 of its own source files carriedSPDX-License-Identifier: Apache-2.0and two of the three image definitions set the OCI labelApache-2.0. All three places say MIT now, and the phrase “All rights reserved.”, which contradicts MIT, left the headers. Not touched:linux/webserver/dist/assets/NOTICESanddocs/deps/deps.json, which state third-party licences (among them Apache 2.0 for LLVM, TVM, OpenCV, Vulkan SDK) and stay correct.
Resolved on 2026-08-02:
The 11 previously unverified Rust crates (env_logger, wgpu, winit, pollster, glam, gltf, bevy_mikktspace, egui, egui-wgpu, egui-winit, ktx2), verified from
cargo metadatain the container (crate table above).anyhow,logandbytemuck, verified for the exact lock version instead of a neighbouring cached one; their licence expressions did not change.The embedded third-party parts in
third_party/KTX/lib/, verified one by one from the files on disk (table under “Vendored sources”).
Notes#
Removed since the state of 2026-03-26: glad (no
third_party/gladsubmodule any more, no glad or OpenGL loader references underSrc/) and KTX as a submodule (now partly vendored, see above).Kompute is built only with
KATAGLYPHIS_BUILD_KOMPUTE_PLAYGROUND=ON(a demo, not part of the engine, in no package). Since 2026-10-06 only the Linux CI jobclang-testsdoes that, and it also starts the playground; Kompute then fetches fmt 11.0.0 through FetchContent.