Safeguard
Compliance•

Should your license inventory include commercial and proprietary parts?

Yes. Investors want the whole picture, so list paid SDKs and bought libraries beside open source, using LicenseRef where SPDX has no identifier.

Safeguard Security Team
3 min read

Yes. A license inventory limited to open source gives an incomplete picture. List commercial SDKs, bought libraries and vendor components too, with the agreement reference and any redistribution limits. SPDX lets you reference licenses outside its list with LicenseRef. Not legal advice.

Why include them

Investors and acquirers ask what you depend on and under what terms. A paid analytics SDK in your mobile app or a licensed charting library in your front end has terms too, often with limits on redistribution, seat counts or use in competing products. Missing those from the inventory leaves a hole that open source scans do not reveal.

How SPDX handles non standard licenses

The SPDX license expression syntax allows a user defined license reference in the form LicenseRef followed by an identifier, optionally prefixed by a document reference. The package fields include a concluded license field that accepts a valid license expression, NONE or NOASSERTION. So a commercial component can carry a LicenseRef value that points to the agreement text you keep on file.

What to record per commercial component

FieldExample content
Name and versionThe SDK or library as shipped
SupplierThe company that licenses it to you
Agreement referenceContract ID or LicenseRef to the stored text
Redistribution allowedYes or no, per the agreement
Where it shipsApp, web bundle, container, internal only
Term and renewal dateSo expiry does not surprise you

Keep the agreement text in a controlled location and refer to it by ID. Avoid pasting commercial terms into public SBOMs.

Special cases

  1. Dual licensed vendor code. A vendor may offer an open source and a commercial option. Record which one you actually take. See dual licensed packages.
  2. Source available licenses. These are not open source by the usual definition. See is a source available license open source.
  3. Evaluation or trial code. Make sure trial licenses did not slip into production.
  4. Bought templates and fonts. Non code assets can carry limits too. See open fonts in commercial apps.

Keep two views

Internally, keep one inventory with a column for license family: open source permissive, open source copyleft, commercial, source available, unknown. For outside sharing, produce a cleaned export per audience. See SBOM versus software inventory for acquirers.

Try it yourself

Open the vulnerability management demo and note how components are tracked with attributes. The same list can carry a license family column for commercial parts.

Click through it at your own pace, or open it full screen.

Safeguard's SBOM and dependency scanning and asset discovery help build the component list. Commercial terms live in your contracts, and counsel owns their interpretation.

Quick check

Can a LicenseRef point to a private contract?

Yes, as a reference ID. Keep the contract text in a controlled place and avoid publishing commercial terms.

Do internal only commercial tools belong in the inventory?

Track them in the internal view. Whether they appear in an outside export depends on the audience.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.