Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Why

...

include a license notice in each file in a repo (with exceptions)?

It is inadequate to provide a single license file at the top of an open source project repo, for the following reasons:

  • Files can be pulled out of the repo and use for arbitrary purposes, and the license will not go with them unless the user makes the effort to copy the license into the files they use. If the files carry a specific license, inadvertent loss of license clarity would be avoided, and abuse of this would be more significantly inhibited.
  • in general, the practice of not having a license in each file will complicate efforts to scan for
    • compatibility of code with other code it tightly integrates with (e.g. through “import” or linking)
    • the provenance of the code (the history of contributions, who owns the copyright, etc)
    • Such a process would have to somehow know:
      • where the original source repo of the project is (associate the integrated code with a project)
      • where to find the license file in the repo (there are common practices, but no firm standards for this)

...

  • the file does meet the criteria above
  • the file type is (conventionally) compatible but the project software isn't
  • however, this really represents a bug in the project software

...