Skip to content

docs: attribute the projects this reimplements - #44

Merged
blairham merged 1 commit into
mainfrom
launch-prep
Aug 18, 2026
Merged

docs: attribute the projects this reimplements#44
blairham merged 1 commit into
mainfrom
launch-prep

Conversation

@blairham

Copy link
Copy Markdown
Owner

A port that does not name what it ports from is the easiest possible thing to be criticised for, and right now this repo does not name it anywhere binding. There is no NOTICE, and neither upstream copyright appears in the tree.

  • NOTICE — reproduces the MIT licenses of pre-commit (© 2014 Anthony Sottile, Ken Struys) and identify (© 2017 Chris Kuehl, Anthony Sottile) in full, and states that this project is not affiliated with or endorsed by either.
  • README — an Attribution section ahead of the license, including where to report bugs: here, not upstream. That line exists to keep our defects out of their tracker.
  • internal/identify/identify.go — a package comment recording that the tag tables follow upstream's data and that upstream wins when they disagree. It is the one place where the derivation is close enough to be worth marking in the source.
  • .goreleaser.yaml — ships NOTICE in every archive. Apache-2.0 §4(d) wants the notice travelling with the distribution, and a NOTICE only in the repo does not do that. Setting files: replaces GoReleaser's defaults, so LICENSE and README.md are relisted.

No behavior change. goreleaser check passes.

Refs #43

This repo is Apache-2.0 and reimplements two MIT-licensed projects, and
until now said so nowhere that carries legal weight: no NOTICE, and no
copyright line for either upstream anywhere in the tree. The README's
one-line "a Go reimplementation of pre-commit" is a description, not an
attribution.

internal/identify is the concrete exposure. Its extension, filename and
interpreter tables follow upstream identify's data closely, because they
have to — those tags are what hooks' types filters match against, so a
table that diverges is a hook that silently skips files.

NOTICE reproduces both MIT licenses in full and states plainly that this
is neither affiliated with nor endorsed by the pre-commit project, so a
reader who arrives from upstream learns that in the first paragraph
rather than inferring it. GoReleaser now ships NOTICE in every archive,
which is what Apache-2.0 section 4(d) actually asks for; listing files at
all overrides its defaults, hence LICENSE and README reappearing there.

Refs #43
@blairham
blairham merged commit 3535efb into main Aug 18, 2026
5 checks passed
@blairham
blairham deleted the launch-prep branch August 18, 2026 01:13
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