Skip to content

docs(licensing): record the provenance of every bundled image in PROVENANCE.yaml - #9017

Draft
CaroFernando wants to merge 1 commit into
apache:mainfrom
CaroFernando:feat/image-provenance
Draft

CaroFernando wants to merge 1 commit into
apache:mainfrom
CaroFernando:feat/image-provenance

Conversation

@CaroFernando

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

Binary files can't carry a license header, so nothing in the repository records where its images and media files came from (see #8800). This PR adds PROVENANCE.yaml at the repository root, with one entry for each of the 236 image and media files tracked in git:

  • path
  • origin: project-made, third-party or unknown
  • source and license, for third-party files
  • notes: the evidence for the entry, or what still has to happen

Entries were filled from:

  • the commit that wrote each file's current content. This matters because several icons were replaced after they were first added, for example the UDF icons in chore(frontend): refresh UDF operator icons #5686;
  • embedded metadata (exiftool);
  • the description and comments of the PR that added each file;
  • a visual review.

Summary:

Origin Files
project-made 31
third-party 15 (8 already in LICENSE; 7 need follow-up, listed in #8984)
unknown 190 (13 are the vendor logos replaced by #8999)

The unknown entries are the remaining audit work for #8984. If the release goes the DISCLAIMER-WIP route agreed in #8800, they are the list the disclaimer can point to. The format follows the manifest proposed in #8985, so that issue's CI check can read this file.

This PR only records provenance. It does not replace any image or edit LICENSE; that follow-up work is tracked in #8984.

Any related issues, documentation, discussions?

Part of #8984. Related: #8800, #8985, #8982 / #8999. Audit status and plan: #8984 (comment)

Draft until:

How was this PR tested?

Documentation-only change, no code. Checks run:

# every tracked image/media file has exactly one entry, and the file parses
python3 -c "import yaml,subprocess; d=yaml.safe_load(open('PROVENANCE.yaml'))['files']; \
  t={p for p in subprocess.check_output(['git','ls-files']).decode().split() \
     if p.lower().endswith(('.png','.jpg','.jpeg','.gif','.ico','.svg','.webp','.bmp','.mp4','.wav','.mp3','.webm','.ogg'))}; \
  m={f['path'] for f in d}; print(len(d), t==m, len(m)==len(d))"
# license header check, same as check-header.yml
license-eye -c .licenserc.yaml header check

Output: 236 True True, and invalid: 0 from the header check.

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (claude-opus-5-5)

…ENANCE.yaml

Binary files cannot carry a license header, so nothing recorded where the
236 images and media files in the repository came from. Add a manifest at
the repository root with one entry per file: its origin (project-made,
third-party or unknown), and for third-party files the source and licence.

Entries were filled from git history (the commit that wrote each file's
current content), embedded metadata, the PRs that added the files, and a
visual review:
- project-made: Texera logos, UI screenshots and tutorial recordings, the
  UDF icons redrawn in apache#5686, and the sample media / comment icon that
  their PRs describe as original
- third-party: files already listed in LICENSE, plus the Apache Arrow,
  AsterixDB and Hadoop logos, the Angular CLI favicon, a Noun Project icon
  (TypeCasting.png), and a Freepik icon (DumbbellPlot.png) and an Adobe
  Stock icon (SankeyDiagram.png) that must be replaced
- unknown: everything else, with the evidence found so far

Part of apache#8984.
@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • No candidates found from git blame history.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant