Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

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

已關閉
#132 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
48/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
javascript, node.js

研究方向

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.

由索引模型根據 Issue 內容生成。

描述

bug priority: high

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

  1. In previewEligibility, restrict automatic og:image fetching to categories where the page image is the asset itself (2d, 3d, characters, animation, audio, shaders-vfx, environment, video), and require an explicit maintainer-checked preview: URL for tools and fonts. Remove the 40 existing tools/fonts records until pinned.
  2. For attribution licences (CC-BY*, CC-BY-SA*), require publisher or attribution_string; otherwise return { ok: false, reason: "attribution licence without a creator name" }. checkThumbManifest then flags the six records.
  3. previewCredit() prefers attribution_string, then publisher. Give card images a title or visible credit for CC-BY.
  4. 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.

主要語言
JavaScript
星號
58
分支
15
平均合併
16 小時 53 分鐘
30 天內合併 PR
14

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

TMHSDigital/Free-Game-Dev-Assets 的其他 Issue

查看 TMHSDigital/Free-Game-Dev-Assets 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。