thumbs: the preview licence gate treats a program's software licence as a licence for its website logo or social card, and CC-BY previews carry no creator credit
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript, node.js
- Domínio
- documentation, tooling, web-dev
Direção de pesquisa
Start with site/lib/thumbs.mjs and trace previewEligibility, previewCredit() and checkThumbManifest; inspect the cited records in site/thumbs.json. Then review site/lib/cards.mjs and the Preview images paragraph in CONTRIBUTING.md. Run npm run validate and check that unpinned tools/fonts and CC-BY entries without creator names are flagged, while CC-BY captions show the recorded credit.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Why it matters
Licence correctness is this catalog's whole promise, and the thumbnail pipeline is the one place the repo redistributes third-party bytes. The gate in site/lib/thumbs.mjs (PREVIEW_LICENSES) asks only "is the entry's licence open?", then stores the page's og:image. For tools and fonts that is the wrong question: MIT/GPL/Apache on the program does not license the project's website artwork, logo or social card, and OFL on a font does not license the foundry's marketing image. Separately, CC-BY images are shown without naming the creator, which CC-BY requires.
Evidence (at 69387df)
Tool thumbnails stored under the program's licence (site/thumbs.json, 31 tools records), for example:
| id | stored licence | image actually fetched |
|---|---|---|
| blender | GPL-2.0-or-later | blender.org splash screen (splash art is CC-BY by its artist; the Blender logo is trademarked) |
| gimp | GPL-3.0-or-later | Wilber mascot image from gimp.org |
| audacity, godot-engine, colmap, opentoonz, ldtk, snowb-bmf | GPL / MIT / BSD | the site's og-image / share-image social card |
| squoosh | Apache-2.0 | the app icon (Google branding) |
| tenacity | GPL-2.0-or-later | codeberg.org summary card |
| atkinson-hyperlegible (fonts) | SIL OFL | Braille Institute social_logo.jpg |
| jetbrains-mono, inter, orbitron (fonts) | SIL OFL | foundry preview / marketing images |
CONTRIBUTING.md:90 states the assumption explicitly: "CC0, CC-BY, MIT, OFL, GPL and the other open licences that allow a resized copy". SKIP_HOSTS (site/lib/thumbs.mjs:41) only excludes github.com and fonts.google.com.
CC-BY credit: previewCredit() at site/lib/thumbs.mjs:156-159 renders "Preview image from the source page, shown under CC-BY-4.0" when publisher is empty, naming nobody. Six of the thirteen CC-BY thumbnails are in that state (adventure-kid-irs, budgetpixel-sfx, congusbongus-footsteps-surfaces, eric-skiff-resistor-anthems, filmmusic-ende, dareful); five of them already carry an attribution_string that is never used. Cards (site/lib/cards.mjs:33) render the image with alt="" and no credit at all.
Also worth a line in the docs: for itch.io covers (40 of 192 records) the gate assumes the store-page cover art is under the pack's licence, which the pack licence does not say.
Suggested approach
- In
previewEligibility, restrict automaticog:imagefetching to categories where the page image is the asset itself (2d, 3d, characters, animation, audio, shaders-vfx, environment, video), and require an explicit maintainer-checkedpreview:URL fortoolsandfonts. Remove the 40 existing tools/fonts records until pinned. - For attribution licences (CC-BY*, CC-BY-SA*), require
publisherorattribution_string; otherwise return{ ok: false, reason: "attribution licence without a creator name" }.checkThumbManifestthen flags the six records. previewCredit()prefersattribution_string, thenpublisher. Give card images atitleor visible credit for CC-BY.- Rewrite the CONTRIBUTING "Preview images" paragraph to say what the gate actually guarantees, and add the itch cover-art caveat.
Done when
npm run validate fails on a tools/fonts thumbnail without a preview: pin and on a CC-BY thumbnail with no creator name; the entry page caption for a CC-BY image reads the recorded credit line; CONTRIBUTING describes the real rule.
- Linguagem predominante
- JavaScript
- Estrelas
- 58
- Forks
- 15
- Merge médio
- 16h 53min
- PRs com merge (30d)
- 14
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de TMHSDigital/Free-Game-Dev-Assets
-
community marketing priority: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
TMHSDigital/Free-Game-Dev-Assets#151 ·
Mantenedores costumam responder em até 1 dia
-
documentation priority: medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
TMHSDigital/Free-Game-Dev-Assets#72 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 68/100
TMHSDigital/Free-Game-Dev-Assets#3 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
marketing priority: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
TMHSDigital/Free-Game-Dev-Assets#152 ·
Mantenedores costumam responder em até 1 dia
-
feature priority: medium
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
TMHSDigital/Free-Game-Dev-Assets#144 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de TMHSDigital/Free-Game-Dev-Assets
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
521xueweihan/HelloGitHub#4115 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
outline/outline#14348 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
area:install bug needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia