spdx-spec icon indicating copy to clipboard operation
spdx-spec copied to clipboard

How to represent a licence with imbedded variable material?

Open oddhack opened this issue 5 years ago • 2 comments

What's the proper way to determine the SPDX-License-Identifier for a license such as NCSA (https://spdx.org/licenses/NCSA.html), which has several parts of the license (not copyright) text that need to be filled in with information on the developer / institution responsible? We have a repo with a bunch of NCSA-licensed files contributed by half a dozen or so different companies. Each should get a SPDX identifier corresponding to the NCSA license with their company information filled in, and AFAICT there's no way to express this in SPDX syntax other than creating a custom license identifier for each company. Am I missing something?

oddhack avatar Nov 28 '20 09:11 oddhack

Hi @oddhack, there are a couple of things you'll want to look at relating to this. At the top of the SPDX License List main page, one of the bullet points indicates:

Matching Guidelines: Guidelines for what constitutes a license match to the SPDX License List. The license text on the HTML pages here will display omitable text in blue and replaceable text in red (see Guideline 2 for more information).

So when you look at the entry for NCSA, the parts that are in red are considered "replaceable text". That means that, for SPDX matching purposes, the license identifier NCSA can typically be used even if different text shows up in those sections.

This reflects a portion (but not all of) the SPDX Matching Guidelines, which provide more details about how different license texts can be treated as being substantively identical for SPDX matching purposes. The markup in the license list implements some, but not all, of the Matching Guidelines, and the different guidelines describe this in more detail.

swinslow avatar Nov 28 '20 16:11 swinslow

One additional comment -- if you are looking to add SPDX-License-Identifier tags to your own project, the REUSE Software specification from FSFE has some recommendations on how to represent this, including for custom licenses using SPDX's LicenseRef- license identifier format.

swinslow avatar Nov 28 '20 16:11 swinslow