Command Palette

Search for a command to run...

Hectal
Course outline
Topic 10.6Intermediate ~16 min · step 6 of 7

Licences and Asset Sources

In one line

A model you download belongs to someone. CC0 means no conditions; CC BY means credit the authors; many "free" models forbid redistribution. Check each file's licence where you found it, keep the credit with the file, and show it on the page.

0/7 · 0%

Think of it like this

A library book is free to read, but you may not photocopy it and sell the copies. Free models online are like that: free to look at does not mean free to put in your product.

Words you'll meet

New words in this topic, in plain English. Come back here whenever one feels fuzzy.

licence
The legal permission that says what you may do with someone's work: use, change, sell, and on what conditions.
CC0
A Creative Commons dedication to the public domain: no conditions at all.
CC BY 4.0
A Creative Commons licence that allows any use if you credit the authors, link the licence and note changes.
attribution
The credit line a licence asks for: who made it and under which licence.

Step by step

01Read what the file says

The live example loads the Fox and prints its gltf.asset block. It has a copyright string naming the authors and "CC-BY 4.0", and the file's glTF version, but no generator.

02Check the source page

The Khronos sample's README says more than the file: the model itself is CC0, the rigging, animation and conversion are CC BY 4.0. The source page is the authority; the file's metadata can be incomplete or missing.

03Write the credit down

The example keeps a CREDITS table in code and prints the line the page would show. In your project, keep the same table in LICENSES.md and show the lines on the page where each model appears.

04Prefer models you may change

Lumen needs to recolour and resize parts, so licences that forbid changes (ND) or commercial use (NC) are out, whatever the model looks like. CC0 and CC BY are the safe choices; your own models are the safest.

Try it yourself

  1. 1

    Read the bike's own asset block

    Change the URL to /data/3d/models/lumen-bike.glb. It prints {"version":"2.0","generator":"THREE.GLTFExporter r186"}: no copyright, because three.js's exporter does not write one. Add it yourself before sharing: set json.asset.copyright when exporting a .gltf, or use glTF Transform.

  2. 2

    Open this course's licence file

    Open /data/3d/LICENSES.md on this site in a new tab. Every asset the course uses is listed with its source, licence, credit and the date it was checked: the pattern to copy for your own project.

Code & diagrams

What a model's file says about its licence New tab

Fox model by PixelMannen (CC0), rigging and animation by tomkranis (CC BY 4.0), glTF conversion by @AsoboStudio and @scurest (CC BY 4.0), from the Khronos glTF Sample Assets.

idle

Console

Run the scene to see its console.

Expected console output

asset block in the file: {"copyright":"CC-BY 4.0 Model by PixelMannen https://opengameart.org/content/fox-and-shiba and @tomkranis https://sketchfab.com/3d-models/low-poly-fox-by-pixelmannen-animated-371dea88d7e04a76af5763f2a36866bc and @AsoboStudio with @scurest https://github.com/KhronosGroup/glTF-Sample-Models/pull/150#issuecomment-406300118","version":"2.0"}
animations: Survey, Walk, Run
credit shown on the page: Model by PixelMannen (CC0), rigging and animation by tomkranis (CC BY 4.0), glTF by @AsoboStudio and @scurest (CC BY 4.0)

Break it on purpose

Errors are the best teachers. Make each change, read the error, guess what went wrong, then reveal the answer.

Break #1

Trust the file instead of the source

Suppose you read only the Fox's asset.copyright ("CC-BY 4.0 …") and credit the whole model as CC BY 4.0, by the three names in it.

terminal
$ Compare with the model's README
── what you'll see ──
Model: CC0 1.0 (PixelMannen) · Rigging and animation: CC BY 4.0 (tomkranis) · Conversion: CC BY 4.0 (@AsoboStudio and @scurest)
Not an error in the browser: a mistake in your credits.

Myth vs fact

Myth

If a model is free to download, it is free to use in a product.

Fact

Downloading and using are different permissions. Many free models forbid commercial use (NC), changes (ND) or redistribution. Read the licence for each file.

Pro corner

Extra depth for experienced readers. New to this? Skip it for now and come back later.

  • ▸

    Shipping a model in a web page is redistribution: anyone can download the .glb from the Network panel. A licence that allows "use in your project" but not redistribution of the file effectively forbids putting it on a public website.

  • ▸

    Keep your own exported files' provenance too: record which code, which three.js version and which glTF Transform settings produced each file (this course's are in the LICENSES.md rows for the bike files: /data/3d/LICENSES.md), so the file can be rebuilt when a part changes.

Remember this

  1. 1

    The problem this solves: the internet is full of excellent 3D models, and many cannot legally ship in a commercial showroom. A licence problem found after launch means taking the product down, or worse. Checking takes a minute per file.

  2. 2

    The licences you will meet. CC0 (Creative Commons Zero): no conditions; use, change and sell, no credit required (Poly Haven's HDR images and textures in this course are CC0). CC BY 4.0: use and change freely, but you must credit the authors, link the licence and say if you changed it. CC BY-NC: no commercial use, so not for Lumen. CC BY-ND: no changes, so no recolouring the bike. Custom licences: read them; some sample models forbid redistribution altogether.

  3. 3

    One file, several licences. The Fox in this course is a good warning. Its model is CC0 (by PixelMannen), but its rigging and animation (tomkranis) and its conversion to glTF (@AsoboStudio and @scurest) are CC BY 4.0. So the file as a whole needs credit. The file's own asset.copyright field just says "CC-BY 4.0" and names the people: the full story was only on the model's page.

  4. 4

    Where to find models. Sources that state licences clearly: Poly Haven (all CC0), Kenney (game assets, CC0), the Khronos glTF Sample Assets (licence per model, in each model's README), Sketchfab (licence shown per model; filter by "downloadable" and licence). Marketplaces sell models with their own licence terms. Making your own (as this course did with the bike) avoids the question.

  5. 5

    Keep the credit with the file. Store a LICENSES.md next to your assets (this site's is at /data/3d/LICENSES.md): file, source, licence, credit line, date checked. Show CC BY credits where the model appears, for example a small "Fox model by…" line under the canvas or on a credits page linked from it.

Explain it without notes

01

What is the difference between CC0 and CC BY 4.0 for a model on Lumen's website?

02

Why is the Fox's own copyright field not enough to credit it correctly?

Practice

01

Write a LICENSES.md entry for a Poly Haven HDR image you add to your showroom.

02

Add a credit line under the canvas that shows the credits of every model in the scene, from a CREDITS table keyed by file name.

Done when you can

  • Tell CC0, CC BY, NC and ND apart and say which Lumen can use

  • Find a model's licence on its source page, not only in the file

  • Keep a LICENSES.md and show CC BY credits on the page