PERSPECTIVES · SECURITY

The licence problem in procurement

Copyleft in a proprietary codebase is a commercial problem before it is a legal one. The bill of materials already has the answer.

8 July 2026·7 min read·By Agile Labs

Why does procurement ask about licences at all?

Because a licence is a condition on use, and some conditions travel. Permissive licences ask for attribution. Copyleft licences ask for more: where covered code is combined with other code and distributed, the obligation can extend to that other code, including an obligation to make source available.

For a company whose value is its proprietary codebase, that is a commercial question rather than a compliance formality. It is why the representation appears in acquisition agreements — that no copyleft-licensed code has been incorporated in a way that requires disclosure — and why buyers ask for the list before they ask for anything else.

Published diligence practice reports licence conflicts in a substantial share of audited commercial codebases. The number varies by who is counting; the direction does not.

How it gets there

Nobody decides to introduce it. A developer needs a library, finds one that works, and installs it. The licence is in a file nobody opened. Three years later it is a transitive dependency of something else and appears in no list anyone has read.

Two other routes matter. Vendored code copied into the tree with its licence header removed, which is invisible to a dependency scanner because it is not a dependency. And pasted code of unknown origin, which has become more common as generated snippets arrive without provenance.

“The licence is in a file nobody opened.”

— on how copyleft reaches a proprietary tree

What does answering it require?

Less than most teams expect, if the bill of materials already exists.

An SBOM generated from the built artefact lists components and their licences. Reading it for copyleft in a distributed proprietary product is half a day of work, and the output is a short list: what is there, where it sits, whether the product is actually distributed in a way that triggers the obligation, and what the options are.

An analysed SBOM, produced by inspecting a container image or binary rather than the build, is the route for systems whose build environment no longer exists — which is a common condition in exactly the codebases where nobody has checked.

Where it hidesFound byCost to fix, if found early
Direct dependencyDependency scan and SBOMLow — replace or isolate
Transitive dependencySBOM, read to full depthLow to moderate
Vendored source in the treeManual review; scanners miss itModerate
Pasted code of unknown originCode search and provenance reviewModerate to high
Found by an acquirer insteadTheir diligence, mid-dealHighest — and on their timetable
Fig. 01 — The same finding costs different amounts depending entirely on who finds it first.

What this is not

It is not an argument against open source, which every commercial codebase depends on. It is not legal advice, and the question of whether a specific combination triggers a specific obligation belongs with counsel.

What an engineering assessment provides is the factual base that advice needs: the components, their licences, how they are combined, and whether the product is distributed in a way that matters. Without that, the legal question cannot be asked properly.

Where it sits in an assessment

The licence audit is half a day inside our Enterprise Readiness Assessment, and it uses the bill of materials the automated sweep has already produced. It is one of the cheapest steps and one of the two or three most likely to change what a buyer does next.

Article

Published 13 August 2026

By Agile Labs

Agile Labs is a Singapore enterprise software engineering company. We design, build and secure enterprise software and AI systems.

Sources

  1. Standard open-source diligence practice in technology M&A.
  2. CycloneDX and SPDX bill-of-materials specifications.
  3. ENISA, SBOM Landscape Analysis, December 2025.

Related articles

View all insights

Have something complex to build, fix or take over?

Build better software, with zero surprises