Description
The Legacy Import script contains code that checks a package's various manifest files to verify their licenses. In the registry we only accept packages with valid SPDX licenses.
When publishing or updating a package in the Registry pipeline we should verify its license. In other words, we should:
- Verify that the manifest contains a valid SPDX license string, AND
- If the repository contains LICENSE files or other manifest types (bower.json, package.json), we should check them as well and ensure they are the same as the manifest SPDX license string
I'm not completely sold on step 2 there, but it seems like we ought to try and do some verification that the manifest license does match with the other license files in the repository, so that our pledge that "packages in the registry have valid SPDX licenses" is true, and that the SPDX license in the package is actually the one in the repository more generally.
...on the other hand, I really don't know the legal ramifications of all this. It brings to mind other questions:
- What happens when the LICENSE file says BSD-3-Clause but the manifest says Apache-2.0? Should we reject this?
- What happens if there are other manifest files in the repository -- for example, alternate backends like
pureerl
?