Moonkale’s own code is MIT (LICENSE at the repository root, license = "MIT" in the workspace Cargo.toml, 2026-09-21). Anyone may use, copy, modify and redistribute it, with the copyright notice kept.

A built Moonkale is more than Moonkale. A binary, an APK or the web bundle combines the code here with third-party software, each piece under its own licence. They are all permissive (no GPL/LGPL-only code is in the tree), but “MIT” is not the whole story for a distributed artefact — their notices have to travel with it, and a few have conditions of their own:

wherewhatlicence
Rust (991 crates in Cargo.lock)the bulkMIT OR Apache-2.0 (≈430), MIT (136), Apache-2.0 (33)
bundled enginesDuckDB, LadybugDB/KuzuMIT
wasmtime + craneliftApache-2.0 WITH LLVM-exception
TypstApache-2.0
tree-sitter + grammars (rust, julia, python)MIT
rustls / ringApache-2.0 / ISC / MIT
ICU4X (icu_*, zerovec, …)Unicode-3.0
webpki-roots (Mozilla’s CA bundle)CDLA-Permissive-2.0
option-extMPL-2.0 (file-level copyleft; unmodified use is fine)
JavaScript in the appCodeMirror, Milkdown (ProseMirror, remark), xterm.js, KaTeXMIT
fontsKaTeX fonts (editors/markdown/assets/katex/)SIL OFL 1.1
the siteQuartzMIT

What this means in practice: a redistributed binary should ship a THIRD-PARTY notice file (Apache-2.0 asks for the NOTICE contents, MIT/BSD for the copyright lines, OFL for the font licence). It is not generated yet — a dx bundle step for the release process (Packaging Overview).

How to list everything: cargo install cargo-license && cargo license (Rust; cargo about produces the notice file), and npx license-checker in each packages/js/* package (JavaScript). The summary above was taken from cargo metadata on 2026-09-21.