Bug#633797: copyright-format: "with <keywords> exception" underspecified
Executive summary for the CCed DEP-5 parser writers (and apologises for those I
forgot): this is about how to signal multiple exceptions to a license.
Le Mon, Nov 14, 2011 at 05:33:58PM -0800, Steve Langasek a écrit :
>
> You can always say GPL-2+-with-anything as a custom license name, but the
> value in spelling out standardized license tags at all as part of the spec
> is that it allows for mechanical extraction (and eventually, automated
> checking of license compatibility and accuracy of license information). If
> it's going to be extended in a free-form manner, what's the value in
> partially specifying the name?
>
> One benefit, certainly, is that you can assume that "GPL with <foo>
> exception(s)" gives you at *least* all the same rights that the GPL does,
> since GPL exceptions can only grant additional permissions and not take them
> away. However, the history of the draft shows that people are concerned
> about knowing whether *specific* common exceptions are in effect, so I think
> the spec should include a standardized way of expressing these common
> exceptions, including in combination.
SPDX uses one short name per combination of license and exception. I did not
like it at the beginning as I find it inelegant, but in the end it would be
simpler. With that syntax, ‘GPL-2+ with OpenSSL and Font exceptions’ would be
written ‘GPL-2.0+-with-font-exception and GPL-2.0+-with-OpenSSL-exception’.
This would have the following advantages:
- Parsers would not need to be modified.
- Straight compatibility with SPDX.
I would recommend against having ‘Y with X exception’ making Y compatible with
X, because it would deviate with how SPDX uses exeptions. For instance,
GPL-2.0-with-bison-exception does not mean that there is a special exception
to use the GPL-2 with a so-called ‘bison’ license.
In that context, for a computer to determine that for instance ‘OpenSSL’ and
‘GPL-2+ with OpenSSL exception’ are compatible, some extra information has to
be stored somewhere:
- With the plain text English syntax, that ‘OpenSSL exception’ makes the GPL-2+
license compatible with OpenSSL.
- With the short name syntax, that GPL-2.0+-with-OpenSSL-exception is compatible with OpenSSL.
My preference is for the short name syntax. In case there is a consensus
against my opinion, I support Jonathan's proposition as a fallback, that I
quote here.
Exceptions are signaled by including "with <keywords>
exceptions" at the end of the short name. The word
"exception" or "exceptions" can be used. Each keyword must be
a single word (see the list below for standard exception
keywords), and the list of keywords is formatted as a list of
words separated by "and".
Example license field
License: GPL-2+ with OpenSSL and Font and GCC-Runtime-Library exceptions
Have a nice day,
--
Charles Plessy
Tsurumi, Kanagawa, Japan
Reply to: