CycloneDX / CycloneDX/specification
[FEATURE]: there SHOULD be at most one "declared" and one "conclude" license per component
- Dominant language
- XSLT
- Stars
- 547
- Forks
- 93
- Avg merge
- 7h 11m
- Merged PRs (30d)
- 37
Description
## Describe the feature
CycloneDX allows multiple licenses in parallel, per component/evidence/etc.
Currently, it is possible to have multiple "declared" licenses.
Currently, it is possible to have multiple "concluded" licenses.
It is desired to only have one "concluded" license -- how would you have multiple?
Similar situation with the "declared" licenses.
For evidences, we have the desire to not have any license acknowledgement at all.
Changing this from a "MAY" (current state) to a "MUST"/"MUST NOT" - would be a breaking change.
Using a "SHOULD" might be possible easily for ambiguous license lists.
Using a "MUST" for license expressions - for "concluded", and "SHOULD" for "declared".
There must be no constraints for license evidence!
## Possible solutions
Change the spec tests
- for evidences, have a text say "licenses should not have an `acknowledgement`, it they do, it shall be ignored."
- for components/services/etc, have the text say "licenses should have an`acknowledgement`; the same acknowledgement shall be used not more than once."
a follow up: create a ticket for v2.0 that makes these should/shall a must.
## Alternatives
What other things would suite the needs?
## Additional context
this ticket was created because of
- https://github.com/CycloneDX/specification/issues/454#issuecomment-2764224451
- https://github.com/CycloneDX/specification/issues/454#issuecomment-2710949796
Contributor guide
Assessment
This issue has not been assessed yet.