[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: