linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Philippe Ombredanne <pombredanne@nexb.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linuxfoundation.org>,
	Andrew Morton <akpm@linuxfoundation.org>,
	Jonathan Corbet <corbet@lwn.net>,
	Kate Stewart <kstewart@linuxfoundation.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Christoph Hellwig <hch@lst.de>,
	Russell King <rmk+kernel@armlinux.org.uk>,
	Rob Herring <rob.herring@linaro.org>,
	Jonas Oberg <jonas@fsfe.org>, Joe Perches <joe@perches.com>,
	xfs <linux-xfs@vger.kernel.org>,
	Charlemagne Lasse <charlemagnelasse@gmail.com>,
	Carmen Bianca Bakker <carmenbianca@fsfe.org>
Subject: Re: [patch V4 01/11] Documentation: Add license-rules.rst to describe how to properly identify file licenses
Date: Sun, 26 Nov 2017 00:41:16 +0100	[thread overview]
Message-ID: <CAOFm3uHoTGeS3V8bZUAsGVrPPfxHi7FU1etyfrFnCx3U+LDx4Q@mail.gmail.com> (raw)
In-Reply-To: <20171125185140.GA5114@amd>

Pavel:

On Sat, Nov 25, 2017 at 7:51 PM, Pavel Machek <pavel@ucw.cz> wrote:
> On Fri 2017-11-17 15:06:39, Mauro Carvalho Chehab wrote:
>> Hi Thomas,
>>
>> Em Fri, 17 Nov 2017 11:00:33 +0100 (CET)
>> Thomas Gleixner <tglx@linutronix.de> escreveu:
>>
>> > Subject: Documentation: Add license-rules.rst to describe how to properly identify file licenses
>> > From: Thomas Gleixner <tglx@linutronix.de>
>> > Date: Fri, 10 Nov 2017 09:30:00 +0100
>> >
>> > Add a file to the Documentation directory to describe how file licenses
>> > should be described in all kernel files, using the SPDX identifier, as well
>> > as where all licenses should be in the kernel source tree for people to
>> > refer to (LICENSES/).
>> >
>> > Thanks to Kate, Greg and Jonathan for review and editing and Jonas for the
>> > suggestions concerning the meta tags in the licenses files.
>> >
>> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>>
>> The document itself looks good, but I think it should also mention
>> what would be the expected values for the MODULE_LICENSE() macro and
>> how each license would be mapped into it.
>>
>> Right now, include/linux/module.h says:
>>
>> /*
>>  * The following license idents are currently accepted as indicating free
>>  * software modules
>>  *
>>  *    "GPL"                           [GNU Public License v2 or later]
>
> Hmm. AFAICT Greg translated GPL as GPL v1 or later. That seemed
> wrong... and now it seems even more wrong.

While this may come out as weird or wrong, this is neither wrong nor
"more wrong" when you dive in the details:

1. the meaning of a bare "GPL" in MODULE_LICENSE is well defined in
module.h as "GPL 2.0 or later" so there is no ambiguity there. It
would have been best to align this with SPDX, but this would break
instantly so many out of tree kernel modules and module loading tools
that expect these hard coded values and conventions that it is not
worth changing it IMHO.

2. the meaning of a bare "GPL" as a the only license notice is also
well defined in the GPL 2.0 text itself  in section 9 [1] and means
any version of the GPL that therefore can be made clear as GPL-1.0 or
later, i.e. GPL-1.+:
" If the Program does not specify a version number of this License,
you may choose any version ever published by the Free Software
Foundation. "

Therefore I do not think Greg did any translation and got anything
wrong but used exactly the convention in 2.

For instance when the only license notice in a file was a terse and
unclear: "Copyright (c) Jane Doe, GPL" or "Copyright (c) John Doe,
GPL'ed" then the resulting SPDX license id applied was  "GPL-1.0+"

I personally think this is unfortunate that we have warts like this:
it could have been the intent of author, or an oversight, or the
author may have meant 2.0.... we can only guess! What is clear is that
in these cases and short of any other indication, "GPL-1.0+" is the
precise meaning that "GPL" or "GPL'ed" has in a notice outside of the
MODULE_LICENSE macro.

Note that no MODULE_LICENSE macro was harmed in the process.... though
having SPDX ids makes quite visible some discrepancies as you noticed
such as when:
- a MODULE_LICENSE is "GPL"  and the top level license is "GPL 2.0
only": here the MODULE_LICENSE would need to be fixed to "GPL v2"
- or MODULE_LICENSE is "GPL v2" and the top level license is "GPL 2.0
or later": here the MODULE_LICENSE would need to be fixed to "GPL"

These will need to be fixed over time and this is made easier with the
clarity brought by the SPDX id. My take there is that the best
approach is likely:

1. the top level license notice should take precedence over the
MODULE_LICENSE and MODULE_LICENSE should be updated accordingly
2. you might want an ack or a review from the original author in these
weird cases of mismatch

[1] https://www.gnu.org/licenses/old-licenses/gpl-2.0.html#section9
-- 
Cordially
Philippe Ombredanne

  reply	other threads:[~2017-11-25 23:42 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-16 18:33 [patch V2 00/11] LICENSES: Add documentation and initial License files Thomas Gleixner
2017-11-16 18:33 ` [patch V2 01/11] Documentation: Add license-rules.rst to describe how to properly identify file licenses Thomas Gleixner
2017-11-16 19:44   ` Rob Herring
2017-11-16 20:57   ` [patch V3 " Jonathan Corbet
2017-11-17  9:48     ` Thomas Gleixner
2017-11-17 22:38       ` Jonathan Corbet
2017-11-17 10:00   ` [patch V4 " Thomas Gleixner
2017-11-17 11:58     ` Philippe Ombredanne
     [not found]     ` <CAG_66ZRPXxodLw=eeTRtXuRGfvmonVNknzNmMuNMVooJgd1Uxw@mail.gmail.com>
2017-11-17 13:16       ` Thomas Gleixner
2017-11-17 17:06     ` Mauro Carvalho Chehab
2017-11-17 18:11       ` Thomas Gleixner
2017-11-17 18:39         ` Christoph Hellwig
2017-11-22 11:12           ` Thomas Gleixner
2017-11-22 11:51             ` Mauro Carvalho Chehab
2017-11-22 13:23               ` Christoph Hellwig
2017-11-22 13:35                 ` Mauro Carvalho Chehab
2017-11-22 13:48               ` Greg Kroah-Hartman
2017-11-25 19:04                 ` Pavel Machek
2017-11-25 19:11                   ` Linus Torvalds
2017-11-25 19:17                     ` Pavel Machek
2017-11-25 19:30                       ` Linus Torvalds
2017-11-25 19:53                         ` Mauro Carvalho Chehab
2017-11-25 20:30                           ` Linus Torvalds
2017-11-25 18:51       ` Pavel Machek
2017-11-25 23:41         ` Philippe Ombredanne [this message]
2017-11-17 19:02     ` Jonas Oberg
2017-12-14 16:25     ` Joe Perches
2017-12-14 16:29       ` Thomas Gleixner
2018-01-05 13:05     ` [V4, " Alexandre Belloni
2018-01-05 18:55       ` Russell King - ARM Linux
2018-01-05 22:48       ` Frank Rowand
2018-01-05 23:05         ` Alexandre Belloni
2017-11-17 10:07   ` [patch V2 " Greg Kroah-Hartman
2017-11-17 10:17   ` Carmen Bianca Bakker
2017-11-17 10:21     ` Thomas Gleixner
2017-11-16 18:33 ` [patch V2 02/11] LICENSES: Add the GPL 2.0 license Thomas Gleixner
2017-11-17 10:09   ` Greg Kroah-Hartman
2017-11-18 19:03   ` Charlemagne Lasse
2017-11-18 19:05     ` Charlemagne Lasse
2017-11-18 19:13     ` Jonas Oberg
2017-11-18 19:14     ` Linus Torvalds
2017-11-18 20:41       ` Charlemagne Lasse
2017-11-19  8:50         ` Charlemagne Lasse
2017-11-20 15:31       ` Alan Cox
2017-11-20 15:42         ` Russell King - ARM Linux
2017-11-21  8:27         ` Jonas Oberg
2017-11-21 13:57         ` Philippe Ombredanne
2017-11-21 17:55           ` Philippe Ombredanne
2017-11-20  9:42     ` Thomas Gleixner
2017-11-16 18:33 ` [patch V2 03/11] LICENSES: Add the LGPL " Thomas Gleixner
2017-11-17 10:09   ` Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 04/11] LICENSES: Add the LGPL-2.1 license Thomas Gleixner
2017-11-17 10:09   ` Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 05/11] LICENSES: Add the BSD 2-clause "Simplified" license Thomas Gleixner
2017-11-17 10:08   ` Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 06/11] LICENSES: Add the BSD 3-clause "New" or "Revised" License Thomas Gleixner
2017-11-17 10:09   ` Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 07/11] LICENSES: Add the BSD-3-clause "Clear" license Thomas Gleixner
2017-11-17 10:08   ` Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 08/11] LICENSES: Add the MIT license Thomas Gleixner
2017-11-16 18:33 ` [patch V2 09/11] LICENSES: Add Linux syscall note exception Thomas Gleixner
2017-11-16 21:00   ` [patch V3 " Jonathan Corbet
2017-11-17 10:07   ` [patch V2 " Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 10/11] LICENSES: Add the GPL 1.0 license Thomas Gleixner
2017-11-17 10:08   ` Greg Kroah-Hartman
2017-11-16 18:33 ` [patch V2 11/11] LICENSES: Add MPL-1.1 license Thomas Gleixner
2017-11-17 10:08   ` Greg Kroah-Hartman
2017-11-16 19:25 ` [patch V2 00/11] LICENSES: Add documentation and initial License files Thomas Gleixner
2017-12-04 21:19 [patch V4 " Thomas Gleixner
2017-12-04 21:19 ` [patch V4 01/11] Documentation: Add license-rules.rst to describe how to properly identify file licenses Thomas Gleixner
2017-12-05  6:50   ` Heiko Carstens
2017-12-08 15:29     ` Philippe Ombredanne
2017-12-09 11:03   ` Philippe Ombredanne
2017-12-11 21:58     ` Jonathan Corbet

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=CAOFm3uHoTGeS3V8bZUAsGVrPPfxHi7FU1etyfrFnCx3U+LDx4Q@mail.gmail.com \
    --to=pombredanne@nexb.com \
    --cc=akpm@linuxfoundation.org \
    --cc=carmenbianca@fsfe.org \
    --cc=charlemagnelasse@gmail.com \
    --cc=corbet@lwn.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=joe@perches.com \
    --cc=jonas@fsfe.org \
    --cc=kstewart@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=mchehab@s-opensource.com \
    --cc=pavel@ucw.cz \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=rob.herring@linaro.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).