-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Goal
Track licenses of used tools in dotfiles.
Proposal
Incorporate a LICENSE file into each subfolder. For 1:1 mapping of folder to tools, the tool will simply state the license of the tool with a SPDX identifier. For folders incorporating multiple tools (e.g., nvim with plugins), collect all licenses.
The format of the license file will be
<TOOLNAME>\t<SPDX identifier>
The total license file for dotfiles will be stored in the root folder by concatenating all (lexicographically sorted) subfolders' licenses and by prepending a header.
This root license file will be validated by CI to be up to date.
To validate that individual license files are up to date, a best effort approach is taken:
For brew-installed libraries we use brew info and scrape the license info out. Due to this, we will constrain the license checking for macOS only in CI. Yet, the license file will equally extend to all supported platforms. There is no library that has different licenses for different platforms.
For vim plugins we scan the installed folder of the plugins for LICENSE/LICENCE files.
- How to convert the text of a license to a SPDX identifier? Use a tool for that?
- Or do we want to scrape the github API for the license?
Considered alternatives
Use a full blown license validation tool: Discarded as it is too involved. I don't expect many changes / additions of tools or changes of licenses in tools. A bare-bones validation is sufficient.