AND
and OR
, but that seems like overkill
license
field in the manifest (text field, optional, and can be empty)license
field in each contract source file (text field, optional, and can be empty)AND
or OR
"extension" (if necessary, probably AND
) and also determine if a license conflict exists during audit
npm audit
does license conflict checks)
it is up to various end users of manifests to define how individual source file licenses "extend" the top level
. I’m by no means a lawyer so I could be wrong, but to me, it seems like the spec should at least address best practice for packages that have licenses defined in the top-level ”meta”
object, and for individual sources. Which, as of now is The license field declares the license associated with this package. This value should conform to the SPDX format. Packages should include this field. If a file Source Object defines its own license, that license takes precedence for that particular file over the package-scoped meta license.
it is up to various end users of manifests to define how individual source file licenses "extend" the top level
. I’m by no means a lawyer so I could be wrong, but to me, it seems like the spec should at least address best practice for packages that have licenses defined in the top-level”meta”
object, and for individual sources. Which, as of now isThe license field declares the license associated with this package. This value should conform to the SPDX format. Packages should include this field. If a file Source Object defines its own license, that license takes precedence for that particular file over the package-scoped meta license.
So we have two options:
AND
or OR
) the project-wide license”meta”
license. Leaving it up to individual tooling / frameworks to decide if they want to include a license for a SourceObject (eg. solc metadata including ”license”
in a SourceObject would still be a valid ethpm package).
”license”
field for a SourceObject. On the other hand, this introduces complexities regarding which license takes precedence as @fubuloubu elaborated upon.