SPDX short-form identifiers make it easier to talk about FOSS licensing.
SPDX IDs are easy to use.
If you can write a comment in a source code file, you can add an SPDX ID.
SPDX IDs are short.
Adding an SPDX ID only requires adding a single
SPDX IDs are precise.
They're based on the SPDX License List, a curated set of licenses which helps make sure we're all talking about the same thing.
Saying "a BSD-style license" can mean a wide range of different licenses, some with quite different requirements. Saying "
BSD-3-Clause" means one specific license.
SPDX IDs are human-readable and machine-readable.
Gathering license information across your project files can start to become as easy as running grep.
SPDX IDs make code reuse easier.
If your project only has license info in a top-level LICENSE.txt file, it can be harder for others to reuse your code. Downstream recipients may not know what license applies when a file leaves your repo.
An SPDX ID is located within each source code or documentation file, and follows that file into downstream projects, making license compliance easier.
SPDX IDs can be adopted gradually.
You can start adding SPDX IDs to new files without changing anything already present in your codebase.
SPDX IDs reduce license errors and risks.
Using SPDX IDs helps convey the meaning of license combinations more specifically and accurately, so that recipients can trust they are complying with your license.
Saying "this file is MPL/MIT" is ambiguous, and leaves recipients unclear about their compliance requirements. Saying "
MPL-2.0 AND MIT" or "
MPL-2.0 OR MIT" specifies precisely whether the licensee must comply with both licenses, or either license, when redistributing the file.