update license lists from official spdx data #34
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Update licenses in spdxexp/license.go to the latest set of official spdx licenses.
Active licenses and deprecated licenses were extracted from spdx/license-list-data/json/licenses.json.
Exception licenses were extracted from spdx/license-list-data/json/exceptions.json.
Extraction Utility
A utility to extract the license ids from the official files was created. The following describes what it does, how to run it, and how to update go-spdx to use the updated ids.
Extracts license, deprecation, and exception ids from the official spdx license list data. The source data needs to be manually updated by copying the licenses.json file from https://github.com/spdx/license-list-data/blob/main/json/licenses.json and exceptions.json file from https://github.com/spdx/license-list-data/blob/main/json/exceptions.json.
After running the extract command, the license_ids.json, deprecated_ids.json, and exception_ids.json files will be overwritten with the extracted ids. These license ids can then be used to update the spdxexp/license.go file.
Remaining Work
Update range data for licenses. This requires human analysis.