Licence and attribution
The collection is published under CC BY 4.0. That is the strictest obligation present in it, not the loosest, so complying with it is sufficient for every file. Where a file's own record names something looser, you may rely on that instead.
What is actually in there
| Licence | Covers |
|---|---|
| CC0 | 2,625 |
| CC BY 2.0 | 2,624 |
| Public domain | 1,922 |
| CC BY 4.0 | 1,794 |
| CC BY 3.0 | 850 |
| CC BY 2.5 | 183 |
| CC BY 1.0 | 2 |
5,453 of 10,000 covers require attribution, which is 54.5%.
The credit line is already written
Every cover record carries an attribution field with a ready-made line, in the order Creative Commons itself recommends: title, creator, licence with its URL, source, and a statement of what was changed. Every cover in this corpus is a crop, so that's part of the line, not an afterthought:
"File:Downtown Hagerstown on Franklin Street.jpg", by Charlotte Jackson,
CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/), via Wikimedia
Commons, https://commons.wikimedia.org/wiki/..., croppedA stego image's own record carries a longer version of the same line, ending in what was done beyond the crop ("cropped, then modified to carry a hidden payload" for the stego half, "cropped, and re-encoded as the control half of a pair" for its clean twin), because a reader holding only that file has no other way to learn what happened to it. Stego images also inherit their cover's licence under cover_licence, so a reader who downloads one arm and never opens the cover tier still has everything the licence asks of them.
Crediting 5,453 photographers at once
Reading 5,453 records to build a credit list is not a thing anybody does. It is the reason people write "images from Wikimedia Commons" and credit nobody, so the corpus ships the list already made:
| File | What it is |
|---|---|
ATTRIBUTION.md | Every credit line, grouped by licence. Paste the section you need |
ATTRIBUTION.csv | The same lines with file, licence, licence_url, artist, title, source and attribution as columns, to join against |
Both ship beside the covers, on every host, at the root of the dataset alongside the shards.
If you used one arm rather than the whole corpus, you owe credit only for the covers you actually touched. Every sample record names its cover under source_png; collect those and join on the file column:
import csv
from load_pentimento import samples
used = {r["source_png"] for _, _, r in samples("pentimento-core-wow-0200-00000.tar")}
with open("ATTRIBUTION.csv", newline="") as fh:
for row in csv.DictReader(fh):
if row["file"] in used:
print(row["attribution"])Citing it
CITATION.cff ships beside the shards. It's Citation File Format, which is plain YAML, so you can read it as it stands or hand it to a reference manager that speaks CFF.
None of the three places the corpus is published renders it into a formatted citation for you, so copy the fields out yourself.
If something looks wrong
The manifest is authoritative, not this page. If a file's record disagrees with anything written here, the record is right and the page is stale; please say so.