fm.freemix.license.grant

A FreeMix license grant defining permissions for a track or stem

Details · record, key tid
Kindrecord
Record keytid
Authoritylicense.freemix.fm
Indexed
cid bafyreieaguassv3wh5xtnxlj7mgbqksaflz5ops3a5y5qnpwhsh5qfkaqm

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "grants": {
      "description": "Machine-readable permissions granted by this license",
      "properties": {
        "aiTraining": {
          "description": "Can use for AI/ML training",
          "type": "boolean"
        },
        "commercialUse": {
          "description": "Commercial use allowed",
          "type": "boolean"
        },
        "djEdit": {
          "description": "Can create DJ edits (extended intros/outros, instrumentals)",
          "type": "boolean"
        },
        "djPerformance": {
          "description": "Public DJ performance allowed",
          "type": "boolean"
        },
        "mixDistribution": {
          "description": "Can distribute recorded mix",
          "type": "boolean"
        },
        "mixInclusion": {
          "description": "Can include in continuous DJ mix",
          "type": "boolean"
        },
        "redistribute": {
          "description": "Can redistribute full track",
          "type": "boolean"
        },
        "remix": {
          "description": "Can create remixes",
          "type": "boolean"
        },
        "sample": {
          "description": "Can sample portions",
          "type": "boolean"
        },
        "stemAccess": {
          "description": "Stems available for use",
          "type": "boolean"
        }
      },
      "required": [
        "remix",
        "sample",
        "redistribute",
        "commercialUse",
        "stemAccess",
        "djPerformance",
        "djEdit",
        "mixInclusion",
        "mixDistribution",
        "aiTraining"
      ],
      "type": "object"
    },
    "main": {
      "description": "A FreeMix license grant defining permissions for a track or stem",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "description": "Record creation timestamp",
            "format": "datetime",
            "maxLength": 100,
            "type": "string"
          },
          "grants": {
            "description": "Machine-readable permissions granted by this license",
            "ref": "#grants",
            "type": "ref"
          },
          "legalText": {
            "description": "URI to the full license legal text",
            "format": "uri",
            "maxLength": 3000,
            "type": "string"
          },
          "modifiers": {
            "description": "Optional license modifiers",
            "ref": "#modifiers",
            "type": "ref"
          },
          "requires": {
            "description": "Obligations required when using this content",
            "ref": "#requires",
            "type": "ref"
          },
          "restrictions": {
            "description": "Restrictions on use",
            "ref": "#restrictions",
            "type": "ref"
          },
          "tier": {
            "description": "License tier: open (public domain), remix (full rights), noncommercial (NC use), stems (stems for creative use), dj (DJ edits/performance), samples (sample packs, 0% royalty)",
            "knownValues": [
              "open",
              "remix",
              "noncommercial",
              "stems",
              "dj",
              "samples"
            ],
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "tier",
          "modifiers",
          "grants",
          "requires",
          "restrictions",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "modifiers": {
      "description": "License modifiers that can be combined with tiers",
      "properties": {
        "credit": {
          "default": false,
          "description": "Attribution required",
          "type": "boolean"
        },
        "mix": {
          "default": false,
          "description": "Inclusion in DJ mixes allowed",
          "type": "boolean"
        },
        "noAI": {
          "default": false,
          "description": "Excludes from AI/ML training",
          "type": "boolean"
        },
        "royaltyRate": {
          "description": "Royalty on derivative sales, in BASIS POINTS (x100 of percent): 250 = 2.5%, 500 = 5%, 10000 = 100%. FM-426: scaled to an integer because ATProto has no float type and creators may set fractional rates (e.g. 2.5%); matches the royalty_sales/royalty_legs bps convention. The human percent is rendered in the canonical license string (e.g. Royalty(2.5%)) and the DB licenseModifiers jsonb stays float percent — convert at this PDS-record boundary only. Not active until Phase 3 but recorded from day one.",
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "shareAlike": {
          "default": false,
          "description": "Derivatives must carry a FreeMix license",
          "type": "boolean"
        },
        "shareAlikeStems": {
          "default": false,
          "description": "FM-464: strengthens shareAlike — Remix derivatives must also include stems. Requires shareAlike to also be true. Additive; existing records omit it (defaults false).",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "requires": {
      "description": "Obligations required when using this content",
      "properties": {
        "attribution": {
          "description": "Must credit original creator",
          "type": "boolean"
        },
        "attributionCascade": {
          "description": "Attribution required through full remix chain",
          "type": "boolean"
        },
        "negotiateCommercial": {
          "description": "Commercial use requires separate agreement",
          "type": "boolean"
        },
        "royalty": {
          "description": "Royalty payment required on derivative sales (rate specified in modifiers.royaltyRate)",
          "type": "boolean"
        },
        "shareAlike": {
          "description": "Derivatives must carry FreeMix license",
          "type": "boolean"
        },
        "tracklist": {
          "description": "Mixes must include timestamped tracklist",
          "type": "boolean"
        }
      },
      "required": [
        "attribution",
        "attributionCascade",
        "tracklist",
        "royalty",
        "shareAlike",
        "negotiateCommercial"
      ],
      "type": "object"
    },
    "restrictions": {
      "description": "Restrictions on use",
      "properties": {
        "noAiTraining": {
          "description": "Cannot use for AI/ML training",
          "type": "boolean"
        },
        "noFullTrackRedistribution": {
          "description": "Cannot redistribute full track (StemsOnly, DJ)",
          "type": "boolean"
        },
        "noSourceRedistribution": {
          "description": "Cannot redistribute source files (DJ)",
          "type": "boolean"
        },
        "nonCommercialOnly": {
          "description": "Only non-commercial use (NonCommercial)",
          "type": "boolean"
        }
      },
      "required": [
        "noFullTrackRedistribution",
        "noSourceRedistribution",
        "nonCommercialOnly",
        "noAiTraining"
      ],
      "type": "object"
    }
  },
  "id": "fm.freemix.license.grant",
  "lexicon": 1
}