DependencyTrack / DependencyTrack/dependency-track
Improve documentation - license manangement and policy violations
- Dominant language
- Java
- Stars
- 4.2k
- Forks
- 811
- Avg merge
- 8h 39m
- Merged PRs (30d)
- 237
Description
### Current Behavior
From the documentation it is unclear to me how to work with DT _the right way_ when it comes to license management.
Setting up policies is rather self explanatory from the UI but after that I feel somewhat lost.
Let's say we add a policy to warn us for every component where the license is unresolved.
Now, even for a simple OCI with a debian base and a handful of python packages I ended up with 37 policy violations. For some reason, either trivy or DT didn't pick up the license information, e.g., for [wheel](https://pypi.org/project/wheel/) (it's MIT).
So what do I do now? I click on the component, look up the license, select it in the drop down. Now what, do I hit `rejected` or `approved`? Do I reject the finding (false positive) or do I approve the component? A little explanation would help here. Do I also need to actively suppress the finding if it's a false positive? The [docs](https://docs.dependencytrack.org/triage/suppression/) suggest this, but it's not very clear. The analysis outcomes mentioned [there](https://docs.dependencytrack.org/triage/suppression/#best-practice) (`FALSE_POSITIVE`, `NOT_AFFECTED`) do not apply. My DT 4.10.1 only has `not set`, `rejected` and `approved` in the policy violation details.
Also, is this the way to go about this? If I enter `(MIT OR Apache-2.0)` for [sniffio 1.3.0](https://pypi.org/project/sniffio/) I guess that when a new build contains, let's say, sniffio 1.3.1 I will again receive a policy violation, right? At least that's what I'd expect (for licenses may change).
Ofc, I don't want to chase down licenses all day long. What do I do with this? Do I check the SBOM and open an issue with trivy if the license is missing there? Or is it a DT issue and I should open an issue here?
A clear guide for actual users would be great.
### Proposed Behavior
A real life how-to guide how to actually perform license management with DT with several projects and project versions would come in handy (maybe I just haven't found it yet?) - including what to do with false positives.
(Plus, maybe, a tooltip for the "Analysis" dropdown.)
### Checklist
- [X] I have read and understand the [contributing guidelines](https://github.com/DependencyTrack/dependency-track/blob/master/CONTRIBUTING.md#filing-issues)
- [X] I have checked the [existing issues](https://github.com/DependencyTrack/dependency-track/issues) for whether this enhancement was already requested
Contributor guide
Assessment
This issue has not been assessed yet.