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

Bug#883950: Next steps on "[GPL-3+]" proposal



Sean Whitton <spwhitton@spwhitton.name> writes:

> We now know that we can go ahead with the main proposal to introduce the
> "[GPL-3+]" notation into our machine-readable copyright format.

I'm going to reiterate my objection to the brackets.  I'm opposed to
introducing this new syntax; I believe it serves no purpose.

A set of files under the license GPL-3+ and [GPL-3+] are under exactly the
same license, so it is confusing and strange to use different identifiers
based on a technical point about what information is included elsewhere in
the copyright file.  Furthermore, the brackets are entirely opaque.  They
convey no meaning to a person who hasn't read the specification, which
seems inappropriate for a specification that's supposed to still be
human-readable.

I understand the intent here is to provide some signal that there will not
be any stand-alone License paragraph elsewhere in copyright, but this
still doesn't provide backward-compatibility and will still break parsers
because they will need to add support for this bracket syntax and will
otherwise expect a standalone license paragraph for [GPL-3+].

Given that, I think the right way forward here is to bump the version to
1.1 or 2.0 and introduce a new field, maybe License-Identifier following
the very similar SPDX-License-Identifier field, that is defined to contain
only the short license identifiers and will not include supporting
information about the license.  And then, in Policy proper, specify that
the License-Identifier field in 1.1/2.0 copyright-format files can only be
used for licenses in common-licenses.

Yes, it's a little irritating to introduce a new version of the
specification and a new field, and some tools will break and need to be
fixed, but I think anything else is too ugly of a hack, and has
backward-compatibility issues.

> However, we still need to decide how we are going to hint to the local
> admin that "GPL-3+" means "GPL version 3 or any later version at your
> option".  (The purpose is to keep the machine-readable copyright format
> basically readable without reference to the copy of the spec on the
> Debian web mirrors.  So it's not the square brackets that we need to
> hint about.  It's the '+'.)

I personally think it's reasonable to expect people to be able to read the
copyright-format specification for information like this, but I respect
the concern here.

My preference there would be to add a README file to
/usr/share/common-licenses that explains this syntax.  This is simple and
I think uncontroversial, but there's some concern that it will be too hard
to find and people won't know to look there.  I think that concern could
be addressed by also referencing this in /etc/motd and in the Debian
Release Notes.

Remember, we're already talking about the people who cannot easily follow
the URL at the top of the file specifying the format, which will explain
all of this.  That's already a small portion of our users.  They also need
to be users who care about this specific feature of the licenses.  I think
that if you care about licenses in Debian, you're likely to know about or
be able to find /usr/share/common-licenses one way or another, at which
point you'll see the README and all of this will become clear.  Or you'll
have some way of asking someone else.  This syntax is also common with
SPDX, so it's going to be (hopefully) increasingly familiar.  And, more
broadly, most people who are familiar with the GPL and the details about
how it's applied to packages are familiar with the "or latest version"
concept and will be able to make a reasonable conceptual leap about what
the "+" might mean.

There may still be a tiny number of users who fall through those cracks,
but I think it would be very, very few.

> I suggested shipping the copyright format in base-files and referring to
> it using the Format: header.  Joerg thinks that a shorter/smaller hint
> would be adequate and better than "duplicating" the copyright format --
> though do note that we might be able to find a way to ship it that
> avoids any inconvenient duplication.

I'm not a huge fan of shipping a copy of the specification because it
requires coordinating updates with base-files or adding some portion of
Policy to the essential set, both of which aren't horribly appealing to
me.  And it feels like overkill, since most of the content isn't that
important.

If we *really* want a more explicit pointer than the Release Notes and
/etc/motd, my preference would be to add a second required field in
copyright-format 1.1 (which I think we need anyway for the reasons stated
above) that points to /usr/share/common-licenses/README.  Perhaps a
"Distribution-Conventions" or some similar field whose definition is
a pointer to a file with supplemental information about how licenses are
handled in that distribution.

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: