-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify the use of newlines in license expressions in Appendix IV #44
Comments
Proposal from David W. on legal team email list: For the Tag:value format, any license expression that consists of more than one license identifier and/or LicenseRef, should be encapsulated by parentheses: "( )". |
There's some explicit whitespace handling in #37, although it doesn't currently allow for CR or LF. If the approach looks promising, I can make them legal. I'd rather restrict the legal newlines (more in #45), but I'm happy to update #37 to reflect whatever the consensus opinion on legal whitespace is. |
@wking Thanks for #37 Updating it to reflect this issue and #45 seems to make sense. |
On Fri, Oct 13, 2017 at 09:54:39AM -0700, goneall wrote:
@wking Thanks for #37 Updating it to reflect this issue and #45
seems to make sense.
Are these issues settled? If we take the “require encapsulating
parens and read until the closing paren” literally, then I think we're
cutting off our chance of legitimatizing [1]. I'd rather take
advantage of the current spec ambiguity, add folding whitespace rules,
and lift the encapsulating-paren requirement.
Perhaps we could schedule a walk-through on one of the tech calls?
I can try, but I don't have a good track record of making those
meetings. To stay asynchronous, maybe I can refactor #37 into a
series of smaller pivots. Until then, maybe folks can provide
feedback on the other intentional changes listed in the PR topic
message? There's no sense in spending time polishing the
implementation if folks have strategic issues with the direction I was
going ;).
[1]: #45 (comment)
|
I like that idea - it would make the decision making easier.
Would be a good topic to raise on the email distribution list (the issues are not as widely subscribed to). I'm still inclined to make it a topic for the Tuesday meeting, but perhaps we just discuss it at a high level to align on a direction then finish the details in the PR and issues list. |
Steve Winslow volunteers to investigate and see if we can get a PR together or recommend moving to 3.0 |
Attempting to summarize current state and next-step options for issues #44 (this one), as well as #45, #52 and #80, since these are interrelated. Apologies on the length. I may be wrong on any of the technical details so folks should feel free to weigh in, and I'll correct this as needed! Problem:
Potential solutions:
These could be separate outcomes for tag-value vs. source code identifiers. |
Posting as a separate comment, to share my personal thoughts now :) My preference would be:
For tag-value files, I think this keeps maximum backwards compatibility while fitting with what I'm anecdotally seeing happening in practice. Also (as best I can tell) minimizing the tooling changes required. For source code identifiers, I think any reason to permit multi-line expressions is outweighed by the negative impact it would have on usability / greppability of identifiers. |
@swinslow Thanks for writing this up and summarizing the issues. FWIW - I checked the current implementation of the tag/value parser for the SPDX tools and parenthesis are not required for multiple terms. It does not handle multiple lines for license expressions in the tag/value file and no bug has been filed. This tells me it is not very common to span lines. I'm OK prohibiting multi-line expressions in the source code identifiers, and even OK prohibiting multiline in tag/value. |
Thanks @goneall! Good to hear -- if the Java SPDX tools aren't handling multiple lines at all, then agreed, it's doubtful this is really being followed in a significant way. I'll prep a PR to prohibit multiline in both, and to explain that parentheses are permitted but optional / not required. Unless anyone objects, we can then merge it and be done with this :) |
This changes appendices IV and V to prohibit multiple lines (e.g., line breaks) in a single license expression. This is applicable for both tag-value SPDX documents as well as short-form license identifier expressions in source code. Because multiple lines are no longer permitted, this also makes the outer set of parentheses optional, rather than mandatory, for license expressions with more than one license identifier. Fixes spdx#44 Fixes spdx#45 Fixes spdx#52 Signed-off-by: Steve Winslow <steve@swinslow.net>
This changes appendices IV and V to prohibit multiple lines (e.g., line breaks) in a single license expression. This is applicable for both tag-value SPDX documents as well as short-form license identifier expressions in source code. Because multiple lines are no longer permitted, this also makes the outer set of parentheses optional, rather than mandatory, for license expressions with more than one license identifier. Fixes #44 Fixes #45 Fixes #52 Signed-off-by: Steve Winslow <steve@swinslow.net>
The current license expression syntax states that whitespace must be used between elements of a compound expression. However, it does not explicitly state if a newline, CR, or LF is included in the definition of whitespace.
Suggest adding a definition of white space which include new line.
The text was updated successfully, but these errors were encountered: