# Music Builders: source, license and provenance This LearnPlay adaptation is licensed under GNU AGPL version 3 or later. Copyright 2026 LearnPlay contributors. The original `musicutils-rhythm.js` is copyright (c) 2016–23 Walter Bender, AGPL-3.0-or-later, and is included without modification from Sugar Labs Music Blocks commit: `0ff83c9affbfa5e45eed5b8b177b67d765dadfe9` Original source: https://github.com/sugarlabs/musicblocks/blob/0ff83c9affbfa5e45eed5b8b177b67d765dadfe9/js/utils/musicutils-rhythm.js License text: [COPYING](COPYING). The actual upstream `getMeasurePosition` function computes displayed beats and `convertFactor` maps block durations to musical notation in this adaptation. Other upstream functions remain unmodified but are not used. No other Music Blocks application modules, public Planet service, remote APIs, account system, tracking, audio samples or assets are loaded. This is not the complete editor. Complete corresponding source, with no compilation step: - [/music-builders.html](/music-builders.html) — page and activity styles - [/music-builders.js](/music-builders.js) — new activity logic - [/vendor/musicblocks/musicutils-rhythm.js](/vendor/musicblocks/musicutils-rhythm.js) — unmodified upstream source - [/play-lab.js](/play-lab.js), [/play-lab.css](/play-lab.css) — shared LearnPlay helper and styles - [/game-menu.js](/game-menu.js), [/game-menu.css](/game-menu.css) — shared navigation Download these files preserving their URL-relative layout and serve their folder with a static HTTP server (for example `npx http-server .`). There is no package installation, build script, key, server API, generated code or hidden source needed to run or modify this activity. Shared dependencies retain their own permissive notices; this combined adaptation is offered under AGPL-3.0-or-later. Edits in this adaptation: all page/UI logic is new, building a small tap-to-add note/rest/repeat activity rather than loading the upstream editor. The original rhythm module is unmodified. Notes are synthesized locally; no sampled audio is included. Child creations are session-only and never uploaded.