OpenSME

Open-source reuse

Review an open-source component before it enters your product

A practical intake record for provenance, licence files, dependencies and maintenance ownership.

OpenSME Editorial · Published 4 November 2026

Start with the exact artifact

A package name alone does not identify what your product will contain. Record the upstream repository, release tag, package version, download location and checksum of the artifact you intend to use. Keep the unmodified release alongside your review notes. If a package comes from a mirror or a fork, record that route too. This is an intake procedure for your team, not a claim that a checksum proves a package is safe.

Separate the licence from the project description

Read the licence and notice files shipped with that release. The Open Source Initiative definition describes the permissions an open-source licence must provide; it is not a substitute for the component's own terms. A public repository without a licence does not establish permission to reuse its contents. Record separately the code, bundled fonts, sample data and documentation that you intend to distribute. Put unresolved permissions in the decision record instead of treating them as approved.

Inspect the dependency path

In this fictional example, a small supplier chooses a document parser for its quoting tool. The parser pulls in an image library and a command-line converter. The team records all three versions, how each reaches the deployed product, and who updates each one. Review generated dependency files and the actual build output: a list of direct dependencies alone misses the converter bundled in the installer. Check the project's issue tracker, release notes and security reporting instructions for a usable maintenance route.

Test the boundary you will depend on

Use fictional documents containing an empty page, accented text, an invalid file and a large attachment. Record the expected result for each case before running the test. Keep network access and file permissions limited in the test environment. Decide what the application does when conversion fails: reject the file, queue a manual review or preserve the original for a separate process. A successful demonstration with one clean document does not answer those questions.

Write a small acceptance record

For the fictional parser, the record reads: version 2.4, release archive retained, checksum recorded, dependency list attached, invalid-file test rejected cleanly, maintenance owner assigned, distribution review pending. That last item prevents release until the responsible reviewer has resolved it. Record the intended use and distribution route so a later change from internal tooling to a customer download triggers a fresh review. Keep the record with the product release rather than in a personal inbox.

Leave a route out

Give the parser a narrow interface and retain representative input/output examples. Identify the data format another implementation would need to accept. Review this decision when a dependency becomes unsupported or its terms change in a later release. The aim is a repeatable engineering decision with a named owner. Licence compatibility for a specific product requires review of its actual components and intended distribution.


Continue reading

Use the software shortlist worksheet →