Licensing & Attribution

ShaderGif is built for sharing shader experiments and short generative animations in a way that’s easy to study, remix, and learn from. This page explains how licensing works across (1) the ShaderGif platform itself and (2) the code and media that users publish through the editor and gallery.

Two different things are being licensed

When people talk about “the licence” for ShaderGif, they often mean one of two things:

  • The platform code (the website/editor software) and any first-party assets shipped with it.
  • User-generated content (your shader code, JavaScript sketches, uploaded textures, and exported GIFs).

These are related, but they are not the same. The platform can be open source while individual GIFs and shaders remain under the author’s chosen licence (or default copyright) unless clearly stated otherwise.

Platform licence (the website/editor software)

The ShaderGif application code is distributed as open source software. That means you can inspect how the editor and rendering pipeline work, run your own instance, and contribute improvements. The exact terms depend on the repository licence and any bundled third-party dependencies.

Practical takeaway: the platform being open source does not automatically place every shader in the gallery into the public domain, and it does not grant permission to reuse assets that the author never licensed for reuse.

User content: your shader code, uploads, and exported GIFs

Unless you explicitly choose a licence, your work is typically protected by copyright by default. On ShaderGif, “your work” may include:

  • GLSL shaders (fragment shaders, WebGL 1.0 / WebGL 2.0 variants)
  • JavaScript canvas sketches
  • p5.js sketches
  • Uploaded textures and images used by a shader
  • Rendered outputs (GIFs, preview frames, thumbnails)
  • Titles, descriptions, tags, and comments you write

What you grant ShaderGif when you publish

To display your work in the gallery, ShaderGif needs permission to host, process, and publicly display the content (including creating derived technical artefacts such as thumbnails, preview frames, or re-encodes needed for compatibility). In most cases, this is handled as a limited licence to:

  • Store your content and backups
  • Render/encode it for the gallery and previews
  • Display it publicly (or privately, if you use unlisted/private options)
  • Transmit it to visitors’ browsers for viewing

This is about operating the service. It is not meant to claim ownership of your shader or grant everyone unlimited reuse rights. If you want others to reuse your code or outputs, choose and declare a clear content licence.

Choosing a licence for your shader

If you want people to remix or reuse your shader, the best way to avoid confusion is to pick a recognised licence and declare it clearly in the shader header and/or the post description. Many open source and creative licences have standard short identifiers used across tooling. A convenient reference for recognised identifiers is the SPDX licence list.

Common approaches creators use for shader posts include:

  • Permissive open source licences (good when you want reuse with minimal friction).
  • Copyleft licences (good when you want derivatives to remain open under the same terms).
  • Creative Commons licences (often used for artistic output, but be careful to match “code vs art” intent).
  • All rights reserved (you want people to view it, but not copy/reuse it without permission).

Where to declare the licence

For maximum clarity, declare your licence in more than one place:

  • In-code header comment (best for shader/JS snippets shared elsewhere).
  • Post description (best for humans browsing the gallery).
  • Asset notes (best for textures or external media with separate licences).

Example of a concise in-code note (adapt the wording to your chosen licence):

// Title: Midnight Ripples
// Author: Your Name
// Licence: MIT (SPDX: MIT)
// Notes: Uses a noise function adapted from public domain reference code.

Attribution: what “good credit” looks like

Even when a licence does not strictly require attribution, it’s good community practice to credit inspirations and borrowed techniques. For shaders, attribution is usually easy and lightweight:

  • Name the original author (if known).
  • Link to the source (Shadertoy, blog post, paper, repo, etc.).
  • State what you changed (ported to WebGL 1.0, optimised loops, replaced texture source, etc.).
  • Keep any existing copyright headers when required.

If you’re learning from well-known references, consider adding a short “References” section in your post description. This also makes your work easier to understand for people reading the code.

Third-party assets: textures, images, fonts, and audio

Shaders often depend on inputs that are not “code”: textures, environment maps, image masks, font files, or other media. These assets can have licensing terms that differ from your shader’s licence, and they may have restrictions (commercial use, redistribution, attribution requirements, or “no derivatives”).

Best practice when you upload an asset

  • Only upload what you have rights to use. If you didn’t create it, check the source terms.
  • Record provenance. Note where the asset came from and its licence.
  • Don’t assume “found online” is reusable. Many images are copyrighted even if widely shared.
  • Be cautious with “non-commercial” terms. They may limit reuse by others even if your shader is permissively licensed.

If an asset’s licence conflicts with your intended shader licence, your post should reflect the most restrictive part for the combined work (or you should replace the asset with one you can licence compatibly).

Remixes, ports, and derivatives

Shader learning is remix-heavy: people port between GLSL versions, simplify for performance, or translate from one platform to another. Whether you can publish a derivative depends on the source licence.

When you remix:

  • Check the original licence first. If none is provided, assume all rights reserved and ask permission.
  • Preserve required notices. Some licences require retaining the original licence text or copyright line.
  • Mark your changes. A simple “Based on…” line plus a note of modifications is usually enough.
  • Don’t re-licence what you can’t. If upstream is restrictive, you can’t override it downstream.

What visitors can do with gallery content

In general, visitors may view shaders and GIFs and learn from them. Reuse rights depend on what the author declared. If a post includes a clear licence, follow it. If the licence is missing or unclear:

  • Assume you can view and learn, but not necessarily copy/publish elsewhere.
  • If you want to reuse, contact the author or choose a different shader with an explicit reuse-friendly licence.

Reporting, takedowns, and disputes

If you believe content on ShaderGif infringes your copyright (for example, a texture uploaded without permission, or a shader copied verbatim without respecting the original licence), it should be reported through the site’s contact process with enough detail to identify the work and the basis for the claim.

When reporting, include:

  • The URL(s) of the content in question
  • Evidence of ownership or original publication (where applicable)
  • A clear description of what is infringing (code, texture, title/description, etc.)
  • What resolution you’re requesting (removal, attribution correction, licence clarification)

Last updated: 30 December 2025