Hi. I have been working through some examples in our
User Scenarios document and have a question related to the multiplicity of files.
Specifically, I wonder if it might be better to have a 1:1 relationship between an SBOM and a single artifact file. I say this because the file is the level of granularity at which we want to attach intellectual property (license) data.
Let’s say we have three files, a, b and c. Files a and b are GPL licensed., File c is BSD.
Which of the following do we do?
- Files a, b, and c each have an associated SBOM, in addition there is a wrapper SBOM that has ‘contains’ relationships with SBOM_A, SBOM_B, and SBOM_C.
- Files a and b have an associated SBOM. File c has an associated SBOM. In addition there is a wrapper SBOM with ‘contains’ relationships to SBOM_A&B, SBOM_C.
- Modify our model so that licenseinfo can be carried on the file element, and all files can be described in a single SBOM
- Something else.
Am I understanding our current model correctly?
From: Philippe-Emmanuel Douziech
Sent: Tuesday, October 22, 2019 10:51 AM
To: Ido Green Dan Lorenc
Cc: Kay Williams
Subject: RE: [EXT] Artifact, or Element, or Package
As you can guess from my first model, I'm also in favor of Artifact.
About the multiplicity of files, the model is quite clear with a [1..*] cardinality between the Artifact class and the File class.
To help, we could make sure that every illustrations of the different usage scenarii are multi-file situations.
For your information, I posted updated versions of the documents (docx, pdf, xmi) and illustrations in the SBOM google drive; they contain:
* optional association between the Document class and the LicenseInfo
But I wonder how can we make it clear that it could contain multiple files.
On Tue, Oct 22, 2019 at 09:10 Dan Lorenc <>
I like artifact as well. I acknowledge that it has the implication of only a single entity, but I think it's still our best option. We should make it clear that
a "logical artifact" can refer to multiple files.
On Mon, Oct 21, 2019 at 6:31 PM Martin, Robert A. <>
In OMG artifact is the favored term for this.
Here is another nomenclature question for our group. I was talking with Kate Stewart (Linux Foundation, SPDX) this afternoon. We were discussing what to call the ‘target’ or
‘object’ of an SBOM. In other words, what is the ‘thing’ an SBOM describes. We think the ‘thing’ is broad, where it may span the following:
Commit, File Archive, Package, Container (all of which span multiple files)
File System, Cloud Service (all of which span multiple packages, containers, etc.)
Kate mentioned that in SPDX today the ‘thing’ is an ‘element’. (Not a ‘package’ – Philippe-Emmanuel, we may have been mapping to the wrong SPDX element).
I propose that for the SBOM we call the ‘thing’ an ‘artifact’. This has the following implications:
SPDX 3.0 would need to rename the ‘element’ field to ‘artifact’.
Philippe-Emmanuel would need to update the SBOM model to center around the term ‘artifact’.
Does this work? Thoughts?