From: Joe Perches <joe@perches.com>
To: Kate Stewart <kstewart@linuxfoundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: Rob Herring <robh@kernel.org>,
Igor Stoppa <igor.stoppa@huawei.com>,
Andrew Morton <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andy Whitcroft <apw@canonical.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
Philippe Ombredanne <pombredanne@nexb.com>,
Jonathan Corbet <corbet@lwn.net>
Subject: Re: [PATCH v6] checkpatch.pl: Add SPDX license tag check
Date: Fri, 02 Feb 2018 12:55:35 -0800 [thread overview]
Message-ID: <1517604935.7489.153.camel@perches.com> (raw)
In-Reply-To: <CAG_66ZT6R2Ki3AnH6RWRXpd8d64NDR2y-0BwyqJRpQD4hD01oQ@mail.gmail.com>
On Fri, 2018-02-02 at 14:18 -0600, Kate Stewart wrote:
> On Fri, Feb 2, 2018 at 1:06 PM, Joe Perches <joe@perches.com> wrote:
>
> > On Fri, 2018-02-02 at 12:27 -0600, Rob Herring wrote:
> > > On Fri, Feb 2, 2018 at 9:49 AM, Igor Stoppa <igor.stoppa@huawei.com>
> >
> > wrote:
> > > > On 02/02/18 17:40, Rob Herring wrote:
> > > > > Add SPDX license tag check based on the rules defined in
> > > >
> > > > Shouldn't it also check that the license is compatible?
> > > >
> > >
> > > Perhaps we shouldn't try to script legal advice.
> >
> > True.
> >
> > I believe what was meant was that the
> > entry was a valid SPDX License entry
> > that already exists as a specific file
> > in the LICENSES/ path.
> >
> > So that entry must be some combination of:
> >
> > $ git ls-files LICENSES/ | cut -f3- -d'/' | sort
> > BSD-2-Clause
> > BSD-3-Clause
> > BSD-3-Clause-Clear
> > GPL-1.0
> > GPL-2.0
> > LGPL-2.0
> > LGPL-2.1
> > Linux-syscall-note
> > MIT
> > MPL-1.1
> >
> > From my perspective, it'd be better if the
> > various + uses had their own individual
> > license files in the LICENSES/ path.
> >
>
> At the end of december, the SPDX license list[1] was rev'd to
> Version: 3.0 28 December 2017. At the request of
> FSF, the GNU license family would not use the "+" notation,
That's rather more sensible to me.
This should probably be updated in linux-next in
the near future rather than later.
> and would bias towards using "-only" and "-or-later", explicitly.
> So adding both variants to the LICENSES/ path aligns with
> this forward direction.
It's probably better to remove the + variants.
> > Right now, there are many missing licenses
> > that are already used by various existing
> > SPDX-License-Identifier: entries.
> >
> >
> > APACHE-2.0
> > BSD
> > CDDL
CDDL does not exist standalone and was caused by my
defective eyeballs when scanning the SPDX list via:
$ git grep -w "SPDX-License-Identifier:" | \
cut -f3- -d":" | \
sed -r -e 's/^\s+//' -e 's/\*\/\s*//' -e 's/\s+$//' | \
sort | uniq -c | sort -rn
> > CDDL-1.0
> > ISC
> > GPL-1.0+
> > GPL-2.0+
> > LGPL-2.1+
> > OpenSSL
> >
> > There are odd entries like:
> >
> > GPL-2.0-only
> >
>
> This is the new way to represent GPLv2 only, as described above.
> While the GPL-2.0 and GPL-2.0+ notation is still valid, it is deprecated
> in the latest version, so transitioning existing over time will probably
> be needed.
Probably better to remove and replace the old notation
instead of doing it piecemeal.
When the appropriate LICENSE file changes exist, a
generic substitution could work well.
$ git grep --name-only "SPDX-License-Identifier:" | \
grep -vP "^(?:LICENSES/|Documentation/process/license-rules\.rst)" | \
xargs perl -p -i -e 's/SPDX-License-Identifier:\s*(L?GPL-\d\.\d)\+/SPDX-License-Identifier: \1-or-later/;s/SPDX-License-Identifier:\s*(L?GPL-\d\.\d)(?!-or-later)/SPDX-License-Identifier: \1-only/'
> So I think the list of licenses to be added to
> LICENSES/ path is:
>
> APACHE-2.0
> BSD
> CDDL
> CDDL-1.0
> ISC
> GPL-1.0-only
> GPL-1.0-or-later (note: actually same contents as one GPL-1.0-only)
> GPL-2.0-only
> GPL-2.0-or-later (same contents as GPL-2.0-only)
> LGPL-2.0-only
> LGPL-2.0-or-later (same contents as LGPL-2.0-only)
> LGPL-2.1-only
> LGPL-2.1-or-later (same contents as LGPL-2.1-only)
If LGPL-n.m -only and -or-later are the same,
there's probably no need for duplicate LICENSE
files and just making sure LGPL-n.m without any
other wording is exclusively used is proper.
> OpenSSL
>
> Having files with the same contents, but different names is
> irritating, but I can't see a another way of complying with REUSE
> guidelines. Any better suggestions?
What and where are the REUSE guidelines?
https://reuse.software/dev/
doesn't show me much.
>
>
> > Parentheses around AND/OR aren't consistent.
> >
>
> The SPDX specification has an appendix that calls for "(",")"
> around every license expresssion. After discussion with some
> developers it was decided to be ok to relax that, and only add them
> when they were essential to clarify the logic. The next rev of the
> SPDX specification will have this clarified as well. I think we caught
> most of the changes in the kernel documentation patches for describing
> this, but if you have specific cases to be reviewed, happy to have
> a look.
>
> Thanks, Kate
>
>
> [1] https://spdx.org/licenses/
next prev parent reply other threads:[~2018-02-02 20:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-02 15:40 [PATCH v6] checkpatch.pl: Add SPDX license tag check Rob Herring
2018-02-02 15:49 ` Igor Stoppa
2018-02-02 16:12 ` Greg Kroah-Hartman
2018-02-02 16:17 ` Jonathan Corbet
2018-02-02 18:27 ` Rob Herring
2018-02-02 19:06 ` Joe Perches
2018-02-02 20:18 ` Kate Stewart
2018-02-02 20:26 ` Kate Stewart
2018-02-02 20:55 ` Joe Perches [this message]
2018-02-08 14:41 ` Philippe Ombredanne
2018-02-02 20:57 ` Rob Herring
2018-02-02 21:10 ` Joe Perches
2018-02-03 13:41 ` Igor Stoppa
2018-02-08 14:44 ` Philippe Ombredanne
2018-02-08 14:35 ` Philippe Ombredanne
2018-02-08 17:24 ` Joe Perches
2018-02-08 18:09 ` Philippe Ombredanne
2018-02-02 21:18 ` Joe Perches
2018-02-09 0:35 ` Joe Perches
2018-02-09 5:58 ` Philippe Ombredanne
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1517604935.7489.153.camel@perches.com \
--to=joe@perches.com \
--cc=akpm@linux-foundation.org \
--cc=apw@canonical.com \
--cc=corbet@lwn.net \
--cc=gregkh@linuxfoundation.org \
--cc=igor.stoppa@huawei.com \
--cc=kstewart@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pombredanne@nexb.com \
--cc=robh@kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.