Description
Several package types have their own conventions and specification on how they document licenses. We can have a detection that is specialized to such a type and this has been introduced by #1403 but there are still cases where we need even further specialized detection that may need specialized data and not only specialized code reusing the existing master License detection index.
Some approaches to resolve this issue and improve the quality of license detction in package manifests includes:
-
We could build license detection rules for these, but in some cases the rules are too generic to be used everywhere and may only make sense when used in a specific package manifest license tag. For instance CRAN use they own grammar and license codes, the same would be for RPMs and Debian, etc.; or MIT or BSD are common brief ways to tag a package for a license but are words that are too generic when considered alone outside of a manifest to conclude any licensing.
-
We could build specific mapping of license codes/keys to ScanCode keys.
-
We could build several smaller License indexes using rule sets that would cover 1. and 2. specifically for one of more package types. This later approach would like be a better way to capture such idioms with the least amount of work and maximum reuse of existing license detection code.
Description
Several package types have their own conventions and specification on how they document licenses. We can have a detection that is specialized to such a type and this has been introduced by #1403 but there are still cases where we need even further specialized detection that may need specialized data and not only specialized code reusing the existing master License detection index.
Some approaches to resolve this issue and improve the quality of license detction in package manifests includes:
We could build license detection rules for these, but in some cases the rules are too generic to be used everywhere and may only make sense when used in a specific package manifest license tag. For instance CRAN use they own grammar and license codes, the same would be for RPMs and Debian, etc.; or MIT or BSD are common brief ways to tag a package for a license but are words that are too generic when considered alone outside of a manifest to conclude any licensing.
We could build specific mapping of license codes/keys to ScanCode keys.
We could build several smaller License indexes using rule sets that would cover 1. and 2. specifically for one of more package types. This later approach would like be a better way to capture such idioms with the least amount of work and maximum reuse of existing license detection code.