← Back to the studio

Scratch Studio: source and licences

This is an independent, offline integration of Scratch GUI 5.3.0, from the Scratch Foundation. It is not endorsed by the Foundation. The editor, block language, painter and official asset libraries are retained. Mabni supplies local storage, file handling and an offline shell.

Corresponding source

Download the complete preferred GUI source, pinned to commit eeff02c1f99b92db50f942b8f269b98188d70937. Every Git blob was verified against the upstream tree. Git tree manifest.

The integration source is directly readable in offline.js, offline.css, index.html and project download helper. These Scratch integration files are licensed under AGPL-3.0-only. This licence supersedes general Mabni notices for these files.

GNU AGPL v3 licence · Scratch trademark notice · React MIT licence · React DOM MIT licence. Scratch library assets retain their upstream credits; the Scratch asset library is licensed under CC BY-SA 2.0, subject to the Scratch trademark policy. No ownership of Scratch characters is claimed.

Exact direct Scratch dependency sources (including their licences) are included here:

Build and integration

For development, extract the source, install Node.js and npm, then run npm ci and npm run build. Dependency installation requires internet access; the deployed editor does not. The shipped runtime is the published 5.3.0 distribution, with the single library-thumbnail URL patch documented in mabni-library.patch. Apply that patch to src/containers/library-item.jsx before rebuilding. Copy dist/ into scratch/editor/, retain the React 16.14.0 UMD files, and run the included distribution patch script if using the published bundle instead of rebuilding.

Keep scratch/assets/ beside the editor; the manifest gives the size and SHA-256 of all 1,331 local library files. The wrapper maps storage to these files, uses direct local fetches, hides unsupported internet/Link extensions and routes tutorials to local starter cards. Do not deploy the upstream example index pages in place of the Mabni wrapper.

Projects are held in profile-scoped IndexedDB and exported as self-contained .sb3 files. The local server supplies application files; exports stay in the browser. Music, Pen and Video Sensing are available. Camera/microphone features depend on browser permission and a secure context (localhost or trusted HTTPS). Imported internet-dependent projects remain internet-dependent and cannot use those services in this offline build.