THE SPDX WIKI IS NO LONGER ACTIVE. ALL CONTENT HAS BEEN MOVED TO https://github.com/spdx

Technical Team/Proposals/2010-11-16/Or later version licensing

From SPDX Wiki
< Technical Team‎ | Proposals
Revision as of 17:55, 16 November 2010 by Pezra (Talk | contribs)

Jump to: navigation, search

Status

Draft

Issue

There is not a way to express that the user may choose, at their discretion, to following the terms and conditions of a specified license or any later version of that license. In some ways this is similar to a simple disjunctive licensing declaration. However, the set of licenses changes over time so separate way of expressing this licensing information is required.

Use cases

The set of use cases we need to be able to describe in SPDX is:

  • A standard license of a particular version (such as GPL version 2) and every later version of that license

  • A non-standard license of a particular version and every later version of that license.

  • Unversioned license declaration (such as "GPL").

Proposal

Introduce a license set, LicenseOrLaterVersion that explicitly represents a specify license all its later versions. It would be left to tools and/or humans to determine the actual licenses that should be included in this set at any specific point in time.

The definition of `License` would not change. The `DeclaredLicense` and `DetectedLicense` properties would be updated to allow their value to be a `License` or `LicenseOrLaterVersion`.

Examples

License or later version

<code><Package><br />  <DeclaredLicense><br />    <LicenseOrLaterVersion><br />      <BaseLicense rdf:resource="license:GPLv2" /><br />    </LicenseOrLaterVersion><br />  </DeclaredLicense><br /></Package></code>

Changes

These changes are available in the <a href="https://github.com/pezra/spdx-spec/tree/or-later-version-licensing">'or-later-version-licensing</a> branch of <a href="https://github.com/pezra/spdx-spec.git">https://github.com/pezra/spdx-spec.git</a>. A full version of the spec with these changes is attached, as is a patch file to implement these changes.