Open-source software in Domainless Code
Domainless Code is built on these open-source projects. All of them are served from our own server — nothing is loaded from a third-party CDN — and every licence text is linked below.
The editor
- CodeMirror 6The code editor: syntax colours for 150+ languages, search and replace, brackets and folding. 52 packages, all MIT.Licence texts · codemirror.net
Running programs
- MicroPython 1.29 (WebAssembly)Runs Python projects in your browser. MIT, including the third-party parts its licence lists.Licence · micropython.org
- ulabnumpy-style arrays, in the Python build that projects using
numpyget. MIT.Licence · Source - Pyodide 314.0.7 — full Python (CPython 3.14) in WebAssemblyRuns a Python project when you choose “Run with full Python”. Pyodide is MPL-2.0; CPython is under the PSF licence, which lists the third-party parts it includes.Pyodide licence · CPython licence · pyodide.org
- numpy 2.4 and pandas 3.0 (with python-dateutil, pytz and six)Load in full Python when a program imports them. numpy and pandas are BSD-3-Clause (numpy's licence also covers the libraries it bundles); python-dateutil is Apache-2.0 or BSD-3-Clause; pytz and six are MIT.numpy · pandas · python-dateutil · pytz · six
- xterm.js 6.0 with its fit and image add-onsThe terminal a program prints to and reads your typing from; the image add-on shows plots inline. MIT.Licence · Fit add-on · Image add-on · xtermjs.org
- matplotlib 3.10 (with Pillow, fontTools, kiwisolver, contourpy, cycler, packaging and pyparsing)Draws charts in full Python. matplotlib's own licence is PSF-based, and the DejaVu and STIX fonts it ships come with their own licences (included in the same file); Pillow is MIT-CMU; fontTools and pyparsing are MIT; kiwisolver, contourpy and cycler are BSD-3-Clause; packaging is Apache-2.0 or BSD-2-Clause.matplotlib · Pillow · fontTools · kiwisolver · contourpy · cycler · packaging · pyparsing
- browser_wasi_shim 0.4.2Runs WebAssembly (WASI) programs. MIT or Apache-2.0; we use it under MIT.MIT · Apache-2.0 · Source
- ruby.wasm 2.10 — Ruby 3.4 with its standard libraryRuns Ruby projects. ruby.wasm is MIT; Ruby is under the 2-clause BSD licence or Ruby's own terms. The notice file lists every library compiled in (OpenSSL, zlib, libyaml, wasi-libc and more) with its licence.Licence · Notices · Source
- PHP 8.4 (php-wasm 0.2)Runs PHP projects as pages. php-wasm is dual-licensed Apache-2.0 or GPL-2.0, and we use it under Apache-2.0. PHP itself is under the PHP License 3.01 and the Zend Engine License; the notices file lists every other part inside it. PHP's bcmath library is under the LGPL 2.1, so the complete source code is offered here as that licence asks.php-wasm licence · PHP licence · Zend licence · LGPL 2.1 (bcmath) · Notices · Source code
- sql.js 1.14 with SQLite 3.49Runs SQL projects. sql.js is MIT; SQLite itself is in the public domain.Licence · sql.js.org · SQLite copyright
- wabt 1.0.39 (The WebAssembly Binary Toolkit)Compiles WebAssembly text (
.wat) projects before they run. Apache-2.0.Licence · Source - PGlite 0.5.8 with PostgreSQL 18.3Runs PostgreSQL projects. PostgreSQL is under the PostgreSQL License, and PGlite, its WebAssembly build, is under Apache-2.0 or the PostgreSQL License. The notices file has the licences of the libraries built in: ICU 76 (Unicode License v3) and libxml2 (MIT).PostgreSQL licence · PGlite licence · Notices · Source
- SWI-Prolog 10.1 (swipl-wasm 8.1)Runs Prolog projects. SWI-Prolog is under the 2-clause BSD licence and, by its own account, holds only permissively licensed parts; the notices file covers the ones built in: PCRE2 (BSD), zlib, and LibBF (MIT).Licence · Notices · Source
- Chibi-Scheme 0.12, built for WebAssembly (WASI)Runs Scheme projects. Chibi-Scheme is under the 3-clause BSD licence; the notice file says exactly how we built and changed it for WASI. Built in: wasi-libc (MIT, with musl and cloudlibc), dlmalloc (public domain) and LLVM's compiler-rt (Apache-2.0 with LLVM exceptions).Licence · What we changed · Notices · Source
- Lua 5.5.1, built for WebAssembly (WASI)Runs Lua 5.5 projects in the terminal: Lua's own interpreter and standard library, unchanged, under the MIT licence; the notice file says how we built it for WASI. Built in: wasi-libc (MIT, with musl and cloudlibc), dlmalloc (public domain) and LLVM's compiler-rt (Apache-2.0 with LLVM exceptions).Licence · How we built it · Notices · lua.org
- AssemblyScript 0.28, with Binaryen and its WASI shimCompiles AssemblyScript projects (with an
asconfig.json) to WebAssembly in your browser, then runs them in the terminal: the AssemblyScript compiler (its notice names its contributors), Binaryen 131 (the optimizer it uses), long.js and @assemblyscript/wasi-shim, all under the Apache-2.0 licence and unchanged but for four import lines a browser needs (the patch note says which).Licence · Notice · Binaryen · long.js · WASI shim · What we changed · assemblyscript.org - ECL 26.5 (Embeddable Common Lisp), built for WebAssemblyRuns Common Lisp projects in the terminal. ECL is under the GNU LGPL, version 2.1 or later, and so is the GMP 4.2.1 inside it; also inside: the Boehm-Demers-Weiser garbage collector (its own permissive licence) and emscripten's runtime (MIT or NCSA, with musl, compiler-rt and dlmalloc). As the LGPL asks, the complete source and our build kit are here, so you can rebuild it, changed or not.Licence texts · Source offer · ECL on GitLab
- R 4.6 (webR 0.6), with R's built-in packagesRuns R projects in your browser. The webR project distributes it under the GNU GPL, version 3 (R itself is GPL-2 or GPL-3), so the complete source code of everything in it is offered here: R, webR's build and patches, every library inside, and our two small changes. Inside: PCRE2, XZ, zlib and bzip2, and for R's graphics Cairo, pixman, FreeType, Fontconfig, libxml2, libpng, libjpeg, libtiff, Pango, GLib, HarfBuzz and FriBidi; R's png() and svg() write text with the Liberation fonts (SIL Open Font License). This software is based in part on the work of the Independent JPEG Group, and portions of it are copyright © 2024 The FreeType Project (www.freetype.org).Licence texts · Source code · r-project.org · webR
Compiled languages: C, C++, COBOL, Rust, Go, Dart and Java
- clang 22 (LLVM 22.1.8) with wasi-libc and libc++ from wasi-sdk 34, and compiler-rtclang compiles C and C++ projects to WebAssembly on our own compile server; the compiler never leaves it. Every program it builds contains the WebAssembly C library (wasi-libc, from wasi-sdk 34: MIT, with parts from musl, cloudlibc and dlmalloc) and LLVM's compiler-rt; C++ programs also contain libc++ and libc++abi (LLVM 23.1, from wasi-sdk 34). The LLVM parts are under the Apache License 2.0 with LLVM Exceptions, which asks for no notice in compiled programs; the file lists every text anyway.Licence texts · llvm.org · wasi-sdk · wasi-libc
- GnuCOBOL 3.2: its run-time library libcob, and GMP 6.3.0GnuCOBOL's cobc translates COBOL projects to C on our own compile server and clang compiles that to WebAssembly; cobc (GPL-3.0) never leaves the server. Every COBOL program contains libcob, with our changes for WebAssembly, and the GNU MP library (both under the LGPL-3.0; GMP is offered under it or the GPL-2.0), plus the same C library and compiler-rt as C programs. As the LGPL asks, the complete sources, our patch and a build kit to rebuild them and relink a program are on this server.Licence texts · Sources and build files · gnu.org/software/gnucobol · gmplib.org
- Rust 1.99: its standard library (core, alloc, std and the crates they are built from) for WebAssembly, with the wasi-libc that comes with itrustc compiles Rust projects to WebAssembly on our own compile server; the compiler never leaves it. Every Rust program contains Rust's standard library, under the MIT licence or the Apache License 2.0 (core's Unicode tables under the Unicode License v3, and a few crates also offering other terms, as the Rust project lists them), and the WebAssembly C library that comes with it (wasi-libc: MIT, with parts from musl, cloudlibc and dlmalloc). No other crates are used.Licence texts · The Rust project's list · rust-lang.org
- Go 1.27: its runtime and standard library for WebAssembly (wasip1)Go 1.27.2 (FreeBSD's package, built from the Go project's own source) compiles Go projects to WebAssembly on our own compile server; the compiler never leaves it. Every Go program contains Go's runtime and the parts of its standard library it uses (with the golang.org/x packages vendored into it), under the BSD 3-Clause licence, with the Go project's patent grant. No other modules are used.Licence texts
- Dart 3.13: its core libraries and dart2js's JavaScript run-time, and dl_io, our dart:io for the browserThe Dart SDK 3.13.5 (the Dart project's official Linux build) compiles Dart projects to JavaScript on our own compile server; the compiler never leaves it. Every Dart program contains the parts of Dart's core libraries it uses and dart2js's JavaScript run-time, under the BSD 3-Clause licence; a program that uses BigInt also contains code under an MIT-style notice (Tom Wu, Adam Singer), which the program carries too. A program that imports dart:io contains dl_io, the dart:io Domainless Code wrote for programs in the browser (the console, the project's files, Platform). No packages from pub.dev are used.Licence texts · dl_io's source
- Java 25: TeaVM 0.16's Java library and JavaScript run-time, and Domainless Code's changes to themOpenJDK 25.0.4 (FreeBSD's package) compiles Java projects with javac on our own compile server, and TeaVM 0.16 turns them into JavaScript there; neither leaves it, and nothing of the JDK's own library goes into a program. Every Java program contains the parts it uses of TeaVM's Java library and run-time, under the Apache License 2.0 (TeaVM's authors, with parts from Apache Harmony and Joda-Time), java.time from ThreeTen-Backport under the BSD 3-Clause licence, Unicode data under the Unicode licence, Java's math functions as fdlibm 5.3 computes them (ported from Sun Microsystems' C, under its permission notice, which the licence texts keep), and the changes Domainless Code made so programs behave as on Java's own JVM (Apache-2.0; each changed file says so). No libraries from Maven are used.Licence texts · our changes' source (earlier versions': 2, 1)
TypeScript, Sass, Less, Markdown, React, Vue and Svelte
- TypeScript 6.0Compiles
.ts,.tsxand.jsxfiles when a web project runs. Apache-2.0, with the third-party notices it ships.Licence texts · typescriptlang.org - Dart Sass 1.105 (with Immutable.js)Compiles
.scssand.sassstylesheets. Both MIT.Licence texts · sass-lang.com - Less 4.9Compiles
.lessstylesheets. Apache-2.0.Licence texts · lesscss.org - marked 18Turns Markdown into a page. MIT.Licence texts · marked.js.org
- KaTeX 0.19 and its fontsDraws the math in Markdown pages (
$…$,$$…$$,```math). KaTeX is MIT; its fonts (from MathJax and Khan Academy) are under the SIL Open Font License 1.1, each font's own notice included.Licence texts · katex.org - Mermaid 12Draws
```mermaiddiagrams in Markdown pages, loading each kind of diagram only when a page has one. MIT, with the packages it builds on (d3, dagre, cytoscape, DOMPurify and others, each listed with its licence: MIT, ISC, BSD, Apache-2.0 or the Unlicense). Its ELK layout (EPL-2.0), which Mermaid 12 uses by default, is left out: diagrams are laid out with dagre (MIT), Mermaid's classic layout.Licence texts · mermaid.js.org - React 19.3 and React DOM (with scheduler)Ready to import by name in web projects; JSX uses React unless a file asks for Preact. MIT.Licence texts · react.dev
- Preact 11A small alternative to React, also ready to import by name. MIT.Licence texts · preactjs.com
- Vue 3.5 with its single-file-component compilerCompiles
.vuecomponents when a web project runs (<script setup>, templates, scoped styles), and is ready to import by name asvue, templates written in a page's HTML included. MIT. Vue's compiler build carries packages Vue folded into it, each listed with its licence text in the same file: Babel's parser and PostCSS (MIT), entities (BSD-2-Clause), source-map (BSD-3-Clause), picocolors (ISC) and Node.js's own path and URL code (MIT).Licence texts · vuejs.org - Svelte 5.57Compiles
.sveltecomponents and.svelte.js/.svelte.tsmodules when a web project runs; its runtime is ready to import by name (svelte,svelte/store,svelte/transition…). MIT; its compiler includes acorn, magic-string and others (MIT) and aria-query and axobject-query (Apache-2.0).Licence texts · svelte.dev
Files and ZIPs
- JSZip 3.10.1Reads and writes ZIP files, for opening a ZIP as a project and for Export. MIT or GPLv3; we use it under MIT.Licence · stuk.github.io/jszip
Firmware and Lua projects
- v86The x86 emulator that boots asm (BIOS) projects. BSD 2-Clause.Licence · Source
- SeaBIOS 1.16.2 and its VGA BIOSThe BIOS the emulator starts before your boot sector. LGPL-3.0; the exact source of the version we serve is here too.LGPL-3.0 · GPL-3.0 (which the LGPL builds on) · Source code (SeaBIOS 1.16.2)
- Fengari 0.1Runs Lua page sketches (Lua 5.3) in your browser. MIT.Licence · fengari.io
Tools that run only on our servers — like the NASM assembler and the GNU-EFI toolchain that build asm and C (UEFI) projects — are never sent to your browser, so they aren't listed here; clang, GnuCOBOL, rustc and Go are listed above because the libraries they build into C, C++, COBOL, Rust and Go programs are sent to you. Everything else in Domainless Code is our own work.