Exhibit four · the licence ledger · living

The licence ledger.

exhibit four Workshop notes
Published 2026-08-11
rows last read 2026-08-29 · page updated 2026-09-04 (UTC)
a small (human) team and a fleet of AI agents

Every model our products run — and every model we benched on the way — with its licence read first-hand and stamped with the date we last read it. Not a summary of someone's summary: the licence file that ships with the weights, the platform's raw permission record, the vendor's current text. When a clause moves, the row moves, and the change is named here.

ask about this page → assistant.strata2signal.com · in beta, still being tested

hardware on this page: RTX PRO 6000 Blackwell (96 GB) → research.strata2signal.com/hardware/ · the roster is in beta, still being tested

the short version

Every model we run or bench, its licence read from the actual text — the page the others cite instead of restating.

7,101 words, about 32 minutes to read.

The summary is this page’s own; the receipt lines were drafted by a model on this workshop’s network and every figure in them is in the article, checked before this page went out — what was dropped, and why, is in this page’s receipt file.

How to read this page

Each row carries six columns — the model, the seat it holds here, the licence, the day we last read it, what that licence asks of us, and what it permits you. The method for each read is named once per table, above it, so you can repeat the read yourself. The date on each row is the day that licence text was last read in full by us — not the day the row was written. First things first, the fact every row stands on: our products ship zero model weights. In the shipped products, every model is one you choose and download yourself, on your machine, under that model's own licence. And where a licence withholds hosted-service use, we treat that as binding on anyone operating a server, ourselves included — that is why one painter below — Juggernaut-XL v9 — is benched and never wired.

We are not lawyers, and this is research notes, not legal advice — each licence is its own authority, linked or named so you can read it yourself. Corrections welcome: hello@strata2signal.com. Model, company, and platform names on this page are the trademarks of their respective owners, used only to identify what we read — no affiliation or endorsement is implied, and no licence here grants us any trademark right.

The brains · chat, vision, memory · all read 2026-08-11

Read via ollama show <tag> --license — the licence file packaged with the weights themselves, read in full, not skimmed for a name.

gemma4:12b (q4)the narrator — the locked co-resident chat seatread 2026-08-11
licenceApache 2.0
what it asks of us§4 notice duties if redistributing
what it permits yourun it anywhere, commercially, royalty-free — no use policy, no output claims, and no trademark rights come with it (§6)
gemma4:26b (a4b)the 96G workstation posture seat (the locked co-resident default remains 12b)read 2026-08-11
licenceApache 2.0
what it asks of ussame §4 duties
what it permits yousame — trademarks withheld, patent grant self-terminates on suit; no use policy, no output claims
qwen3-vl:2bthe world's eyes — vision intakeread 2026-08-11
licenceApache 2.0
what it asks of ussame §4 duties
what it permits yousame — and no licence-level limit on vision use; our refuse-identifiable-people rule is our own architecture test, not a licence duty
nomic-embed-textthe world's memory — the pinned embedder (swapping it means re-writing every vector, so it is never swapped casually)read 2026-08-11
licenceApache 2.0
what it asks of ussame §4 duties
what it permits yousame — nothing in the text claims rights over embeddings
qwen3.8:27bthe doorman — RuleSage's live question-screening seat (hired 2026-08-17; the audit is exhibit fourteen)read 2026-08-18
licenceApache 2.0 (the text packaged with the weights, read in full — 11,346 bytes, sha256 225c54bacb96eca3…)
what it asks of ussame §4 duties
what it permits yousame — no use policy, no output claims, trademarks withheld
ms-marco-MiniLM-L6-v2the careful reader — RuleSage's re-ranker, a cross-encoder trimmed to ~22 MB on the serving hostcard read 2026-08-18
licenceApache 2.0 (declared in the model card, read 2026-08-18; the deployed artifact ships only the quantized graph and carries no packaged licence text — so this row rests on the card's declaration, and says so)
what it asks of us§4 notice duties if redistributing
what it permits yourun it anywhere, commercially, royalty-free
qwen3.5:27bthe re-bake's best voice — benched, awaiting a second cardread 2026-08-11
licenceApache 2.0
what it asks of ussame §4 duties
what it permits yousame

Cards with the oxblood edge are seats our own worlds run today. Receipts from the reads, because a ledger should show its work: the 12b tag ships the Apache body without the appendix (the appendix is the how-to-apply boilerplate, not terms — noted because we read to the end, not because anything is missing); the 26b and qwen3.5:27b blobs are byte-identical stock text; qwen3-vl ships the licence twice — two byte-identical copies concatenated by the packager, most likely one per component — a 402-line dump that is still just Apache 2.0; and nomic-embed's blob is the stock text with no addendum of any kind, which is the whole basis for the no-claim-over-embeddings cell in its row. None of the five names a copyright owner in the blob — which means the §4 notice duties cannot be discharged from these files alone: the actual holders live in the upstream model cards, and ollama show --license proves what was packaged, not who licensed the weights. And the claim that matters most, stated exactly as far as our evidence reaches: the licence blobs these tags ship carry no Gemma custom terms — earlier gemma generations packaged them, these do not. That is a read of the redistributed file, not of the vendor's own terms page; when we have read that second source first-hand, this row will say so.

Bench history without a fresh stamp: gemma2:9b (the 8G-era voice pick) appears in the voice trials but is not installed on the bench box today, so we cannot re-read its shipped licence — and this ledger stamps only what we actually re-read. Its row will return if it does. The qwen3.6 of that field was in the same state on 2026-08-11; a qwen3.6 build was pulled for the August trials and read on 2026-08-12, and its row is in the next section — note the tag, qwen3.6:27b, which is not the qwen3.6:latest that field ran.

The sound department · music generation, stems, encoding · read 2026-08-25 / 26

Read from the LICENSE files in the repositories and the Hugging Face model cards themselves, in full — the same first-hand reads behind the local-music landscape study. Everything below runs on strata→signal hardware, on-prem; nothing is sent to a cloud service. The interactive tools' own sounds carry no third-party licence at all — see the closing note.

ACE-Step 1.5 (turbo · acestep-5Hz-lm)the song engine — local full-song generation; the source tracks the demos are built fromread 2026-08-25
licenceMIT (the repo LICENSE and the weights' HF cards read end-to-end — plain MIT, no acceptable-use rider; the bundled Qwen3-Embedding component is separately Apache 2.0)
what it asks of usthe MIT notice if we redistribute the weights — nothing more; its verify-originality / disclose-AI lines are guidance, not licence terms
what it permits yourun it anywhere, commercially — the card states the generated music may be used commercially. Its "licensed / royalty-free training data" line is a vendor claim with no manifest, and this row records it as a claim, not an audit
Demucs · htdemucs / htdemucs_6sthe splitter — 4- and 6-way stem separation, run on-prem on CPUread 2026-08-26
licenceMIT (© Meta Platforms; the adefossez fork LICENSE read in full, no weights carve-out)
what it asks of usthe MIT notice on redistribution
what it permits yourun it anywhere, commercially — and the separated stems carry no licence of their own; the rights that matter live in the source recording you fed it
FFmpeg (static build)the encoder — MP3 / WAV export off the generation hostinstalled 2026-08-25
licenceGPL (the johnvansickle static build bundles GPL-licensed encoders; FFmpeg's own core is LGPL-2.1+. Invoked only as a standalone binary — never linked into our code)
what it asks of usthe GPL/LGPL duties attach to distributing FFmpeg itself; running the binary to encode our own audio triggers none of them
what it permits youencode freely — the licence governs the tool, never the audio it writes

The Beat Module and the mixing tools ship no third-party audio code and no samples: every drum voice, sample-pad sound, filter sweep and reverb is synthesised from first principles in the browser's own Web Audio — nothing borrowed, nothing to license. So the sound the tools make is ours; the two models above only ever run on our own hardware, on-prem, to make the source material — nothing in this department reaches a cloud service.

The trial roster · the August arrivals and one incumbent · read 2026-08-12

Read via ollama show --license <tag> — the same method as the brains above, on the blobs pulled for the 2026-08 trials. These five rows are receipts, not readings: this cycle recorded the first line of each licence text verbatim, a sha256 of the whole text, and its size — and the row says that and stops. No verdict is pre-judged here. One of these tags carries bespoke vendor terms rather than a stock licence, and a row that summarised them from a first line would be exactly the guess this page exists to refuse. The clause-level read is queued; when it lands, these rows say more and carry a newer date. The models themselves sit the August arrivals, where their numbers are published in full.

muse-glimmer:30b-q8_0-dflashbenched on both house exams 2026-08-12 — no seatread 2026-08-12
licencethe packaged blob carries no licence text at all — a single byte, which the receipt records as 0 characters and the sha256 of the empty string (e3b0c442…). Published as a finding, not as a verdict. Read instead from the vendor's own LICENSE file on the model hub — huggingface.co/meta-models/Muse-Glimmer-30B (Meta Superintelligence Labs): Apache 2.0, read first-hand 2026-08-10 and again 2026-08-12.
what it asks of usnothing we can read out of the package — the weights ship without their licence text, which is worth knowing before anyone redistributes them
what it permits youwhat the vendor's own LICENSE file permits, read at the source — the packaged blob will not tell you, and we would rather say that than paraphrase a file that is not there
nemotron-3.5-lightning:30b-a3bbenched on both house exams 2026-08-12 — no seatread 2026-08-12
licencethe blob's first line, verbatim: "NVIDIA Open Model License Agreement" — 10 068 characters, 64 lines, sha256 aab95a9b…
what it asks of usthe clause-level read we still owe: bespoke vendor terms, not a stock licence, and this cycle read the first line and hashed the rest
what it permits youunstated here on purpose — the agreement ships inside the weights; read it there rather than take a summary from us
qwen3.6:27bbenched on both house exams 2026-08-12 — no seatread 2026-08-12
licencethe blob's first line, verbatim: "Apache License" — 11 358 characters, 203 lines, sha256 5e9ea707…
what it asks of usthe version line and the clause body were not captured by this cycle's receipt, so the row claims the first line and the sha, not a version
what it permits youread the text yourself — it ships inside the weights and prints in full from the same command named above
olmo-3.1:32b-think-q4_K_Mbenched on the judge exam 2026-08-12 — no seatread 2026-08-12
licencethe blob's first line, verbatim: "Apache License" — 11 359 characters, 203 lines, sha256 8c6db340…
what it asks of ussame as the row above: a first line and a hash are what we read, so a first line and a hash are what we claim
what it permits youread the text yourself — one character longer than its neighbour's, and a different file
granite4.1:30b-q8_0the incumbent on the roster — cleared both floors of the judge trialread 2026-08-12
licencethe blob's first line, verbatim: "Apache License" — 11 358 characters, 202 lines, sha256 cfc7749b…
what it asks of usthe same read we owe the other Apache-opening rows; it is on the roster this cycle because it sat the trials beside the new models, not because its terms moved
what it permits youread the text yourself — same opening line as the two rows above, same size as one of them (qwen3.6:27b), and still a third distinct file

Receipts, because a ledger should show its work. Three of these five blobs open with the same two words and are still three different files: 11 358 characters over 203 lines, 11 359 over 203, and 11 358 over 202, with three different sha256s between them. That is why the receipt is a hash and a size and not a name — "Apache License" is what the first line says, not proof of what the other eleven thousand characters do. The sharpest artifact of the read is the first row: a 30B model packaged with an empty licence file, which no summary of anyone's summary would ever have surfaced. The dates on these five rows are the day the text was read; what the text means is a read we still owe, and every row says so until we have made it.

The new trial roster · the candidate the 24 GB battery brought in · read 2026-08-29

One row, and it sits under its own heading rather than with the five above because it was read a different way on a different day. Laguna XS 2.1 sat the instrument travels as the one candidate of that battery with no earlier bench on this hub, and the packaged blob is not the source here: the read is the vendor's own LICENSE.md at the model repository, opened in full on 2026-08-29 and cross-read against the model card above it and the tag's own library page, which name the same licence and the same publisher.

laguna-xs-2.1:latestthe fifth candidate of the 24 GB battery, 2026-08-26 — benched, no seatread 2026-08-29
licenceOpenMDW-1.1 — the licence file's own first line, verbatim: "OpenMDW License Agreement, version 1.1 (OpenMDW-1.1)". Published by Poolside. Three sources, read the same day and named because a maker is a fact this ledger reads rather than infers: the vendor's licence file at huggingface.co/poolside/Laguna-XS-2.1/blob/main/LICENSE.md, the model card above it, and the tag's page at ollama.com/library/laguna-xs-2.1. All three name Poolside as publisher and OpenMDW-1.1 as the licence; the model card's own sentence is "Laguna XS 2.1 is released under OpenMDW-1.1, a fully permissive license." Until this read the model roster carried no maker for the tag at all, and said so on its own page rather than guessing one.
what it asks of uskeep the agreement itself, and every copyright and origin notice included in the Model Materials, with any copy we distribute — we redistribute no weights, so nothing further attaches; the text also terminates the grant if we bring patent or copyright litigation over the materials, unless we are answering a suit brought first
what it permits youin its own words, to "deal in the Model Materials without restriction" under the copyright, patent, database and trade-secret rights embodied in them — and it "does not impose any restrictions or obligations with respect to any use, modification, or sharing of any outputs generated by using the Model Materials"

Why one row earns its own heading: the section above is stamped 2026-08-12 and its method is the packaged blob read through the runtime. This row is neither — a later day, a different source — and folding it under that heading would have made the heading untrue of one of its own rows. The other four candidates of that battery already reach the model roster through the benches that measured them.

The painters · diffusion · read 2026-08-11 except where a row says otherwise

Read via each model's authoritative record: the creator's permission flags fetched as raw JSON from civitai.com/api/v1/models/<id> (not the page prose — the ids are in the rows), and the licence files at their source repositories. The painters' bench story — who paints best — lives on the diffusion research bench; this table is only the law.

The four Civitai permission flags, in words: Image = generated images may be shared · RentCivit = the model may run on Civitai’s own generator · Rent = other hosted services may run it · Sell = the model file itself may be sold. ✓ = granted, ✗ = withheld.

albedobaseXL v2.1the painter of recordread 2026-08-11
licencethe creator's permission flags as recorded on Civitai (model 140737), over a CreativeML Open RAIL++-M SDXL base: Image ✓ · RentCivit ✓ · Rent ✓ · Sell ✗ — credit required
Two evidence bars, both ours — and this is the one row on the page that is read to both. The first bar is the row above: the creator's permission flags, read first-hand from the platform's raw record on 2026-08-11. That is the bar our campaign's own kits ship under, and nothing here withdraws it. The second bar is stricter and this painter does not clear it: our newer bench harness publishes a picture only when the licence text itself has been opened and read, and for this model that text has never been found — so the new-arrivals bench (2026-08-23, the section below) withholds this painter's images entirely. Its verdict there is unverified: its renders are counted, painter by painter, and none of its pictures is published. A permission flag is a record of what a creator ticked; a licence text is a document you can read to the end. We would rather name the gap between the two than quietly treat them as the same thing.
what it asks of uscredit the creator — given: our worlds are painted by albedobase xl, by albedobond. (A product credits page is queued and will carry it too; until it exists we say so here rather than claim it.)
what it permits youpublish and sell outputs; run it in a hosted service; may not sell the weights (Sell ✗)
sd_xl_base 1.0the sketch pipeline's baseread 2026-08-11
licenceCreativeML Open RAIL++-M (2023-07-26)
what it asks of usthe flow-down clause binds us — the use restrictions must appear as an enforceable provision in our player terms. That work is open; this row changes when it lands.
what it permits youcommercial use, hosting, sublicensing — under the licence's Attachment A use restrictions
flux.1 [schnell]the fast brush — the 4-step painter behind 2,296 of the campaign census's 2,828 renders (the census)read 2026-08-11
licenceApache 2.0 — the platform's licence record (tag: apache-2.0); the repo itself is download-gated, so this stamp covers the record. The full text was read earlier; that read's date went unrecorded — our lapse.
what it asks of us§4 notice duties if redistributing
what it permits yourun it anywhere, commercially — stock Apache 2.0, unlike its [dev] sibling two rows down
Juggernaut-XL v9bench candidate only — never wired into a productread 2026-08-11
licencethe creator's permission flags as recorded on Civitai (model 133005): Image ✓ · RentCivit ✓ · Rent ✗ · Sell ✗ — credit required
what it asks of uscredit; and the restraint itself — hosted use off civitai is not granted, so we don't
what it permits youpublish and sell outputs; do not run it inside your own hosted service
flux.1 [dev]held — shown only as research receipts (ruled 2026-09-04)read 2026-08-23
licenceFLUX.1 [dev] Non-Commercial License v1.1.1 (re-read in full 2026-08-23 for the new-arrivals bench, 18 621 bytes, alongside the v2.1 text the 2026 repacks point at — the operative sentences are the same in both, and the re-read confirmed this row rather than moving it. The same hold is enforced per cell on that bench, in the section below.)
what it asks of uswe could not satisfy ourselves, reading §2(d)'s output grant against §4(a)'s use prohibition, which one governs commercial use of dev's outputs — so we hold every flux experiment rather than guess in our own favour
what it permits youweights: non-commercial only — and §1(c) excludes any end-user-facing use even when free, §4(a) bars production as well as commercial purposes, and §2(e) conditions the output right on content filtering or pre-distribution review plus AI-generation disclosure. Outputs: §2(d)'s grant is expressly qualified ("except as expressly prohibited herein") and §4(a) survives termination (§8(d)) — on our reading, commercial use of dev outputs is not granted. We are not counsel; this is the row we most want a professional to confirm.
research receipts (ruled 2026-09-04)Nine Worlds, One Dog (published 2026-08-28) shows pictures this painter drew as receipts of a measured run — the request, the seed, the size and the seconds, all in its kit — saying so on its own face and asking that the pictures not be treated as cleared for anything else; the next gallery page painted by this painter carries the same line from its first day. Nothing of this painter's is sold or licensed onward, and no picture it drew is published on this hub outside those pages. One use we name rather than leave for a reader to find: the live world has painted 367 of its 2,828 in-play renders with this painter — 13.0%, counted in The Dog, the Dice, and the Painter — on a game that is free and sells nothing, which is the end-user-facing use §1(c) reaches even when free; that use sits under the same unresolved reading as the rest of this row, and moves when a professional's reading does. Until today this row read held — nothing published — it had said so since this ledger's first day, and it stopped being true on 2026-08-28, when nine of this painter's pictures went up on this hub as receipts; the row now says what we actually do with them. Nine Worlds said on its release day that this licence covers sharing its pictures; that was wrong on the reading above, and the page carries a dated correction since 2026-09-04
pixel-art-xl (LoRA)quarantinednot re-read this cycle
licencecreator's terms: non-commercial — verdict carried from the quarantine read, not re-read this cycle; queued
what it permits younot usable in a commercial pipeline; we pulled it from ours entirely
realvis xl 5.0 · pixel-art-redmondwithheld — unverifiednot re-read this cycle
licencenot read first-hand
what it asks of usour own rule: unread means unpublished
what it permits youunknown to us — we won't guess on your behalf
sd 3.5 · hidream · luminacandidate painters — in the census, not yet readnot re-read this cycle
licencevarious — readings queued
what it permits yourows land here as each read finishes; until then they are candidates, not recommendations

A reading trap we hit so you don't: the OpenRAIL++ file as shipped renders its Section III clauses without numerals while the text cross-references "paragraph 5" — map paragraph 4 to Distribution, 5 to Use-based restrictions, 6 to Output, or you will quote the wrong clause. And this read of the civitai flags is finer-grained than our last: the full permission arrays are now recorded verbatim (Rent present for AlbedoBase, absent for Juggernaut) — refining the prior reading, not contradicting it.

The new painters · the new-arrivals diffusion bench · all read 2026-08-23

Update, 2026-08-24 — twelve painters' rows added. What changed, in plain words: the new-arrivals diffusion bench sat thirteen open-weight image models down in front of one small world and had each of them paint it, and before a single pixel was rendered it opened every one of those painters' licences first-hand. Those reads are folded into this ledger below. The window at both ends: the licence texts were opened on 2026-08-23 (UTC); the rows landed on this page on 2026-08-24 (UTC). Against what stood here before: until today this ledger carried the three painters our game's own campaign actually ran — AlbedoBase XL 2.1, FLUX.1 [schnell] and FLUX.1 [dev] — beside the first bench's roster and its quarantined and unread LoRAs, and not one of the twelve models below had a row here at all. The painters' bench story — who paints best — lives in the diffusion wing; this table is only the law.

Read from the licence text itself, at the source the vendor actually publishes it: each file was downloaded, its byte size and sha256 recorded, and diffed against the canonical text of the licence it claims to be — so a row that says Apache 2.0 here means a file we hashed, not a tag we trusted. Each row is keyed on the checkpoint filename as it lands on disk, because a filename is the only thing a render manifest records; a quantisation does not relicense, so a repack takes its parent's reading and the row says so.

The mark at the head of each row is the verdict the bench's own publication law enforced — per painter, per cell, not per page. published means that painter's pictures are on the bench. held and unverified both mean the renders were made and are counted, painter by painter, and none of the pictures was published — and they are not the same fact: held is a licence we read that refuses republication of the outputs, unverified is a licence we have never been able to find. Every row below says which, and one row is a read with no verdict at all, because that model never painted a cell.

flux.2 [klein] 4Bpublished — the only Apache FLUXread 2026-08-23
licenceApache License 2.0 — the vendor's own LICENSE.md, beside the weights (opened 2026-08-23: 9 584 bytes, sha256 ca02bc51…; diffed against the canonical Apache text — identical modulo whitespace, bar the "how to apply" appendix, which the vendor omits. No Black Forest Labs rider, no acceptable-use annex, no output clause. The undistilled klein-base-4B ships a byte-identical file. Checkpoint: flux-2-klein-4b.safetensors. Source: huggingface.co/black-forest-labs/FLUX.2-klein-4B/blob/main/LICENSE.md)
what it asks of us§4 notice duties only if we redistribute the weights or a derivative — we ship none; §6 grants no trademark right, so we name the model and claim no endorsement
what it permits yourun it anywhere, commercially, royalty-free; publish the outputs and license them onward — no field-of-use restriction, no revenue ceiling, and nothing in the text reaches generated images. Not to be confused with the 9B in the next row, which is non-commercial: same family name, different licence
flux.2 [klein] 9B-KV (fp8)held — counts only, no pictures publishedread 2026-08-23
licenceFLUX Non-Commercial License v2.1 (opened 2026-08-23: the edit variant's LICENSE is byte-identical to Black Forest Labs' canonical v2.1 text, 18 157 bytes, sha256 e98f298d…; the distilled 9B and klein-base-9B ship the same text plus a trailing newline. A quantisation does not relicense. Checkpoint: flux-2-klein-9b-kv-fp8.safetensors. Source: huggingface.co/black-forest-labs/FLUX.2-klein-9B/blob/main/LICENSE.md)
what it asks of usthe same unresolved reading as flux.1 [dev], and we answered it the same way: §2(d) grants outputs "for any purpose (including for commercial purposes)" but only "except as expressly prohibited herein", and §4(a)(i) prohibits using "any data produced by the FLUX Model" for any commercial or production purposes. We hold rather than guess in our own favour
what it permits youweights: non-commercial only, and §1(c) excludes end-user-facing use even when free. Outputs: contested on the text's own face — and the vendor's licensing FAQ, read 2026-08-23, says images for products you charge for need a commercial licence. On our reading, a page that licenses its images onward is exactly what §4(a) forbids permitting, so this painter has no column on the bench
flux.2 [dev] (fp8mixed)held — counts only, no pictures publishedread 2026-08-23
licenceFLUX Non-Commercial License v2.1 (opened 2026-08-23 at the vendor's own code repository, which is where the canonical copy of this licence lives — 18 157 bytes, sha256 e98f298d…; the model pages carry the same text under a different filename. Checkpoint: flux2_dev_fp8mixed.safetensors. Source: github.com/black-forest-labs/flux2/blob/main/model_licenses/LICENSE-FLUX-NON-COMMERICAL)
what it asks of usthe same reading as the 9B row above — §2(d)'s output grant against §1(c) and §4(a)'s exclusions — and the same answer: the biggest model on the bench painted its whole set and none of it is published here
what it permits youweights: non-commercial only. Outputs: not something we will claim on your behalf from a text that contradicts itself and a vendor that has twice declined to resolve it in writing. Read it yourself at the link above — it is the row we would most like to be wrong about
flux.2-small-decoderan accessory, not a painter — read on the way to the bench, never wiredread 2026-08-23
licenceApache License 2.0 — declared, not shipped (the repository holds no LICENSE file, checked 2026-08-23; the claim is the repo's own metadata plus the model card's sentence "This model is licensed under the Apache 2.0 licence", and the canonical Apache text is what we opened. Checkpoint: full_encoder_small_decoder.safetensors. Source: apache.org/licenses/LICENSE-2.0, by way of huggingface.co/black-forest-labs/FLUX.2-small-decoder)
what it asks of us§4 notice duties on redistribution only. And the honest limit of this row: it carries no bench verdict, because this decoder never painted a cell and the bench's publication law holds no entry for it. A read is not a verdict, and we would rather print the gap than round it off
what it permits youwhat Apache 2.0 permits — with the structural caveat that makes this row nearly useless on its own: a decoder only replaces the last stage of the pipeline, so the base model it is paired with sets the picture's posture. Bolted to an Apache base the result stays Apache; bolted to a non-commercial base it does not become commercial
hidream-o1-image-dev (fp8)published — the pixel-space one, no VAE in the pathread 2026-08-23
licenceMIT License (opened 2026-08-23: 1 066 bytes, sha256 05660a75…, canonical MIT text with "Copyright (c) 2026 HiDream.ai" and nothing added. No LICENSE file sits in any of the model repositories — the text lives in the vendor's code repository, and the vendor's README says in as many words that the models, not only the code, are MIT. Checkpoint: hidream_o1_image_dev_fp8_scaled.safetensors. Source: github.com/HiDream-ai/HiDream-O1-Image/blob/main/LICENSE)
what it asks of uskeep the notice with any copy of the software we redistribute — we redistribute none. One thing this row does not cover: an optional prompt-rewriting stage that some published workflows wire in front of this model is a separate model under its own vendor terms, which we have not read and this row does not reach. If it is in your graph, it needs its own row
what it permits youuse "without restriction" — the licence's own words — including commercially; publish and license the outputs onward. No field-of-use clause, no acceptable-use policy, no revenue ceiling, no output clause
krea 2 turbo (fp8_scaled)published — the only row on this page with a revenue ceilingread 2026-08-23
licenceKrea 2 Community License Agreement v.1, dated 2026-06-22 (a six-page PDF, read in full 2026-08-23: sha256 b82a2805…, byte-identical at the pinned copy the model card itself designates, at the vendor's code repository, and in the ComfyUI repack of the weights. Bespoke terms, not a stock licence, which is why this row is the longest one here. Checkpoint: krea2_turbo_fp8_scaled.safetensors. Source: krea.ai/krea-2-licensing)
what it asks of usthree things, all of them real. §2.3: commercial use of the outputs is permitted only while the licensee's company-wide trailing-twelve-month revenue stays under US$1,000,000 — cross it and commercial use stops until an enterprise licence is signed, so this row gets re-read as we grow. §4.2: a content filter or human review before distribution — ours is an operator's read of every image before it ships. §4.3: disclose AI generation where law or platform policy requires; our pages name what painted every picture anyway
what it permits you§5.3 is unusually clean: "You own all Outputs you generate" — the vendor claims no ownership, and no attribution duty attaches to an image. The ceiling above binds us, the licensee; you are not a party to our agreement, so it does not travel with the pictures. The naming and notice duties in §3.1 bind anyone distributing the model or a fine-tune, which is a different act from using an image
kandinsky 5.0 image litepublished — a late addition, read before it renderedread 2026-08-23
licenceThe MIT License (MIT) (opened 2026-08-23: 1 099 bytes, sha256 94946098…, canonical MIT with "Copyright (c) 2025 Kandinsky Lab" filled in and nothing added. The weights repository carries the licence as a metadata tag only — three files in the whole tree and none of them a LICENSE. Checkpoint: kandinsky5lite_t2i.safetensors. Source: github.com/kandinskylab/kandinsky-5/blob/main/LICENSE)
what it asks of usthe MIT notice on redistributed copies of the software — we redistribute none. A correction this row also makes, since a living ledger should name its own repairs: our harness first carried this model on a guessed filename that the vendor has never published. A row keyed to a file that can never appear is a check that never runs, so the row now keys to the one file the vendor actually ships
what it permits youuse, modify and sell without field-of-use restriction; publish and license the outputs onward. No output clause, no revenue ceiling. Its text encoder and autoencoder are separately permissive, so the arm's weakest link is permissive too
z-image turbo (bf16)published — an incumbent of the first bench, re-read hereread 2026-08-23
licenceApache License 2.0 (opened 2026-08-23 at the vendor's code repository: 201 lines, md5 86d3f3a9…; diffed whitespace-insensitively against the canonical Apache text, the only difference is one leading blank line. Neither model repository carries a LICENSE or NOTICE file — the Apache claim on the model page is metadata, and the vendor's code repository holds the only text there is. If someone asks you for a licence file beside these weights, the honest answer is that there is not one. Checkpoint: z_image_turbo_bf16.safetensors. Source: github.com/Tongyi-MAI/Z-Image/blob/main/LICENSE)
what it asks of us§4 notice duties on redistribution only, and there is no NOTICE file upstream to carry in any case; §6 withholds the trade names beyond describing where the model came from
what it permits yourun it anywhere, commercially; publish and license the outputs onward. No field-of-use restriction, no acceptable-use policy we could find, no revenue ceiling, and the word "output" does not occur in the text
z-image base (undistilled)published — the slow sibling of the row aboveread 2026-08-23
licenceApache License 2.0 — the same vendor file as the turbo row (opened 2026-08-23; the same code repository's README announces both the turbo and the base release, so one text governs both. Checkpoint: z_image_bf16.safetensors. Source: github.com/Tongyi-MAI/Z-Image/blob/main/LICENSE)
what it asks of usthe same §4 duties, on redistribution we never do
what it permits youthe same — this row exists separately because the bench ran a separate checkpoint file, and a row that covers two files by assumption is a row that has stopped being read
ernie-image turbopublished — Baidu's 8-step distillread 2026-08-23
licenceApache License 2.0 — shipped beside the weights, which is rarer here than it should be (opened 2026-08-23: 11 366 bytes, sha256 5d7deeaf…; the only difference from the canonical text is the appendix placeholder filled in as "Copyright (c) 2025 Baidu, Inc. All Rights Reserved.". No rider, no acceptable-use annex, no threshold, and the word "output" does not occur. The undistilled sibling's file is byte-identical and carries the same row. Checkpoints: ernie-image-turbo.safetensors and ernie-image.safetensors. Source: huggingface.co/baidu/ERNIE-Image-Turbo/blob/main/LICENSE)
what it asks of us§4 notice duties on redistribution only; §6 withholds the trade names beyond describing origin. The diligence this row really turned on was the parts list: this pipeline bundles someone else's autoencoder and someone else's text encoder, so we checked both rather than the headline licence alone
what it permits yourun it anywhere, commercially; publish and license the outputs onward. The bundled autoencoder is the same file its own author publishes under Apache 2.0 in another model — we compared the two blobs, and their hashes match — and the bundled text encoder is Apache 2.0 in its own right, so the weakest link in this arm is still permissive
chroma1-hd (fp8mixed)published — the stylized independentread 2026-08-23
licenceApache License 2.0 — declared in prose, matched against text (no LICENSE file exists in any of the author's four model repositories, checked 2026-08-23. The declaration is the model page's metadata tag plus the README's own sentence — "It is fully Apache 2.0 licensed, ensuring that anyone can use, modify, and build upon it" — and what we opened is the canonical Apache text together with the author's own copy in their training-code repository, which matches it but for one trailing space. That is a licence read, and it is also a weaker footing than a file beside the weights; the row says so rather than levelling the two. A quantisation does not relicense, so this repack takes its parent's reading. Checkpoint: Chroma1-HD-fp8mixed.safetensors. Source: apache.org/licenses/LICENSE-2.0)
what it asks of us§4 notice duties on redistribution only. Separately, and not a licence matter: this model's training material is community-sourced and uncensored by the author's own statement, which is a content-screening duty on anyone deploying it rather than a term of the licence
what it permits yourun it anywhere, commercially; publish and license the outputs onward; fine-tune it — the author expressly invites it. No output clause, no revenue ceiling, no use restrictions in the licence
mage-flow 4B turbo (int8)published — the fastest credible sketch engine on the benchread 2026-08-23
licenceMIT License (opened 2026-08-23: 1 066 bytes, sha256 275b4dd6…, standard MIT with "Copyright (c) 2026 Microsoft"; the vendor's README carries a per-model table whose row for this model reads "MIT". Neither mirror ships a LICENSE file — the text lives only in the vendor's code repository. Checkpoint: mage_flow_turbo_int8_convrot.safetensors. Source: github.com/microsoft/Mage/blob/main/LICENSE)
what it asks of usthe MIT notice on redistributed copies — we redistribute none — and two disclosures we would rather you heard from us. One: the vendor withdrew its own model repositories at the end of 2026-07 and has published no reason, no revocation and no relicensing; the weights on our bench came from community mirrors, one of them duplicated by the paper's first author. Two: the README beside that unmodified MIT file says the models are "released for research purposes only and are not intended for product or service deployment". That is prose sitting next to a licence, not a term inside one — but it is the kind of sentence a reader deserves to see rather than discover
what it permits youuse "without restriction", including commercially; publish and license the outputs onward. No field-of-use clause in the licence, no revenue ceiling, no output clause — with the "research purposes only" note above weighed by you rather than for you

Receipts and the finding we did not expect. Across these twelve models the pattern is not the terms — most of them are stock Apache 2.0 or stock MIT, hashed and diffed against the canonical text — it is where the terms live. Z-Image, Chroma1, Mage-Flow, Kandinsky, HiDream and the small decoder all ship their weights with no licence file beside them at all: the claim is a metadata tag on a model page, and the only text that exists sits in a code repository somewhere else, or at apache.org. That is still a licence and we read it, but it is a weaker footing than a file in the same directory as the weights, and the rows say which footing each one stands on. The second finding is a family trap worth stating twice: FLUX.2 [klein] 4B is Apache 2.0 and FLUX.2 [klein] 9B is not — same vendor, same product name, one letter of difference in the size, and opposite verdicts. A ledger that read the family instead of the file would have got that backwards.

Why this page is called living

A licence table with no date is a rumor with a straight face. Licences move — new versions, changed permission flags, revised clauses (flux's licence is at v1.1.1 and now covers a family of variants it didn't at our first read). So this ledger is re-read, not archived: every row carries the date its licence text was last read in full, we re-read whenever a seat changes or a model updates, and when a clause moves the row moves and the change is named in plain text. This page is the licensing authority for everything we publish — the deep dive, the diffusion bench, and the voice trials carry short credits and summaries, but none of them is the authority: where a page's wording and this ledger's dated row differ, the row wins, and the difference is a bug we want reported. Two things we owe you about the word living. The triggers above are ours to notice, so we also set a floor: every row gets a fresh read at least every six months. If the newest date on this page is older than that, we have slipped — that is a bug, and telling us is the fastest fix.

Provenance

  • First-hand — every dated row was read from the licence text itself: the file packaged with the weights, the platform's raw permission record, or the vendor's current licence file. The method is named per table so you can repeat the read.
  • Dated — the stamp is the day (UTC) of the last full read, not the day the row was written. No date, no claim.
  • Refusals count too — unread models are withheld and say so. The diffusion bench's 1,261 considered renders split 661 published / 338 held / 262 withheld, and 84 of the 262 trace to three models across the two rows above: realvis xl 5.0 (48) and pixel-art-redmond (18), both unread, and pixel-art-xl (18), quarantined. The flux hold is enforced at the experiment level — every flux experiment is held whole — rather than per-render in the publication law; folding it into the law's own reason codes is queued work, and we say so instead of rounding it off.
  • Authorship — read, drafted, and audited by the workshop's own agents under a human operator's rulings, then revised with that operator — often across many rounds; nothing releases until they have read it and signed off. The same division of labor this whole hub practices — told in full here.

We wrote this page because we got tired of guessing, and because someone deciding whether to trust a small studio's software shouldn't have to read a shelf of licences to do it. So we read them, wrote down what we found, and put the dates on so you can tell how fresh the reading is — including the rows where the honest entry is a dash. The shelf grows; the ledger grows with it.

elsewhere in the workshop

a strata→signal property · hello@strata2signal.com · say hello