Skip to content

Relicense software from CC BY-NC 4.0 to AGPL-3.0 - #1

Open
liquidguru wants to merge 1 commit into
mainfrom
relicense-agpl
Open

liquidguru wants to merge 1 commit into
mainfrom
relicense-agpl

Conversation

@liquidguru

Copy link
Copy Markdown
Owner

CC BY-NC 4.0 is not an OSI-approved open-source licence — the NonCommercial clause fails the Open Source Definition by discriminating against a field of endeavour, and Creative Commons themselves advise against CC licences for software. GitHub's licence detector currently classifies this repo as "Other" as a result. This relicenses the code so idGuru is genuinely open source.

What changes

File Change
LICENSE Replaced with the canonical AGPL-3.0 text
LICENSE-MEDIA New — CC BY-NC 4.0, covering the underwater footage, the docs/ screenshots, and any dataset derived from them
underwater_indexer.py CC BY-NC banner replaced with an AGPL header
launcher.pyw One-line CC BY-NC notice replaced with a full AGPL header
idguru_main.py Had no licence header; now carries one
README.md Licence section rewritten as a code/media split
TODO.md Distribution section updated

Why AGPL rather than a permissive licence

The AGPL preserves what the NonCommercial clause was actually protecting: anyone commercialising idGuru — including as a hosted service — must publish their source. A permissive licence would not. Sole copyright holder, so dual-licensing stays available if a commercial arrangement ever makes sense.

Why this is unblocked

  • Sole copyright holder, no external contributors, no forks
  • All dependencies are permissive: anthropic / rich / rawpy MIT, Pillow HPND, Flask BSD-3
  • ffmpeg is invoked as a subprocess and never distributed, so no copyleft obligation reaches this code

Notes

  • The code and the footage are deliberately licensed separately. CC BY-NC is a poor software licence but a sensible one for a working videographer's archive.
  • Releases already distributed under CC BY-NC remain available under those terms.
  • No version bump included — there is no version constant in the code, and the changelog stops at v1.2.8. Bump separately if this should be v1.3.
  • The AGPL header uses the standard "or (at your option) any later version" wording. Drop it if you want to pin to v3 exactly.
  • Once this lands on main, GitHub's licence detector should flip from "Other" to "AGPL-3.0".

CC BY-NC 4.0 is not an OSI-approved open-source licence — the
NonCommercial clause fails the Open Source Definition, and GitHub's
licence detector classified the repo as "other". This relicenses the
code so idGuru is genuinely open source.

- LICENSE is now the canonical AGPL-3.0 text
- LICENSE-MEDIA (new) keeps CC BY-NC 4.0 on the underwater footage,
  the docs/ screenshots, and any dataset derived from them
- Licence headers updated in underwater_indexer.py and launcher.pyw;
  idguru_main.py had none and now carries one
- README and TODO updated to describe the code/media split

AGPL rather than a permissive licence preserves what the NC clause was
protecting: anyone commercialising idGuru, including as a hosted
service, must publish their source. Sole copyright holder, no external
contributors, and all dependencies are permissive (anthropic/rich/rawpy
MIT, Pillow HPND, Flask BSD-3); ffmpeg is invoked as a subprocess and
never distributed, so no copyleft obligation reaches this code.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant