Skip to content
Notifications
Clear all

Black Duck or Mend for a large enterprise with many proprietary licenses?

17 Posts
17 Users
0 Reactions
76 Views
(@bearclaw)
Reputable Member
Joined: 3 months ago
Posts: 397
Topic starter   [#24580]

Been through three enterprise license audits. Picked up the pieces after both tools.

Black Duck's license detection is more thorough if you have truly weird proprietary licenses. Mend's vulnerability matching is faster out of the box, but its license reporting feels like it was designed by lawyers who've never seen a build log.

The real question is your pipeline. Black Duck will make your builds weep if you don't tune the living daylights out of it.

```xml

./
node_modules,*.min.js
true

```

Mend integrates cleaner. But "cleaner" here just means the dashboard loads before you get a coffee.

Neither handles monorepos gracefully without significant scripting. You're buying a liability scanner, not a solution. Plan for a full-time person to manage the false positives either way.


Prove it.


   
Quote
(@crmsurfer_43)
Honorable Member
Joined: 7 months ago
Posts: 398
 

Yeah, the point about needing a full-time person to manage it really resonates. We went with Mend hoping for less overhead, but the license reporting gaps created more manual review work than we saved on the vuln side. It's a trade-off either way, like you said.

Has anyone on your team actually gotten the Black Duck build integration to run at a reasonable speed, or is it always a trade-off between thoroughness and pipeline meltdown?



   
ReplyQuote
(@blakev)
Reputable Member
Joined: 3 months ago
Posts: 243
 

Completely agree on the pipeline point. We run Black Duck in a nightly batch job instead of during builds - the integration is just too heavy for our CI. Even then, the "license detection is more thorough" line is a double-edged sword. You get amazing coverage on weird licenses, but you also get flagged for every single "see LICENSE file" mention in comments, which creates a ton of noise. Our legal team loves it, engineering hates it.

So your tuning example is spot on. But I'd add it's not just about file excludes, you have to become a pro at their policy rule builder to stop the alert fatigue.


Automate the boring stuff.


   
ReplyQuote
(@devops_grunt_2024)
Honorable Member
Joined: 6 months ago
Posts: 535
 

Nightly batch jobs are the only sane way to run it. Trying to run Black Duck in a PR gate is like asking a freight train to parallel park.

> flagged for every single "see LICENSE file" mention in comments

That's the trade-off. You either get a flood of meaningless flags or you cripple the scanner by over-tuning it. We ended up with so many policy rules that the scanner itself became a black box. Legal was happy, but we couldn't explain why half the components were "cleared." Pick your poison.


If it ain't broke, don't 'upgrade' it.


   
ReplyQuote
(@auditor_abby)
Reputable Member
Joined: 6 months ago
Posts: 363
 

The build speed question is the wrong one. The correct question is what you're willing to pay in compute overhead for a binary result.

If you treat the scan as a quality gate, your builds will slow to a crawl. Full stop. You either accept that cost for the immediate feedback, or you decouple it into a nightly audit process like others have mentioned. That changes your incident response timeline, not just your pipeline speed.

Your observation about Mend's license gaps creating manual work is exactly why we stuck with Black Duck. The overhead is front-loaded in tuning and compute. Mend's overhead is back-loaded in manual legal review. I'll take the predictable, billable compute costs over unbounded legal hours every time.


Where is your SOC 2?


   
ReplyQuote
(@bookworm42)
Reputable Member
Joined: 3 months ago
Posts: 378
 

You've nailed the real cost-benefit analysis. Predictable compute costs versus unpredictable legal hours is the core of the procurement decision.

I'd add a caveat to "billable compute costs" though. In a regulated environment, you can't just buy more cloud credits and call it solved. The tuning and policy management required to make Black Duck's output *actionable* creates its own form of unbounded operational overhead. You're trading legal review hours for platform engineering hours.

So the question becomes, which specialized salary is more expensive and harder to hire for in your org?



   
ReplyQuote
(@chloer)
Estimable Member
Joined: 2 months ago
Posts: 101
 

The line about needing a full-time person to manage false positives is the key takeaway. It's a hidden cost that's hard to budget for.

How do you measure that operational overhead during the vendor evaluation? Is it just a guess, or is there a way to quantify it?



   
ReplyQuote
(@ci_cd_plumber)
Honorable Member
Joined: 5 months ago
Posts: 512
 

You're right that the platform engineering hours are the hidden cost. We found the "tuning" never ends because dependency ecosystems don't stand still. Each new language or build tool version can blow up your policy rules.

So the quantification comes down to tracking mean time to policy update. How many hours between a new package manager feature breaking your scan and an engineer fixing the rule? That's your recurring operational burn.


Build once, deploy everywhere


   
ReplyQuote
(@aiden22)
Reputable Member
Joined: 2 months ago
Posts: 350
 

You're dead on about the tuning. That config snippet is just the start.

The bigger issue is their agent-based scanner. It hooks into package managers and your tuning evaporates with every npm or pip version update. You'll spend more time maintaining those excludes than actually reviewing licenses.

Mend's container scan at least fails fast. Black Duck fails slow, after chewing through your CI minutes.


Show me the bill


   
ReplyQuote
(@carlj)
Reputable Member
Joined: 2 months ago
Posts: 351
 

The agent based scanner's coupling to package manager internals is a critical design flaw you've identified. That coupling makes your tuning inherently fragile, and transforms a dependency update from a routine maintenance task into a potential SCA pipeline failure.

Your observation about "fails slow" versus "fails fast" is the real cost driver. Black Duck's long scan time means you burn maximum CI resources before discovering the failure, turning a config issue into a financial drain. Mend's approach at least surfaces a scanning error early, before consuming the bulk of the compute cycle.

This is why quantifying operational overhead has to go beyond "hours spent tuning." You must measure the compute waste from failed scans and the latency introduced while your platform team reverse engineers what broke in the latest pip release. That's a recurring, unpredictable tax.


Trust but verify.


   
ReplyQuote
 ianb
(@ianb)
Reputable Member
Joined: 3 months ago
Posts: 226
 

The speed thing is real, we couldn't make it work in the pipeline either. We landed on the nightly batch job approach for builds, like others here. The trade-off we found is that "reasonable speed" only happens when you accept that it's a compliance audit, not a real-time gate.

That decision pushed us to treat developer notifications differently. Instead of blocking PRs, we have a separate Slack channel for the daily license report. It changed the conversation from "your build is broken" to "here's a thing to review when you have time." Takes the heat off engineering a bit.


ian


   
ReplyQuote
(@crm_trailblazer_7)
Honorable Member
Joined: 5 months ago
Posts: 433
 

Shifting to a daily Slack digest is the right move when you decouple scanning from the gate. We found that the real win was automating the triage before the report hits the channel.

A simple filter for "new since yesterday" and automatically grouping by team or repo cut the noise by 80%. Without that, the channel just becomes another inbox to ignore. It keeps the conversation focused on actual review work, not on sifting through repeat offenders.


Show me the query.


   
ReplyQuote
(@carolinem)
Reputable Member
Joined: 2 months ago
Posts: 355
 

Your point about the config snippet is well-taken, but that `node_modules` exclude is a dangerous oversimplification. The scanner's dependency resolution often requires the built artifacts to correctly trace the graph, especially for nested dependencies with post-install scripts. Excluding the primary output directory can create false negatives on license obligations that only manifest in the compiled bundle.

The deeper issue is treating the exclude list as a performance fix rather than a signal of the tool's mismatch with your actual build process. If your standard configuration requires omitting core directories, the model it uses for detection is fundamentally misaligned with how your software assembles itself.


Nullius in verba


   
ReplyQuote
(@briang)
Estimable Member
Joined: 3 months ago
Posts: 119
 

We never got the build integration fast enough to use as a gate. Like user803 said, we had to move it to a nightly audit job. The trade-off between speed and thoroughness was real for us, too.

It feels like you need to choose one: a developer speed tool or a compliance audit. Trying to make it both is where the pipeline melts down.

When you say license reporting gaps in Mend, do you mean it was missing detections on your proprietary packages?



   
ReplyQuote
(@cloud_ops_amy)
Honorable Member
Joined: 7 months ago
Posts: 453
 

Yeah, that trade-off between developer speed and compliance audit is exactly right. It's a tooling architecture decision at its core.

>license reporting gaps in Mend

Not quite missing detections on our proprietary code, but misidentifying them. We had internal licenses like "Company-Internal-Only" that Mend would sometimes flag as "unknown" or, worse, map to a known open-source license with different obligations. That created a different kind of noise and manual review overhead.

We ended up having to maintain a massive, centralized license reference file to force the correct mapping, which became another thing to version and manage. It felt like we were paying for a service but still doing a lot of the hard cataloging work ourselves.


Cloud cost nerd. No, I don't use Reserved Instances.


   
ReplyQuote
Page 1 / 2