Re: [PATCH 1/4] selftests: add tests_sysfs module

From: Luis Chamberlain
Date: Fri Jul 02 2021 - 15:02:40 EST


On Fri, Jul 02, 2021 at 07:21:12AM +0200, Greg KH wrote:
> On Thu, Jul 01, 2021 at 10:05:40PM -0700, Luis Chamberlain wrote:
> > @@ -0,0 +1,953 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * sysfs test driver
> > + *
> > + * Copyright (C) 2021 Luis Chamberlain <mcgrof@xxxxxxxxxx>
> > + *
> > + * 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 any
> > + * later version; or, when distributed separately from the Linux kernel or
> > + * when incorporated into other software packages, subject to the following
> > + * license:
>
> This boilerplate should not be here, only the spdx line is needed.

As per Documentation/process/license-rules.rst we use the SPDX license
tag for the license that applies but it also states about dual
licensing:

"Aside from that, individual files can be provided under a dual license,
e.g. one of the compatible GPL variants and alternatively under a
permissive license like BSD, MIT etc."

Let me know if things should change somehow here to clarify this better.

> > + *
> > + * This program is free software; you can redistribute it and/or modify it
> > + * under the terms of copyleft-next (version 0.3.1 or later) as published
> > + * at http://copyleft-next.org/.
>
> Please no, this is a totally different license :(

Dual licensing copyleft-next / GPLv2 was discussed in 2016 and I have
been using it since for my new drivers. As far as the kernel is
concerned only the GPLv2 applies and this is cleary clarified with the
MODULE_LICENSE("GPL") as per Linus' preference [0] on this topic. Later
due to Ted's and Alans's request I ironed out an "or" language clause to
use [1]. This was also vetted by 2 attorneys at SUSE, and one at Red
Hat [2]. The first driver submission under this dual strategy was
lib/test_sysctl.c through commit 9308f2f9e7f05 ("test_sysctl: add
dedicated proc sysctl test driver") merged in July 2017. Shortly after
that I also added test_kmod through commit d9c6a72d6fa29 ("kmod: add
test driver to stress test the module loader") in the same month. These
two drivers went in just a few months before the SPDX license pratice
kicked in.

And so we already have this practice in place of dual GPLv2 /
copyleft-next. What was missing was the SPDX tag. I can go and
update the other 2 drivers to reflect this as well, but as far as I
can tell, due to the dual licensing the boilerplace is still needed
in this case.

Let me know!

[0] https://lore.kernel.org/lkml/CA+55aFyhxcvD+q7tp+-yrSFDKfR0mOHgyEAe=f_94aKLsOu0Og@xxxxxxxxxxxxxx/
[1] https://lkml.kernel.org/r/1495234558.7848.122.camel@xxxxxxxxxxxxxxx
[2] https://lore.kernel.org/lkml/20170516232702.GL17314@xxxxxxxxxxxxx/

Luis