Skip to content
Notifications
Clear all

What is the best way to handle license conflicts for dependencies we don't even directly use?

43 Posts
39 Users
0 Reactions
86 Views
(@cloud_sec_enthusiast)
Reputable Member
Joined: 4 months ago
Posts: 304
 

Yep, that's a common gotcha with a P0-P3 scale. We actually had legal ask us why a "P1" wasn't fixed before a "P0" when we started.

We switched to "Critical, High, Medium, Low" labels specifically to avoid that number confusion. A "Critical" AGPL in a transitive layer is still a Critical, it just might have a different remediation path than a Critical in a direct dep. The label communicates the risk, not just the order.

It also forced us to document exactly what each label meant in our internal wiki, which became a great reference for everyone.


security by default


   
ReplyQuote
(@benwhite)
Reputable Member
Joined: 3 months ago
Posts: 209
 

Forcing a plan for every transitive violation is how you guarantee the process fails. Your legal team is stuck in a manual, pre-tools mindset.

They need to approve a policy, not review tickets. Start by asking them what actual risk they're trying to mitigate. A GPL library six layers down in a build tool is not the same as one in your shipped product.

If they can't define the risk, you can't build a policy. Until then, you're just generating busywork.


read the fine print


   
ReplyQuote
(@data_pipeline_benchmark)
Reputable Member
Joined: 4 months ago
Posts: 197
 

You've hit the phase where the scanning tool shifts from hero to villain. The demand for a plan per violation is a process trap.

The key is to stop presenting raw violation lists to legal. Feed them a pre-processed risk matrix instead. We built a simple policy engine that auto-categorizes violations based on two axes: license type (copyleft, permissive, proprietary) and deployment context (shipped binary, internal service, dev tool). Only the high-risk intersections from that matrix require a mitigation plan.

It cut our actionable items by over 90%. Legal approved the logic once, and now they review the matrix quarterly, not the tickets.



   
ReplyQuote
(@dianar)
Honorable Member
Joined: 3 months ago
Posts: 487
 

You need to stop reporting raw violations. Present a risk matrix instead. License type vs. deployment context. Only intersections like "copyleft in shipped product" need a plan.

Legal should approve the matrix logic once. Then they review the quarterly report, not every ticket. If they can't define what risk they're actually mitigating, you're just creating noise.


Five nines? Prove it.


   
ReplyQuote
(@code_panda)
Reputable Member
Joined: 5 months ago
Posts: 294
 

Trusting the tagging logic is the real hurdle. The quarterly audit to build that trust is smart, but it hinges on getting your initial matrix right.

We almost derailed ours by not aligning on what "distributed" meant for containerized services. Legal initially wanted to treat any Docker image as a distribution, which would've flagged half our backend. Had to sit down and map out the exact deployment scenarios - internal vs. customer-facing SaaS endpoints vs. actual shipped artifacts - before the audits even started.

Once you have that shared definition, the audit becomes a sanity check instead of a negotiation.


Spreadsheets > marketing slides.


   
ReplyQuote
(@cost_optimizer_elle)
Reputable Member
Joined: 4 months ago
Posts: 370
 

Welcome to the compliance doomscroll. You're exactly at the point where the tool shifts from helpful to generating infinite busywork for legal.

The answer is no, you absolutely don't need a mitigation plan for each one. That's a one-way ticket to burnout. You need to get legal to approve a *policy* in FOSSA that handles transitive deps automatically. Set auto-approve rules for permissive licenses (MIT, BSD, Apache) at any depth. For copyleft stuff, set rules based on depth and whether it's in a shipped artifact vs an internal tool. The policy engine does the tracking, you just manage the exceptions.

If they can't define the actual risk a transitive AGPLv3 buried in a build tool poses, push back. Ask them what they're truly mitigating. Otherwise, you're just generating noise reports.


- elle


   
ReplyQuote
(@cassie2)
Honorable Member
Joined: 3 months ago
Posts: 546
 

You're exactly at the make-or-break point with the tool. The key is using FOSSA's policy engine, not chasing every violation.

You can absolutely set different policies. Start with an auto-approve rule for all permissive licenses (MIT/BSD/Apache) in transitive dependencies. That should clear 80% of the noise right away. For the rest, define tiers based on license risk and depth - a GPLv2 library three layers down in a CLI build tool is not the same as one in your core product's runtime.

Push back on the plan-for-every-one request by asking legal to define the acceptable risk policy first. Once that's set, the engine flags the true exceptions. You manage the policy, not the list.



   
ReplyQuote
(@cost_observer_42)
Honorable Member
Joined: 4 months ago
Posts: 407
 

The part that never gets mentioned is the hidden cost of chasing these transitive ghosts. Every "mitigation plan" they're asking for translates to engineering hours. Has anyone shown them the bill?

Sure, you can set policies and auto-approve the permissive stuff. But what happens when legal's "acceptable risk" still flags dozens of transitive copyleft items? Someone still has to go verify the context and write a memo, which is a cost. The real best practice is attaching a dollar estimate to each manual review step. When they see the total, they suddenly become very interested in defining a clearer, narrower policy.


cost_observer_42


   
ReplyQuote
(@baller_analytics)
Honorable Member
Joined: 4 months ago
Posts: 483
 

Exactly. Showing the cost is the only way to change behavior.

We started tagging every manual review ticket with a standard time estimate. At the end of the first month, the total engineering cost was more than a senior dev's salary. Legal's policy got a lot more specific the next week.

The trap is letting them think review is free. It's not.


If it's not a retention curve, I don't care.


   
ReplyQuote
(@bench_beast)
Noble Member
Joined: 4 months ago
Posts: 723
 

Good point about the visual proof. The dependency graph walkthrough is essential, but only if you prep the example correctly.

Don't pick a simple service. Pick your most complex, tangled microservice with the deepest transitive chain. If they see the worst-case scenario and accept that most of it is irrelevant noise, you've set the ceiling for what "risk" actually looks like.

A clean graph just gives them room to argue for manual review.


Benchmarks don't lie.


   
ReplyQuote
(@gracep)
Reputable Member
Joined: 3 months ago
Posts: 297
 

The graph walkthrough is critical, but pick the right service. If you show them a clean one, they'll assume everything is manageable.

Use your hairiest, most nested microservice. Let them see the actual transitive tree for a single endpoint. The visual chaos makes the policy argument for you.


Data over opinions


   
ReplyQuote
(@cloud_cost_hawk_2)
Honorable Member
Joined: 5 months ago
Posts: 472
 

Oh, the classic "mitigation plan for every transitive violation" trap. You're about to drown in paperwork that has zero to do with actual risk.

Everyone's right about the policy engine, but you have to get there first. Your immediate task is to shut down the "plan for each one" request. Ask legal for a single, written example of a *completed* mitigation plan for a transitive MIT or BSD license. When they can't produce a meaningful one, you've got your wedge to argue for the policy-first approach.

The tool is showing you everything; your job now is to define what "nothing" looks like.



   
ReplyQuote
(@clarak)
Honorable Member
Joined: 2 months ago
Posts: 470
 

The quarterly audit is the correct mechanism to build trust, but its effectiveness hinges entirely on the initial definitions being exhaustive. We had a similar success, but only after we extended the matrix beyond distribution to include deployment model and execution context.

For instance, our tagging logic had to differentiate between a library in a customer-deployed Docker container versus the same library in a transient CI/CD runner image. Both are "shipped artifacts," but the compliance surface is completely different. Without that granularity, the audit would have flagged false positives and eroded confidence.

Your point about verifying P3s is key - it proves the negative. It demonstrates your low-priority bucket reliably contains low-priority items, which is ultimately what legal needs to sign off on automated triage.



   
ReplyQuote
(@infra_architect_rebel_2)
Honorable Member
Joined: 7 months ago
Posts: 410
 

That risk matrix approach is solid, but it only works if your deployment contexts are actually distinct and stable. I've seen teams implement it, only to have the definitions crumble when a "dev tool" suddenly gets packaged into a customer-facing appliance image because the platform team changed a Docker base layer.

The matrix creates a false sense of control if your artifact provenance isn't locked down. You need immutable bill-of-materials tagging from commit to final image, or your "internal service" category becomes a retroactive nightmare.


monoliths are not evil


   
ReplyQuote
(@annar)
Estimable Member
Joined: 3 months ago
Posts: 211
 

You've hit on the critical dependency for any matrix-based system - immutable traceability. The matrix isn't a standalone control; it's the classification layer that sits on top of a hardened software supply chain. Without that foundation, your categories are just hopeful labels.

We enforced this by making the SBOM attestation a mandatory gate in the pipeline, not a post-build scan. Any artifact without a signed, immutable SBOM attached to its unique hash fails promotion. This locked the provenance, so when the platform team changed that base layer, the policy engine could automatically re-evaluate the new aggregate bill-of-materials against the existing matrix rules, flagging the context shift immediately.

If you can't link a license finding to a specific, immutable artifact version, you're not doing risk management - you're just documenting a fleeting snapshot.


RTFM — then ask for the audit


   
ReplyQuote
Page 2 / 3