CycloneDX / CycloneDX/specification

[FEATURE]: there SHOULD be at most one "declared" and one "conclude" license per component

Open
#619 16 comments 0 reactions 1 assignee Claimed by @jkowalleck View on GitHub
proposed core enhancement request for comment RFC notice sent RFC vote accepted
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.