Bradley M. Kuhn:
> So you can confirm there is *absolutely* no semantic licensing difference
> between a series of OR expressions with or without parenthetical
> groupings?

I don't speak for SPDX :-).  But I can read, and hopefully that's something :-).
I don't see anything in the SPDX specification that suggests a difference in 
the cases being discussed.

I consulted the Book of Armaments, I mean,
SPDX specification version 2.1, Appendix IV ("SPDX License Expressions"):
https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60
which says:
simple-expression = license-id / license-id"+" / license-ref
compound-expression =  1*1(simple-expression /
                 simple-expression "WITH" license-exception-id /
                 compound-expression "AND" compound-expression /
                 compound-expression "OR" compound-expression ) /
                     "(" compound-expression ")" )

The last part says that you can always take a compound-expression, and surround 
it with parentheses.  There's no indication that this would *mean* anything 
different.

So the following are all syntactically legal, and there's no indication that 
they mean anything different:
1. MIT OR GPL-2.0
2. (MIT OR GPL-2.0)
3. ((MIT) OR (GPL-2.0))
4. (((((MIT))) OR (GPL-2.0)))

Of course, not all syntactically legal expressions are examples of good taste 
:-).  The style recommendation from the spec is to use parentheses to surround 
expressions with multiple license identifiers and license refs (example #2).  
Many people use #1, because it's shorter.  Examples #3 and #4 are clearly bad 
style, but they're unambiguous so there's no strong reason to forbid them.

Also, clearly "((X OR Y) AND Z)" is very different from "(X OR (Y AND Z))".  
There, the location of parentheses is *vital*.  But I think everyone already 
understands that.

--- David A. Wheeler

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

Reply via email to