Skip to content
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

Example for license texts #53

Open
cuhland opened this issue Dec 11, 2024 · 1 comment
Open

Example for license texts #53

cuhland opened this issue Dec 11, 2024 · 1 comment
Labels
help wanted Extra attention is needed

Comments

@cuhland
Copy link

cuhland commented Dec 11, 2024

The CyclonDX specification allows to add the text of a license

  1. since 1.2 directly in the license
  2. since 1.3 as evidence

Unfortunately there is no example of this in the bom-examples repository.

Another topic I wanted to bring up here (don't know where to address it otherwise) is the implementation in the various projects. The generators are not working consistent, and most miss the option to configure if the license-text should be added directly to the license or if it should be added as evidence.

I will give an overview here

project inserted as
cyclonedx-gomod ?
cyclonedx-maven-plugin license
cyclonedx-node-yarn evidence
cyclonedx-node-npm evidence
cyclonedx-webpack-plugin evidence
cyclonedx-python license and/or evidence
to be continued ..

*) the list was adjusted, extended and updated my the CycloneDX-CWG/maintainers

@jkowalleck
Copy link
Member

jkowalleck commented Dec 11, 2024

Thank you for the feedback, @cuhland .

Another topic I wanted to bring up here (don't know where to address it otherwise) is the implementation in the various projects. The generators are not working consistent, and most miss the option to configure if the license-text should be added directly to the license or if it should be added as evidence.

Observed license texts are "evidence", while declared licenses are component licenses with the respective "acknowledgement".

The respective implementation heavily depends on the data source, and therefore there cannot be a consistency.
For example, in python it is possible to include or even import license texts in the package metadata/manifest -- this is a declared license text.
For example, in NodeJS there is only a license id/expression possible in metadata/manifest, license texts need to be gathered from files in the package -- this is a observed license (license evidence).

here is an example with observed licenses in an NPM-sourced package: https://github.com/CycloneDX/cyclonedx-webpack-plugin/blob/affddd57a515e8ac49ba5d43fa576fb92a4993f5/tests/integration/__snapshots__/index.test.js.snap#L6760-L6805
here is an example with declared licenses in a Python-env package: https://github.com/CycloneDX/cyclonedx-python/blob/main/tests/_data/snapshots/environment/pep639-texts_with-license-pep639_1.6.xml.bin


Our CycloneDX generators are community efforts. If you feel there is a need for improvement, let them know - write a ticket in the respective project, describe your needs, and see if your request is feasible based on the actual data source the generator works on. You can ping me in any such ticket, and i will see if i can help the maintainers figure things out :-)
In some projects the respective tickets for these feature already exist. For some project the feature is in the making, for other projects the feature is still not championed. Feel free to contribute where ever you (or your organization) can.

@jkowalleck jkowalleck added the help wanted Extra attention is needed label Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants