THE SPDX WIKI IS NO LONGER ACTIVE. ALL CONTENT HAS BEEN MOVED TO https://github.com/spdx
Documents/Producing SPDX Documents
![]() |
SPDX Tech Report |
PRODUCING SPDX DOCUMENTS
version 0.1
WORKING DRAFT
Contents
[hide]- 1 Overview
- 2 Structure of an SPDX Document
- 3 Tooling
- 4 Strategies
- 5 Best Practices
- 6 Examples
- 6.1 A Simple Example (aka hello world)
- 6.2 Document with minimum Required Fields
- 6.3 SPDX document for a binary delivery - no relationships
- 6.4 SPDX document for a binary delivery - uses relationships
- 6.5 SPDX document for an application delivery (source, binaries, documents, etc) - more expressive use of relationships
Overview
SPDX documents describe the licensing associated with a files. These files can be organized into what we call a "Package". A package is merely a grouping of files, with some association to each other as defined by the creator of the document. In general, the association should be obvious, such as an SPDX document for a software library or application. SPDX Documents can use one of two formats:
Tag/value -a simple text based format. Here is an example you can view. RDF/xml - a Resource Description Format developed by the W3C. Here is an example you can view.
You can use either format and there are SPDX tools to convert one format to another. The format you use will be based on your own factors, preference, tools and use.
Structure of an SPDX Document
The most current version of the specification can be found here: Specifications
Packages and Relationships
Tooling
SPDX Workgroup Tools
Community Tools
Commercial Tools
Strategies
Best Practices
Editors Note: we may move this section to its own document upon completion.
Examples
The following application will be used in the examples for this section. As the examples are meant to build on one another in terms of the use case and complexity they show. Some examples may use only portions of the application. Each example will state what is used. By using one application, going through the examples should be easier. The application used is time, version 1.7 with some made up directories added (okay alone it was too simple).
Download the example here
A Simple Example (aka hello world)
Document with minimum Required Fields
SPDX document for a binary delivery - no relationships
SPDX document for a binary delivery - uses relationships
SPDX document for an application delivery (source, binaries, documents, etc) - more expressive use of relationships
:: Attachments :: | Display Time Zone: UTC | ![]() | |||
---|---|---|---|---|---|
Name | Description | Size | Date Uploaded | Uploaded By | |
Spdx-1.0-0.doc | Official 1.0 version (20110817) | 936 KB | Aug 17, 2011 03:06 pm | K.stewart | ![]() |
Spdx-1.0-0.pdf | Official 1.0 version (20110817) | 3.06 MB | Aug 17, 2011 03:13 pm | K.stewart | ![]() |
Spdx-1.1.doc | Official 1.1 Version (20120830) | 724 KB | Aug 30, 2012 12:25 pm | K.stewart | ![]() |
Spdx-1.1.pdf | Official 1.1 Version (20120830) | 1.39 MB | Aug 30, 2012 12:25 pm | K.stewart | ![]() |
SPDX-1.2.docx | Official 1.2 Version (20131021) | 311 KB | Oct 21, 2013 06:54 pm | K.stewart | ![]() |
SPDX-1.2.pdf | Official 1.2 Version (20131021) | 424 KB | Oct 21, 2013 06:55 pm | K.stewart | ![]() |
SPDX 2.0 Collab Presentation.pdf | 1.27 MB | Feb 20, 2015 07:45 pm | K.stewart | ![]() | |
SPDX-2.0.pdf | Official 2.0 version (20150503) | 1.36 MB | May 04, 2015 02:39 am | K.stewart | ![]() |
SPDX-2.0.docx | Official 2.0 version (20150503) | 443 KB | May 04, 2015 02:41 am | K.stewart | ![]() |