Technical Team/Proposals/2010-10-21/Composite licensing¶
Archived page
Read-only copy of the SPDX wiki. The wiki is no longer active; its content has moved to https://github.com/spdx. Last edited 2013-03-07 by MartinMichlmayr.
Status: draft
Issue¶
There are some licensing scenarios which are not expressable in SPDX. For example, there is currently no way to express that a file can be used under the licenses A and B or A and C.
Use cases¶
The set of use cases we need to be able to describe in SPDX is:
- a single license
- choice of one from multiple single licenses
- multiple licenses (conjunctive)
- choice of one from multiple conjunctive license sets
Proposal¶
Introduce a license set concept to cover all these use cases. Specifically, a `ConjunctiveLicenseSet` and a `DisjunctiveLicenseSet`. Members of these types of sets would be of type `License`, `ConjunctiveLicenseSet` or `DisjunctiveLicenseSet`. This would allow composing licensing information in arbitrary conjunctive and disjunctive groupings.
The definition of `License` would not change. The `DeclaredLicense` and `DetectedLicense` properties would be updated to allow their value to be a `License`, `ConjunctiveLicenseSet`, or `DisjunctiveLicenseSet`.
Examples¶
Single license¶
Disjunctive licenses¶
Complex disjunctive licenses¶
Changes¶
These changes are available in the 'composite-licensing' branch of https://github.com/pezra/spdx-spec.git. A full version of the spec with these changes is attached, as is a patch file to implement these changes.
Attachments¶
Categories: Technical