Re: Proposed Update to SPDX License Expression Language
Daniel Companeetz <dcompane@...>
toggle quoted message Show quoted text
A comment about the "+" operator.
The standard SPDX Licenst list on the Appendix 1 of the 1.2 Specification, contains entries without the version qualification.
As such, a programatic approach to understanding the nature of the "+" would be complex. Does the "+" refer to anything that is not common ("A" on the examples above), or as inferred, anything after the "-" in the specification, and in that case, only the first "-" as a separator?
The License Identifier (short id) definition from the spec 1.2 states
5.1.4 Data Format: "LicenseRef-"[idString]
[idString] is a unique string containing letters, numbers, “.”, “-” or “+”.
I am also confused with the usage intended. There are 2 concepts that are affected: The license identifier in the License list, and the SPDX License Identifier tag. While similar, they serve different purposes.
As I understand, and just for clarification, the actions being proposed are:
1. Remove the "+" from the License Identifiers on the Licenst List. (http://spdx.org/licenses/)
a. The License Identifier in the SPDX.org maintained tables should not include the "+".
2. Add the "+" to the License Identifier tag definition specification,
a. The SPDX License Identifier tag specification may indicate that the developer has a choice to apply either a specific license as it appears on the licenses list, or all subsequent licenses of the same kind by adding the "+" sign to SPDX filesin the SPDX License Identifier tag after the idString, and before the WITH exceptions.
b. Indicate that the operator only applies to the idString portion of a License Identifier, which may contain a "-" per the specification
c. Add to the proposed specification above that the "+" operator indicates all versions that are comparable as strings bigger or equal than the identifier indicated. You may want to indicate a plain ASCII comparison, or make a reference to the matching Guidelines (https://spdx.org/spdx-license-list/matching-guidelines) for, for example, the purpose of capitalization.
3. Eliminate the "-" as a possible value of the LicenseRef (see the BSD 4 examples above. Is LicenseRef BSD-4, or just BSD? Will "BSD-2+" a tag, or "BSD+", or could be both?)
a. Maybe the license list needs to have separate fields for the LicenseRef and the other components in the table (and one with the complete string?)
4. Make the "-[idString]" mandatory, (see Aladdin example above)
a. Need to define a default value to be used as -idString, in the absence of one in the specification, although it is likely that all of them have one (Aladdin is v8, as per the web page)
I am a new member of this community, and I do not yet grasp fully the SPDX 1.2 specification, let alone the WIP 2.0. I hope I am not restating the obvious.
As a separate question, I was not able to find in spdx.org a current draft of the 2.0 specification. Is one available already?
Please feel free to contact me for questions or clarifications, or if you would like me to attend a meeting to further discuss this message.
On Wed, Apr 9, 2014 at 3:35 AM, Philip Odence <podence@...> wrote: