You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
DJC: Store additional license details in DejaCode on the Package and other models #63
Problem: provide more clarity for "Declared License" vs "Concluded License" .
Benefit: support the completeness of an SBOM.
Create an additional declared_license field on Package. When a package scan is completed update both the current license_expression field and this new declared_license field with the same values. The intention is to retain the declared_license as an historical record, so that the assigned_license field essentially becomes the "concluded license" (we can change the help text on that field).
Store the additional licenses (aka "detected licenses" or "other licenses") from the scan results on the package model as well. This will support deeper analysis and reporting, enabling users to comment on why specific additional licenses impact or do not impact the licensing terms as the package is expected to be used in an organization.
@DennisClark it could also make sense to store the "other licenses" beyond the main, primary concluded license? ... actually I think you already mention this!
@pombredanne right, I meant "other licenses" when I wrote "additional licenses"! We need these to be stored to support really detail-oriented analysis and evaluations for organizations that require that.
ultimately we want to standardize on the following license terminology to be in sync with the open source community:
declared license: a license expression derived from statements in the key files of a software project, such as the NOTICE, COPYING, README, and LICENSE files.
detected licenses: license expressions derived from clues in the various files of a software project, which are very often third-party software used by the project, or test, sample and documentation files.
concluded license: a license expression curated from the declared license, where the curator has performed analysis to clarify or correct the declared license, possibly including one or more detected licenses in the license expression. In DejaCode, this is the license expression assigned to a Package.
effective license: a license expression curated in the context of the usage of a Package in a specific Product context, which may assert a license choice when that is an option. In DejaCode this is a Product Item license expression.
We need one more new field to complete this enhancement request. We already have a notes field on Package, but it is a general purpose field. We should create the following:
curation_notes: Text to explain and support the editing of license-expressions and copyright statements on a Package, as well as the usage policy.
Note that this issue focuses on Packages (as our first priority) but the model and process changes should apply in the very same manner to Components. Note however that Component license expressions are not normally applied automatically when creating a Component manually, but only when created from a Package.
Activity
pombredanne commentedon Mar 14, 2024
@DennisClark it could also make sense to store the "other licenses" beyond the main, primary concluded license? ... actually I think you already mention this!
DennisClark commentedon Mar 14, 2024
@pombredanne right, I meant "other licenses" when I wrote "additional licenses"! We need these to be stored to support really detail-oriented analysis and evaluations for organizations that require that.
DennisClark commentedon Mar 15, 2024
ultimately we want to standardize on the following license terminology to be in sync with the open source community:
DennisClark commentedon Mar 19, 2024
We need one more new field to complete this enhancement request. We already have a notes field on Package, but it is a general purpose field. We should create the following:
curation_notes: Text to explain and support the editing of license-expressions and copyright statements on a Package, as well as the usage policy.
mjherzog commentedon Apr 19, 2024
@DennisClark It seems that CDX 1.6 will support reporting declared license in addition to concluded license.
This is strangely called "acknowledgement" under compoents/licenses/SPDX License Expression:
https://cyclonedx.org/docs/1.6/json/#components_items_licenses_oneOf_i1_items_i0_acknowledgement
DennisClark commentedon Apr 19, 2024
Note that this issue focuses on Packages (as our first priority) but the model and process changes should apply in the very same manner to Components. Note however that Component license expressions are not normally applied automatically when creating a Component manually, but only when created from a Package.
30 remaining items
Re-enabled keywords in PurlDB to Package #63
Refine the display of license fields on PurlDB tab #63
Refactor the merge logic of Component from Package merge #63
Add expression rendering for new license fields #63
Add support for rendering any expression as SPDX #63
Refine get_expression_as_spdx and add unti test #63
Fix and add unit tests #63
Add changelog entry #63
Store additional license fields #63 (#130)
tdruez commentedon Jul 3, 2024
Merged and deployed.
Use the declared_license_expression_spdx value in SPDX output #63
Consolidate the usage of get_expression_as_spdx #63
Use the declared_license_expression_spdx value in SPDX output #63 (#140)