Preset licensing
Music-visualization presets have been shared, remixed and re-shared for more than twenty years, often as bare files with incomplete authorship, license or lineage information. That makes it hard to preserve credit and hard to determine what a particular file permits. Spiroshader™ addresses that problem with portable metadata that can stay beside the preset and travel inside packages.
Licenses are data, not folklore
Every preset can carry a small companion file next to it with the facts a complete credit needs: who made it, who made the work it derives from, the copyright lines exactly as their holders wrote them, the license as a standard SPDX identifier (MIT, CC0, CC BY 4.0 and the like) or a custom license text shipped alongside, the exact attribution wording a licensor asks for, whether and how the file was modified, where it came from, who submitted it, and checksums that can identify referenced files and detect changes.
A package can name a default license for everything inside it, and ships the license texts the presets require. Spiroshader has the common open-source license texts built in, so it can show them even when a pack leaves them out; ship them anyway when the license requires its text to accompany the files.
The format is open: any tool can write it, and any tool can read it.
What Spiroshader does with it
- Shows the credits. The preset panel lists authors, copyright, license, source, submitter, the modification statement and the full lineage of a remix, with links wherever the file gives one. A preset without any of this says so plainly: “No license information”.
- Builds an attribution block from the metadata. One button copies the recorded title, authors, copyright lines, license and link, modification statement, source and lineage. A whole pack’s recorded credits can be copied at once. The block has the same format for every license, and a license can ask for its own wording, order, notices or placement. Treat it as a starting point: you remain responsible for checking the applicable license and satisfying its requirements.
- Detects referenced-file changes. When a preset carries checksums, Spiroshader verifies them and marks referenced files that have changed or are missing. That helps you spot when the metadata may no longer describe the same file set.
- Keeps it with the file. Credits travel inside packages and survive
moves between folders and machines. Ratings, favorites and tuning follow
the preset; a stable
externalIdin its companion file keeps them across renames and moves.
Spiroshader’s own presets: CC0 or 0BSD
The presets that ship with Spiroshader are released under CC0 1.0 or, at your option, the Zero-Clause BSD license (0BSD). CC0 is a dedication to the public domain. 0BSD grants the same freedoms as a license, with an explicit warranty and liability disclaimer, for the places and uses where a public-domain dedication does not fully apply. Either way, no attribution is required, there is no share-alike, and there are no conditions. Use them, remix them, ship them in your own pack, put them in a commercial video. We do this because the visualizer gains nothing from restricting its own presets and everyone gains from a base of visuals with no strings.
What it means for you
- A streamer or a venue can review recorded license metadata and copy available attribution into a description or program. Filtering by presets you have already reviewed makes it easier to keep a session within your chosen set.
- A collector importing an old MilkDrop folder can distinguish presets that carry license metadata from those that do not. Spiroshader does not invent a license for a bare file. “No license information” is not permission to redistribute or use the work commercially.
- A remixer records what the work was based on and what changed, in the file, once, and every copy from then on carries it.
This page explains how the software handles license information. It is not legal advice, and it cannot turn a file without a license into one with a license.
For authors
Attach a license by adding the companion file, or let your pack’s manifest set a default for every preset in it.
