This document explains the versioning system used in the AI Usage License (AIUL) framework.
AIUL uses a hybrid versioning approach that balances maintainability with flexibility:
- Licenses and Modifiers are versioned individually with dedicated URL paths
- Combinations use query parameters to specify versions, avoiding the need to maintain hundreds of versioned files
Each license and modifier has its own versioned documentation:
/aiul/{type}/{id}/{version}/
Examples:
/aiul/licenses/na/1.0.0/- No Attribution license v1.0.0/aiul/modifiers/writing/1.0.0/- Writing modifier v1.0.0/aiul/usage-levels/generation/1.0.0/- Generation usage level v1.0.0
Latest version shortcuts:
/aiul/{type}/{id}/
These URLs redirect to the latest version:
/aiul/licenses/na/→/aiul/licenses/na/1.0.0//aiul/modifiers/writing/→/aiul/modifiers/writing/1.0.0/
Combinations use a base URL with query parameters for versioning:
/combinations/{license-code}-{modifier-code}.html?license={version}&modifier={version}
Examples:
/combinations/na-wr.html- Default (latest versions)/combinations/na-wr.html?license=1.0.0&modifier=1.0.0- Specific versions/combinations/cd-im.html?license=1.1.0&modifier=1.0.0- Mixed versions
Benefits:
- Stable URLs for combinations (48 pages instead of 48×N×M pages)
- Version-specific views via query parameters
- Easy to share specific version combinations
- Single page to maintain per combination
All version metadata is stored in _data/aiul.yml:
licenses:
items:
na:
name: "No Attribution"
code: "NA"
versions:
1.0.0:
released: "2025-12-09"
url: "/aiul/licenses/na/1.0.0/"
modifiers:
items:
writing:
name: "Writing"
code: "WR"
versions:
1.0.0:
released: "2024-01-15"
url: "/aiul/modifiers/writing/1.0.0/"_aiul/
licenses/
na/
index.md # Redirects to latest version
1.0.0/
index.md # Full license content
modifiers/
writing/
index.md # Redirects to latest version
1.0.0/
index.md # Full modifier content
usage-levels/
generation/
index.md # Redirects to latest version
1.0.0/
index.md # Full usage level content
The original collection files remain for backward compatibility and combination generation:
_licenses/
aiul-na.md # Has redirect_to: /licenses/na/
_modifiers/
writing.md # Has redirect_to: /modifiers/writing/
These files include redirect_to frontmatter that sends users to the new AIUL structure.
Combination pages include a version selector that allows users to:
- View current version information
- Select different license versions
- Select different modifier versions
- See the URL for the selected version combination
The JavaScript on combination pages:
- Reads
?license=and?modifier=query parameters - Updates dropdown selectors to match
- Displays version info when viewing non-latest versions
- Updates the URL when versions are changed
To add a new version of a license, modifier, or usage level:
# Example: Creating NA license v1.1.0
mkdir -p _aiul/licenses/na/1.1.0
cp _aiul/licenses/na/1.0.0/index.md _aiul/licenses/na/1.1.0/index.mdEdit the new index.md:
---
layout: aiul
title: "No Attribution (NA)"
version: "1.1.0"
released: "2025-06-15"
redirect_from:
- /licenses/aiul-na.html
permalink: /aiul/licenses/na/1.1.0/
---Edit _data/aiul.yml to add the new version:
licenses:
items:
na:
versions:
1.1.0:
released: "2025-06-15"
url: "/aiul/licenses/na/1.1.0/"
1.0.0:
released: "2025-12-09"
url: "/aiul/licenses/na/1.0.0/"If this is the new latest version, update the redirect page:
# _aiul/licenses/na/index.md
---
layout: aiul
redirect_to: /aiul/licenses/na/1.1.0/
permalink: /aiul/licenses/na/
---The combination pages automatically populate version selectors from _data/aiul.yml, so no additional changes are needed if you've updated the YAML file correctly.
- Maintainable: Only 6 licenses + 8 modifiers = 14 versioned items to manage
- Flexible: 48 combination pages support any version via query params
- Scalable: Adding new versions doesn't exponentially increase file count
- User-Friendly: Clean URLs with optional version parameters
- Backward Compatible: Old URLs redirect to new structure
- Creative Commons-style: Follows established patterns like CC licenses
All old URLs redirect to the new structure:
/licenses/aiul-na.html→/aiul/licenses/na/→/aiul/licenses/na/1.0.0//modifiers/writing.html→/aiul/modifiers/writing/→/aiul/modifiers/writing/1.0.0/
This is accomplished using the jekyll-redirect-from plugin with redirect_from and redirect_to frontmatter.
- NA (No Attribution) - v1.0.0
- WA (With Attribution) - v1.0.0
- CD (Commercially Derived) - v1.0.0
- TC (Training/Curriculum) - v1.0.0
- DP (Derivative Prohibited) - v1.0.0
- IU (Internal Use) - v1.0.0
- Writing (WR) - v1.0.0
- Image (IM) - v1.0.0
- Video (VD) - v1.0.0
- Audio (AU) - v1.0.0
- 3D (3D) - v1.0.0
- Traditional Media (TR) - v1.0.0
- Mixed Media (MX) - v1.0.0
- Code (CO) - v1.0.0
- Generation - v1.0.0
- Ideation - v1.0.0
- Refinement - v1.0.0
- Assistance - v1.0.0
- Current version: 1.0.0
- Jekyll Collections:
_aiul,_licenses,_modifierscollections - Layouts:
aiul.html- Main layout for AIUL content pagescombination-versioned.html- Layout for combination pages with version support
- Plugin:
combination_generator.rbgenerates 48 combination pages with versioned layout - Redirect Plugin:
jekyll-redirect-fromhandles URL redirects - Data:
_data/aiul.ymlstores all version metadata - JavaScript: Client-side handling of version query parameters on combination pages