Safeguard
Compliance•

How do MIT, BSD and Apache notices add up in one shipped product?

Shipping MIT, BSD and Apache components together means carrying each component's own notice. Keep them in one file and carry NOTICE text where it exists.

Safeguard Security Team
3 min read

When you ship components under MIT, BSD and Apache 2.0 together, the notices add up. Each component keeps its own copyright line and license text, and any Apache NOTICE file attributions must be carried too. One combined notices file, organised by component, is the usual way to do it.

What each license wants shipped

LicenseNotice duty when you distribute
MITThe copyright notice and permission notice in all copies or substantial portions
BSD 3-clauseNotice, conditions and disclaimer in source, and in documentation or other materials for binaries
Apache 2.0A copy of the license, preserved notices, and NOTICE file attributions in one of three places

These come from the license texts published by OSI and Apache. Nothing here says they conflict. Permissive licenses stack because each one only asks you to keep its own text.

Build the combined file

  1. Collect the list. Take every third party component that ships in the artifact, direct and transitive.
  2. Pull the text for each. Use the actual license file from the package, not a generic template, because the copyright line differs per project.
  3. Add NOTICE contents. For Apache components that include a NOTICE file, copy its attribution text under the component's name.
  4. Group and label. Heading per component with name, version, license identifier, then text.
  5. Ship it. Include the file in the release artifact, or show it on an about screen in an app.
  6. Regenerate on change. Updating a dependency can change its copyright years, text or NOTICE content.

Mistakes that cause gaps

  • Using one MIT text for every MIT package. The copyright line is part of the notice.
  • Leaving out transitive dependencies. They ship too.
  • Shipping the file in the repo but not in the build.
  • Forgetting packages vendored into the source tree. See vendored code and submodules blind spots.

A note on size

A notices file for a typical application can be long. That is fine. It is a text file, it can be compressed, and it can be served from an about page so long as it reaches recipients where the license expects.

If your situation involves unusual distribution, such as embedded devices, ask your counsel. This post is practical guidance and not legal advice.

Quick check

Can I paste all notices under one MIT text?

No. Keep each project's copyright line with its license text.

Do dev dependencies need notices?

Only if they are included in what you distribute. Check what actually ships.

Safeguard's SBOM and dependency scanning can list the components that ship, which is step one.

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.