Skip to content

Consider per-file Apache-2.0 license headers #18

Description

@shibaji7

Background

PR #16 (chore/guardrails) evaluated adding an insert-license pre-commit hook that enforces an Apache-2.0 header block on every .py file. It was skipped with the following reasoning:

  • LICENSE at repo root grants Apache-2.0 for the entire tree — the actual legal grant is covered.
  • Per-file headers matter only when (a) someone vendors a single file into another codebase, or (b) legal counsel of a corporate contributor requires it, or (c) a JOSS reviewer explicitly asks. None of those apply today.
  • Adding headers touches ~50 files with pure visual noise for zero technical value. Beginners will forget the header on new files → CI red → poor first-time experience.

When to act on this

Trigger conditions:

  1. A JOSS reviewer asks for per-file headers during review.
  2. A corporate contributor's legal counsel requires per-file attribution.
  3. Someone forks and vendors a single GeoPulse module into a downstream project (rare for scientific Python).

Estimated cost when we do act

  • Add insert-license pre-commit hook in .pre-commit-config.yaml with the standard 3-line Apache-2.0 header.
  • Bulk-add headers to every src/geopulse/**/*.py file (~1 PR, ~200 files, mechanically generated).
  • Document the requirement in CONTRIBUTING.md as a survival-guide entry.
  • Total: ~1 hour.

Priority

Low. Do not action unless one of the trigger conditions above is met.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions