Open-source licenses and third-party software
Last updated:
SkillAIVibe is built with a small number of open-source components. This page lists every one of them: the version bundled today, the licence it is distributed under, and what it is used for. The versions are read from the project's own dependency list when the site is built, so the table cannot go stale by being forgotten.
Where a component ships as a pre-built binary served from this site, the full text of its licence is placed in the same folder as the binary — so the licence travels with the code rather than existing only as a link on this page. That matters most for the two components under a GPL licence, the R runtime and the Java compiler, and for everything under the Apache licence, which asks that a copy of the licence accompany the work.
One thing is true of everything on this list: it is self-hosted. Every library, font and language runtime below is built into this site's own files and served from this site's own domain. None of it is pulled from a third-party CDN at runtime, which means your browser never makes a request to an outside company's servers just to load a piece of this site's software.
| Component | Version | License | What it is used for |
|---|---|---|---|
| Next.js | 16.3.5 | MIT License | The web framework this site is built with — it generates every page you read. |
| React | 19.2.8 | MIT License | Powers the site's interactive parts, including the code editor, the output console and the progress page. |
| Tailwind CSS | 4 | MIT License | Utility CSS, compiled at build time into this site's own stylesheet. Nothing is loaded from a CDN. |
| react-markdown | 10.1.0 | MIT License | Renders the lessons, exercises and articles, which are written in Markdown. |
| CodeMirror 6 | 6.43.11 | MIT License | The code editor in every playground, exercise and practice problem, with its Python, JavaScript/TypeScript, Java, C and C++, SQL, HTML and CSS language modes. |
| Pyodide | 314.0.6 | Mozilla Public License 2.0 | The Python execution engine — real CPython compiled to WebAssembly, so Python on this site runs as actual Python. Copied from its npm package at build time and served from this site. |
| CPython standard library (inside Pyodide) | — | Python Software Foundation License | The Python standard library, available inside the sandboxed runtime so imports like math, collections and itertools work as they do in real Python. |
| TypeScript | 5.9.3 | Apache License 2.0 | The TypeScript compiler itself, served from this site to your browser so TypeScript is genuinely type-checked rather than having its types stripped. Copied from its npm package at build time. |
| teavm-javac | build pinned 2026-09-12 | Apache License 2.0 | The Java toolchain — the OpenJDK Java compiler combined with TeaVM and compiled to WebAssembly, so Java is genuinely compiled and run in your browser. Self-hosted and pinned by SHA-256. |
| OpenJDK javac (compiled into teavm-javac) | — | GNU GPL v2 with the Classpath Exception | The actual Java compiler. The Classpath Exception is what allows it to be linked here without this site's own code becoming GPL-licensed. Corresponding source: openjdk/jdk25u on GitHub. |
| Emception | build pinned 2026-09-12 | MIT OR Apache-2.0 | The C and C++ toolchain: clang, lld and an Emscripten sysroot compiled to WebAssembly, so C and C++ are compiled and run in your browser. Loaded only when you start it; self-hosted and pinned by SHA-256. |
| LLVM / clang / lld (inside Emception) | Emscripten 3.1.24 build | Apache License 2.0 with LLVM Exceptions | The C++ compiler and linker themselves. |
| Emscripten (inside Emception) | 3.1.24 | MIT / University of Illinois NCSA | The system libraries and runtime glue that let a compiled C++ program run as WebAssembly. |
| sql.js | 1.14.2 | MIT License | The engine behind the SQL playground: SQLite compiled to WebAssembly. Its JavaScript is bundled into the sandbox, and its WebAssembly file is copied from its npm package and served from this site. |
| SQLite (inside sql.js) | 3.49.1 | Public domain | The database engine itself, which runs every SQL query in a fresh in-memory database that is discarded after the run. |
| ruby.wasm (@ruby/3.4-wasm-wasi) | 2.10.1 | MIT License | The Ruby execution engine — real CRuby compiled to WebAssembly via WASI, so Ruby on this site runs as actual Ruby. Copied from its npm package at build time. |
| CRuby (inside ruby.wasm) | 3.4.1 | Ruby License (2-clause BSDL, or GPLv2 at your choice) | The Ruby language interpreter itself. |
| php-wasm | 0.1.0 | Apache License 2.0 | The PHP execution engine — real PHP compiled to WebAssembly, so PHP on this site runs as actual PHP. Copied from its npm package at build time. |
| PHP (inside php-wasm) | 8.4 | The PHP License 3.01 | The PHP language interpreter itself. |
| webR | 0.6.0 | GNU GPL v3 (this binary distribution) | The R execution engine — real R compiled to WebAssembly, so R on this site runs as actual R. Copied from its npm package at build time; see the note below. |
| R (inside webR) | 4.6.0 | GNU GPL v2 / v3 | The R language interpreter itself, one of several GPL components webR's binary distribution bundles. |
| just-bash | 3.4.2 | Apache License 2.0 | A simulated bash shell, reimplemented in TypeScript rather than wrapping real bash — real syntax, variables, control flow and a wide slice of everyday coreutils, running entirely client-side with a small in-memory filesystem. Not a real system shell, and the Bash guide says so. |
| yaegi | commit fcb76d1e | Apache License 2.0 | A real Go interpreter, compiled to WebAssembly together with a small wrapper program of this site's own, so Go on this site runs as actual Go against its standard library. |
| Go (wasm_exec.js, inside the Go runtime) | 1.27.1 | BSD 3-Clause License | The WebAssembly host glue shipped with the Go SDK itself, needed to run a GOOS=js Go program inside a browser tab. |
| .NET WebAssembly runtime (Mono) & Roslyn | .NET 10.0.401, Roslyn 4.14.0 | MIT License | The real C# compiler (Roslyn) and the Mono runtime that runs the compiled result, both compiled to WebAssembly, so C# on this site is genuinely compiled and run, not simulated. |
| Basic.Reference.Assemblies | Basic.Reference.Assemblies.Net90 1.8.3 | MIT License | The .NET reference assemblies Roslyn compiles a learner's C# against, since a browser has none of the usual ones on disk. |
| Geist and Geist Mono | via next/font | SIL Open Font License 1.1 | The site's typefaces for prose and for code. Self-hosted: the font files are served from this site, never from a third party's servers. |
A note on the Java compiler specifically
It is worth being precise about this one, because "GPL" alarms people. The Java compiler shipped here is derived from OpenJDK, which is licensed under GPLv2 with the Classpath Exception. That exception exists precisely for this situation: it permits linking the code with independent modules without those modules becoming subject to the GPL. This site's own code, content and exercises are therefore not GPL-licensed by loading it. What redistributing it does oblige is naming the licence and pointing at the corresponding source, which is what the table above and the NOTICE.txt shipped alongside the compiler do.
One thing this project cannot claim: these are prebuilt binaries, and the exact OpenJDK revision they were compiled from is asserted by the upstream project's build configuration rather than provable from the files themselves, which carry no version metadata. Building from source is the only way to know it with certainty, and that has not been done here.
A note on R specifically
Unlike the Java compiler above, there is no Classpath-style exception here to soften it: webR's own licensing page states plainly that because its binary distribution bundles R itself along with other GPL-licensed pieces (libgfortran, Dragonegg), the webR binaries are distributed under the GNU GPL Version 3. That is stated here as GPL rather than as something friendlier-sounding on purpose. The R runtime is a large, separate WebAssembly download, fetched only when a visitor opens an R playground rather than bundled into this site's own JavaScript, and this site's own code, exercises and lessons remain under the terms set out on the Copyright Policy— but the webR binary itself, named plainly above, is GPLv3.
A note on the C++ toolchain
The C++ toolchain is a prebuilt output of the Emception project, whose own build has not worked upstream for some time, so it cannot be rebuilt here and cannot be independently reproduced. It is pinned by SHA-256 so that the bytes we reviewed are the bytes you get. It is Emscripten 3.1.24 from late 2022, which the security page and the C++ playground both say plainly.
What this list is, and is not
This list covers third-party software this site bundles — code and assets that ship as part of the site itself. It is separate from the question of what data the site sends or collects, which it does not do at all today: SkillAIVibe sets no cookies, runs no analytics, and includes no third-party trackers of any kind, as the Privacy Policy sets out. The words on this site, and the exercises, lessons and courses, are covered by the Copyright Policy.
If you notice this list is out of date with what the site actually ships, let us know.