Philippe Ombredanne:
> This + is a suffix and not a freestanding character, right?
> Then again we would be better off to get rid of the plus entirely!

You may be confusing a SPDX "license identifier" and a SPDX "license 
expression".  It's a subtle point.

The purpose of a "license identifier" is to identify a specific text of a 
specific license text, using a short name.  In SPDX 2.0 there is no "+" in a 
standard license identifier.  In particular, "GPL-2.0" is a license identifier, 
and "GPL-2.0+" is *NOT*.  If all you want to do is identify a particular 
license text, use a license identifier.  No "+" exists at the end of a license 
identifier.

However, a "license identifier" is often inadequate for describing the 
licensing requirements imposed on users and later developers.  Many packages 
have different subcomponents with different licenses.  Many packages include 
the text of some license (such as the GPL version 2.0), but there are often two 
possible cases:
- You must use this particular version of the license.
- You may use this or any later version of the license.

Thus, SPDX 2.0 defines a "license expression" for describing how license texts 
apply to software packages,.  A license expression is built out of license 
identifiers but adds ways to describe how the license texts are used. A "+" 
appended after the name of a license identifier means "or any later version may 
also be used".  E.G., the license expressions "(GPL-2.0+ WITH 
Classpath-Exception-2.0)" and "(MIT AND BSD-3-CLAUSE)" express how the license 
text requirements are imposed on recipients (users and developers).  License 
expressions use the long-standing convention is that if software is licensed 
using "this or any later version" you add a "+" to the name of the license.   
You can argue that the "+" should be the default, but standards typically work 
best if they build on pre-existing conventions, and that was certainly the case 
here.

--- David A. Wheeler

_______________________________________________
Spdx-tech mailing list
Spdx-tech@lists.spdx.org
https://lists.spdx.org/mailman/listinfo/spdx-tech

Reply via email to