Version 2.x The SPDX 2.x standard defines an SBOM document, which contains SPDX metadata about software. The document itself can be expressed in multiple formats, including JSON, YAML, RDF/XML, tag–value, and spreadsheet. Each SPDX document describes one or more elements, which can be a software package, a specific file, or a snippet from a file. Each element is given a unique identifier, and metadata for an element can refer to other elements.
Version 3.0 SPDX 3.0 allows users to communicate information at a much more granular level without having to package it as "envelope" data. A key design principle in SPDX 3.0 is that all elements may be expressed and referenced independent of any other element. This independence is required to support a variety of content exchange and analysis use cases and makes it easier to communicate single elements of interest. The relationship structure has also been updated to be both more expressive and easier to understand compared to older versions of the specification. The SPDX 3.0 data model is based on the
Resource Description Framework (RDF). Data may be serialized in a variety of formats for storage and transmission, including formats defined in RDF 1.1 such as JSON-LD, Turtle (Terse RDF Triple Language), N-Triples, and RDF/XML.
SPDX 3.0 Profiles The 3.0 specification introduced
profiles to support the expansion of use cases beyond software, without increasing overall complexity. Profiles allow users to define data for the use cases they need, while also increasing the amount of information that can be gathered directly from the SPDX data. There are eight profiles defined by SPDX 3.0: •
Core: foundational concepts common to all profiles •
Software: concepts related to software artifacts •
Security: security-related metadata specific to a piece of software •
Build: information required to describe an instance of a
software build •
AI: concepts and data elements related to an AI system and model •
Dataset: concepts related to a dataset, including preparation process, characteristics, and access methods •
Licensing: license information necessary for compliance with typical licensing use cases •
Lite: subset of the SPDX specification aimed at balancing SPDX standard and actual workflows in some industries == Version history ==