-
Notifications
You must be signed in to change notification settings - Fork 311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setting author information for all SBOM reporters #9017
Comments
By the way, I'm happy to take the task, or at least contribute partially. |
That's appreciated! As this is a bigger change, involving sensitive locations like configuration (which we do not want to break for existing users), I recommend to participate in one of our weekly community calls in order to present our issue to the audience. A few initial random and incomplete remarks from my side:
Personally, I'm a bit reluctant to implementing this in a way so that it affects really all reporters, or at least all reporters that create SBOMs. That's because in ORT each reporter is a plugin to the reporter module / command, an as such does not know anything about other reporters. With that in mind it seems weird to create some coupling between otherwise independent reporter plugins by configuring them all via common settings. Given that we only have two major SBOM formats right now, I believe it's not asking too much to have the user configure the author information for both of these separately.
That's actually not completely true anymore. As of #9004 author / creator information can actually be set on the command line at least for the SPDX reporter. |
Of course! I'm happy to participate. Since the project Wiki states that we should put issues on the agenda - How can I put our issue on the agenda?
I strongly believe that from a user perspective, the change brings a lot of value.
I agree, it is not too much to ask for. However, I then would suggest to display a warning message when an additional SBOM reporter is added but the author information is only set for one. In addition, I would also make this clear in the documentation to avoid unpleasent surprises.
That is indeed the case. Actually, you can do that since ORT release 29.0.0 |
Just let us know, preferably via Slack (but in this case here is fine), what to add and on which date. I believe something went wrong in your quoting, but this should be your sentence:
The last sentence is exactly my point: IMO it does not make sense to move configuration options that only a minority of reporters use to global configuration. Instead such options should go to reporter-specific configuration (either in |
I will then let you know via Slack.
As said, I'm totally fine with that but I would recommend making that as clear as possible so no one is suprised. |
What is the feature you want to request?
User story 1: global configuration with
config.yml
As an ORT user, I want to set the SBOM author information globally for all reporters, so that I can maintain the author information globally for all repositories in one and only one place.
User story 2: repository configuration with
.ort.yml
As an ORT user, I want to set the SBOM author information on a repository level for all reporters, so that I can overwrite the author information from the global
config.yml
, and maintain the author information for the repository in one and only one place.User story 3: command line arguments
As an ORT user, I want to set the SBOM author information with command line arguments for all reporters, so that I can overwrite the author information from the repositorie's
.ort.yml
.In the following, I use the two Software Bill of Materials (SBOMs) standards CycloneDX and SPDX examples on how the expected output should look. However, the author information should be included in all other reports as well. The following information is given
SPDX
The following shows how the author information should be displayed for SPDX version 2.2.
CycloneDX
The following shows how the author information should be displayed for CycloneDX version 1.5.
Describe the solution you would like
To address the three user stories from above, I would like to set the author information in
config.yml
file globally, on the repository level in.ort.yml
, and on the command line with options. The following shows ayml
file which sets the author information. Please note that I would expect the configuration for the global and repository level to be identical.And in the case of multiple authors, I would expect the following.
For the command line arguments, I would expect it to work as follows.
And for multiple authors the following.
Alternatives you have considered
Within the tool, there are no alternatives to set the author information. Neither can you set it globally, nor can you set it on a repository level. In addition, this information can also not be set as a command line argument. See discussion at #9003.
Outside of the tool, there are ways on how to include the information. Apart from the obvious way to copy and paste the information manually into the file, it is possible to use software from other parties to automatically insert author information. See for example the following code that uses
xmlstarlet
to insert the author information into a CycloneDX SBOM created by ORT.Additional context
Relevance
The relevance of this feature is high. First, the Cyber Resilience Act (CRA) mandates a Software Bill of Materials (SBOM) for all digital products that are put on the market place within the European Union. Technical requirement documents of the CRA, such as the BSI-TR-03183-2, define minimum data fields for a Software Bill of Materials (SBOMs). And one of the minimum required data fields is the Creator of the SBOM. See the following verbatim Table 2 from the document.
Similarely, for the USA, the National Telecommunications and Information Administration (NTIA) and the Department of Commerce published the minimal requirements for a SBOM as well in The Minimum Elements For a Software Bill of Materials (SBOM). This publication is in the legal context of Executive Order 14028. These minimum elements also declare the author of an SBOM as being part of the minimum elements - see Author of SBOM Data within the linked document.
In short, two jurisdictions of hugh market places mandate the inclusion of SBOM author information in the SBOM. And as a result, all ORT users are potential beneficiaries of such a feature.
Bigger picture
I would argue that this feature request should be part of a larger effort with the goal to be 100% compliant with the two jurisdictions, and also with different CycloneDX and SPDX versions. The bigger effort, and hence long term goal, would hence include adding more supported versions for CycloneDX and SPDX and making sure that ORT can produce compliant SBOMs right out the box with test cases for all CycloneDX and SPDX.
ToDo List
A rough to do list might be the following
config.yml
and associated tests..ort.yml
and associated tests..ort.yml
>config.yml
.Tasks
The text was updated successfully, but these errors were encountered: