W. Trevor King:
> Is this proposal different from [1]?  The only think I can see is that the old
> “GPL-2.0 by itself is unclear” issue is now being explicitly embraced (while 
> [1]
> listed it as a potential issue).
> 
> Also, do we have a preferred phrasing for a grant like:
> 
>   This program is free software: you can redistribute it and/or modify
>   it under the terms of the GNU General Public License as published by
>   the Free Software Foundation, either version 2 of the License, or
>   (at your option) version 3 of the License.
> 
> Will that be:
> 
> a. GPL-2.0-only OR GPL-3.0-only

The "ONLY" would be an operator, so I'd expect to see:
  (GPL-2.0 ONLY OR GPL-3.0 ONLY)

That is pretty clear.

> b. GPL-2.0 OR GPL-3.0

That would be ambiguous as written, under the current proposal, but there's a 
simple fix that your question raises.

We haven't written the specifics yet, but if ONLY is an operator, we could 
define it to mean "all the licenses on the left-hand-side *only* allow those 
specified versions".  If we defined it that way, then this could be written as:
  (GPL-2.0 OR GPL-3.0) ONLY

I think *that* way of writing it is extremely clear; you don't have to know 
SPDX to figure that one out.  That's probably the clearer way of writing this 
case, if we allow it.

Note that in most cases with the GPL we don't need this at all; usually 
licenses are "GPL-2.0+" or "GPL-3.0+".  But clearly it's important to be able 
to capture the other cases.


> * Add fields to the license metadata and the license-list's XML for
>   “compatible with -only”, “compatible with +”, etc.  That would allow
>   us to report NPL-1.0-only as nonsensical and GPL-2.0 as ambiguous
>   (because it would allow both -only and +).

Not a bad idea.  More generally, hints to help detect bad information could be 
useful.  I know the FSF is concerned about identifying "ambiguous cases", so if 
there was a standard rule for identifying them, that might make them happier.

Note: the "ambiguous" case doesn't necessarily mean it's not *possible* to 
figure it out, just that whoever is *reporting* the information (often a tool) 
doesn't know more.  It may be truly ambiguous (perhaps even the copyright 
holder doesn't know!).  However, the problem is that we all must depend on 
tools to get things done, and tools often just don't have the ability to 
determine if something is "only" or "or later".

Aside: We should all strive to get authors to be clearer, but at this point I'm 
trying to get authors to clearly state a license at *all*.  Getting copyright 
holders to state "only" or "or later" is a degree of specificity that I often 
don't see :-(.  If SPDX can at least make it easier to see when we don't know 
(yet), that'd be a big help.

> * Add a ‘PROXY {TEXT}’ operator for the GPL-3.0's proxy clause [3].
>   This would be on the same footing as -only and +.

Handling arbitrary text embedded in a license expression is suddenly more 
complicated & doesn't seem terribly useful.  If I need to know who the proxy 
is, I'll need to read the license in more detail anyway.  The larger SDPX 
format can handle some of that too, once you've read the license in detail.

If you simply want to show that there *is* an identified proxy, I guess I can 
see that being useful.  Can we handle that as an exception, e.g., "GPL-3.0 WITH 
PROXY"?  I don't know if we should do that, but if we do, I think some more 
general mechanism to summarize things (like that) would be better.

--- David A. Wheeler

_______________________________________________
Spdx-tech mailing list
[email protected]
https://lists.spdx.org/mailman/listinfo/spdx-tech

Reply via email to