Open Source Acknowledgements.
Every Datum application depends on open source software. The libraries listed here represent years of collective effort by people who chose to share their work. We use that work with gratitude and in compliance with every licence involved.
Rust Crates
The Datum backend is Rust. Our workspace pulls in over 700 external crates, nearly all dual-licensed under MIT and Apache-2.0. These are the direct dependencies that do the heavy lifting.
Application framework
- Tauri — MIT / Apache-2.0 — Desktop application framework. Our apps ship as native binaries with a web-rendered UI.
- wry — MIT / Apache-2.0 — Cross-platform webview library that Tauri builds on.
- tao — MIT / Apache-2.0 — Cross-platform windowing.
- muda — MIT / Apache-2.0 — Native menu bar across macOS, Windows, and Linux.
Serialisation and data
- serde — MIT / Apache-2.0 — Serialisation framework. Everywhere.
- serde_json — MIT / Apache-2.0 — JSON parsing and generation.
- toml — MIT / Apache-2.0 — TOML configuration parsing.
- csv — MIT / Unlicense — CSV reading and writing.
Async and concurrency
- tokio — MIT — Asynchronous runtime. The backbone of all our concurrent I/O.
- crossbeam — MIT / Apache-2.0 — Lock-free data structures and scoped threads.
- rayon — MIT / Apache-2.0 — Data parallelism for CPU-bound work.
Audio and media
- cpal — MIT / Apache-2.0 — Cross-platform audio I/O.
- symphonia — MPL-2.0 — Pure Rust audio decoding (WAV, FLAC, AAC, MP3).
- rubato — MIT — Asynchronous audio sample rate conversion.
- ffmpeg-sys-next — WTFPL — FFmpeg FFI bindings for video decode.
Graphics and GPU
- wgpu — MIT / Apache-2.0 — Cross-platform GPU abstraction for rendering and compute.
- naga — MIT / Apache-2.0 — Shader translation and validation.
- image — MIT / Apache-2.0 — Image encoding and decoding.
Hashing and integrity
- xxhash-rust — MIT / BSL-1.0 — Fast non-cryptographic hashing for file verification.
- sha2 — MIT / Apache-2.0 — SHA-256 and SHA-512 for cryptographic checksums.
- md-5 — MIT / Apache-2.0 — MD5 hashing for legacy media hash lists.
Networking and HTTP
- reqwest — MIT / Apache-2.0 — HTTP client.
- url — MIT / Apache-2.0 — URL parsing.
Error handling and logging
- thiserror — MIT / Apache-2.0 — Derive macros for error types.
- anyhow — MIT / Apache-2.0 — Flexible error handling.
- tracing — MIT — Structured logging and diagnostics.
Colour science
- rawloader — MIT — RAW photo parsing supporting 700+ camera models.
JavaScript and TypeScript Packages
The Datum UI layer uses React and TypeScript, supported by around 900 npm packages. The vast majority are MIT-licensed.
UI framework
- React — MIT — User interface library.
- zustand — MIT — Lightweight state management.
- React Aria — Apache-2.0 — Accessible UI primitives.
- Radix UI — MIT — Unstyled, accessible component primitives.
Styling and build
- Tailwind CSS — MIT — Utility-first CSS framework.
- Vite — MIT — Frontend build tool and dev server.
- lightningcss — MPL-2.0 — CSS parsing and minification (build-time only).
Website
- Astro — MIT — Static site generator powering this website.
- sharp — Apache-2.0 — Image processing for build-time optimisation.
Dev tooling
- TypeScript — Apache-2.0 — Type system for JavaScript.
- ESLint — MIT — Code linting.
- Vitest — MIT — Test runner.
- Playwright — Apache-2.0 — End-to-end testing.
Optional Runtime Dependencies
Some Datum applications can use external libraries installed on your system. These are not bundled with Datum and are not required to run the software.
FFmpeg
Phosphor and other media tools can use FFmpeg for video decode. FFmpeg is not linked into or distributed with Datum. When present on a user's system, Datum calls it at runtime via dynamic linking. FFmpeg's own licence depends on how it was built — typically LGPL-2.1 or GPL-2.0 depending on enabled codecs. Datum's code never enables GPL features and requires only LGPL-compatible decoders. Users supply their own FFmpeg installation.
OpenColorIO
Phosphor and Manifold can use OpenColorIO (OCIO) for colour management. OCIO is licensed under BSD-3-Clause and is an industry standard maintained by the Academy Software Foundation. Like FFmpeg, it is an optional system dependency — not bundled with Datum.
MediaInfo and ExifTool
Plate and other tools use MediaInfo (BSD-2-Clause) and ExifTool (Artistic License / GPL) for metadata extraction. These are invoked as external command-line tools, not linked into Datum binaries.
Licence Policy
We enforce our dependency licence policy automatically using
cargo-deny.
Our policy allows permissive licences (MIT, Apache-2.0, BSD, ISC, Zlib, BSL-1.0,
CC0, Unlicense) and weak copyleft (MPL-2.0) while blocking strong copyleft
(GPL, AGPL, SSPL). The full policy is defined in
deny.toml at the root of our source repository.
Complete dependency lists with licence information can be generated from the source
using cargo deny list for Rust crates and standard npm tooling for
JavaScript packages.
Thank You
Open source is not a cost centre. It is the foundation that makes software like Datum possible. To every maintainer, contributor, and reviewer behind the projects listed here and the hundreds more in our transitive dependency tree — thank you.
If you maintain a project used by Datum and have questions about how we use it, email legal@datum.film.