TRA Studio
All example documents

Fictitious example. ACME Embedded GmbH, its products, records and document IDs are invented for illustration. Use this as a structural model, not as a template to adopt unchanged — and not as legal advice.

LEG-LST-002 — Software Licence Whitelist

Document IDLEG-LST-002, rev. 4 (living list)
OwnerManaging Director, advised by external counsel; maintained by the Product Security Lead
Approved byManaging Director — each change to a category
ReferenceSDL-POL-005 §2(3) (licence compatibility as a knock-out criterion); CRA Annex I Part II item 1 (SBOM) — the licence field is only meaningful if it is checked
Applies toEvery third-party and open-source component shipped in an ACME product or companion tool
ReviewAnnually, and whenever a component is proposed under a licence not on this list

1. What this list decides

A licence question at component-selection time is a five-minute lookup. The same question after the component is designed into a shipping product is a legal review, a possible re-implementation, and a delayed release.

So this list exists to be consulted before the evaluation form in SDL-POL-005 Annex A is submitted, and to give three unambiguous answers: yes, ask counsel, or no.

One embedded-specific point drives most of the list. ACME ships statically linked firmware images. Licences whose obligations are satisfied by dynamic linking — the LGPL family in particular — impose a relinking obligation that a signed, anti-rollback-protected firmware image cannot honour without handing users the means to build and install their own image, which conflicts directly with the update integrity required under SDL-STD-025. That tension is a licensing decision, not a legal footnote.

2. Categories

2.1 Approved — permissive (use freely, attribution required)

LicenceNote
MIT
BSD-2-Clause, BSD-3-Clause
Apache-2.0Carries an express patent grant — preferred where a choice exists. Incompatible with GPL-2.0-only; relevant on Linux-based targets
ISC
Zlib / libpng
BSL-1.0

Obligation in all cases: the licence text and copyright notices are delivered with the product. ACME satisfies this through the notices file generated from the SBOM and shipped in the user documentation, plus a copy on the product support page.

2.2 Conditional — requires PSL and counsel approval before selection

LicenceCondition
MPL-2.0File-level copyleft. Acceptable where the component is used unmodified. Modifications to MPL files must be published — the decision is whether we accept that obligation for this component
LGPL-2.1, LGPL-3.0Only with dynamic linking. Statically linked into firmware, the relinking obligation cannot be met without undermining signed updates. Default answer for firmware: no
EPL-2.0Acceptable for tooling; assess for shipped code
Dual-licensed (GPL + commercial)Acceptable only with the commercial licence purchased and CON-CLS-007 attached
SIL Open Font LicenceFonts in companion tools only

2.3 Prohibited for shipped code

LicenceReason
GPL-2.0, GPL-3.0Strong copyleft over the whole firmware image. GPL-3.0 additionally carries anti-tivoisation terms incompatible with locked secure boot
AGPL-3.0Network copyleft; reaches our backend
SSPL, BUSL, Elastic LicenceSource-available, not open source; field-of-use restrictions
Non-commercial, "no evil", research-onlyNot usable in a commercial product
No licence statedThe default is "all rights reserved". An unlicensed component is not free to use, however public the repository

Exception: GPL-2.0 components that are part of the Linux distribution on the Gateway G50 and are neither modified nor statically linked into ACME code are permitted under the standard distribution model, with the written offer for source honoured on the support page. This exception is narrow and does not extend to the S300 firmware image.

3. How the list is used

  1. The developer looks the licence up here while completing the SDL-POL-005 Annex A evaluation form.
  2. Approved → proceed. Conditional → obtain PSL and counsel approval before the form is submitted; the approval is attached to it. Prohibited → the component fails the SDL-POL-005 §2(3) knock-out; select an alternative.
  3. A licence not on this list is escalated to the PSL, who obtains a counsel opinion and adds it to a category. Nothing proceeds on the assumption that an unlisted licence resembles a listed one.
  4. The licence recorded in the component registry and in the SBOM is the licence of the version pinned. Licences change between releases, and a re-licensed upstream is a change that has to be caught at upgrade, which is why the check repeats at every version bump.

4. Obligations ACME must actively discharge

ObligationHow it is met
Attribution and licence textsNotices file generated from the SBOM; shipped with user documentation and published on the support page
Written offer for source (GPL-2.0, G50 exception)Published on the support page, honoured for the support period
Modified-file publication (MPL-2.0)Modified files published in ACME's public repository; the component registry flags which
Patent-grant awareness (Apache-2.0)Recorded in the evaluation form
No obligation may outlive the recordNotices and offers retained for the support period plus 10 years

5. Records

The evaluation forms with their licence determinations, counsel opinions for conditional approvals, the generated notices files per release, and this list's revision history. Quality records.

Revision history

RevDateChangeApproved
22025-06-11Categories introduced; SSPL/BUSL added as prohibitedMD
32026-01-22G50 Linux distribution exception added with written-offer procedureMD
42026-07-18LGPL restricted to dynamic linking with the static-firmware rationale stated; "no licence stated" made explicitly prohibited; re-check at version bump addedMD