Use this procedure when the licence text changes for any reason, including a typographical correction. A published version never changes, so every change ships as a new version. See Why a published version never changes for the reasoning.
Version numbers take the form MAJOR.MINOR. A minor version clarifies wording without changing the
rights or the obligations of any party. A major version changes them.
git switch -c feat/software-licence-<new>
cp software/<previous>.txt software/<new>.txt
cp software/<previous>-header.txt software/<new>-header.txt
Leave every earlier file untouched. In both new files, update:
| What | Where |
|---|---|
| Version number and date | the banner, and the notice in the appendix |
| Identifier | LicenseRef-mbseconsulting-software-<new> |
| Canonical URL | twice in the licence text, once in the notice |
The licence text wraps at 79 columns, indents body text by three spaces, centres the banner on column 35, and uses ASCII alone. Preserve that formatting; the published page reproduces the whitespace exactly.
The standalone notice reproduces the appendix of the licence. Confirm they agree:
diff <(sed -n '/Copyright $YEAR/,$p' software/<new>.txt | sed 's/^ *//' | sed '/^$/d') \
<(sed 's/^ *//' software/<new>-header.txt | sed '/^$/d')
Empty output means they agree.
Add the new row to the table in README.md, keeping every earlier row so that an
old identifier still resolves. Then:
git push -u origin HEAD
gh pr create --fill
gh pr merge --squash --delete-branch
main accepts no direct pushes. GitHub Pages deploys the merge within a minute.
Follow Verify a published text.