Use public Topaz source under Apache-2.0 and official executables under the terms supplied with their components. You can use Topaz for personal, educational and commercial work.
Choose the component terms
| Component | Terms |
|---|---|
| Topaz compiler source, generated Rust and runtime in the compiler seed | Apache-2.0 |
| Official executables from 5.21.0 | Separate executable terms with Apache and third-party component rights retained |
| npm installer wrapper | Apache-2.0; its downloaded executable has separate component terms |
| Your programs and data | You retain your rights; generated output carries its output grant and runtime notices |
| Previously published Apache material | Existing Apache-2.0 grants remain effective |
The executable grant permits downloading, installing, running and copying on any number of computers. This includes commercial services, hosted services and automated builds. You may redistribute unmodified executables with their terms and required notices. Normal use does not require a fee. Apache and third-party components retain their own modification and redistribution rights. Previously published Apache code does not become proprietary under this policy. Trademarks are separate.
The executable and generated-output grants do not require publication of your Topaz source. Included runtimes and third-party code retain their own licenses and required notices.
Build the compiler from its seed
From 5.21, each release publishes one compiler seed archive at topaz.ooo/dl/v<version>/. The seed holds the compiler written in Topaz, the Rust that compiler generates and the runtime that builds that Rust, all under Apache-2.0.
The build script in the seed builds the generated Rust with Cargo into a compiler. That compiler compiles the seed's Topaz source again and produces the same Rust the seed holds. The script compares the two byte for byte. The build needs the Rust toolchain, including Cargo.
Each release goes through the same comparison before publication. A release whose two Rust outputs differ is not published.
Published downloads and retention
Install lists the current release and available earlier releases. Withdrawn releases are excluded from the download list and from the current release selected by latest.json. Their published files remain available unchanged at their versioned URLs for verification and reproduction. The mutable latest.json pointer selects the current release. Existing Apache and third-party rights remain effective.
The current release is Topaz 5.21.3. Download its executables and compiler seed from Install. The releaseVersion field in version.json and the download manifest record the same release version.
Site terminology
| Term | Meaning |
|---|---|
| Compiler seed | The archive published with each release that holds the Topaz compiler source, generated Rust and runtime |
| Generated Rust | Rust code the Topaz compiler generates from Topaz source |
| Executable terms | The binary grant accompanying component licenses |
Bootstrap input limits
The seed runner reads bootstrap requests within a 128 MiB byte limit and compiler source files within a cumulative 64 MiB limit. It applies the remaining byte budget while reading, so oversized input is rejected without first allocating the complete file. The limits count UTF-8 bytes.