linux-spdx.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Richard Fontana <rfontana@redhat.com>, linux-spdx@vger.kernel.org
Subject: Re: Meta-question on GPL compliance of this activity
Date: Wed, 22 May 2019 16:16:05 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.21.1905221549321.1637@nanos.tec.linutronix.de> (raw)
In-Reply-To: <20190522132744.GD28920@kroah.com>

On Wed, 22 May 2019, Greg KH wrote:
> On Tue, May 21, 2019 at 01:58:04PM -0400, Richard Fontana wrote:
> > I was at the LLW event in Barcelona last month but unfortunately did
> > not attend the workshop relating to this activity, so I apologize if
> > this is something that has already been considered.
> > 
> > GPLv2 section 1 says: "You may copy and distribute verbatim copies of
> > the Program's source code as you receive it, in any medium, provided
> > that you conspicuously and appropriately publish on each copy an
> > appropriate copyright notice and disclaimer of warranty; keep intact
> > all the notices that refer to this License and to the absence of any
> > warranty; and give any other recipients of the Program a copy of this
> > License along with the Program."
> > 
> > I have recently heard the argument that replacing a more or less
> > standard old-school GNU license notice, or any sort of nonstandard
> > pre-SPDX alternative human-oriented notice, with an SPDX license
> > identifier string, without explicit permission from the copyright
> > holder, complies with this condition, because in substance the SPDX
> > string embodies equivalent licensing information (and has benefits of
> > its own over the old-school notice). However, more conservative
> > interpreters of GPLv2, including some copyright holders, might argue
> > otherwise.
> 
> Wonderful, let's debate that with any copyright holder who argues
> otherwise.  Right now, we have all companies and developers who have
> seen these lines removed in their files, agree with the removal of the
> text.  If there are any objections, we will gladly leave their files
> alone.

And there is precedence:

 https://github.com/u-boot/u-boot/commit/cb3761ea995ca2699db19f54e7c5f7e463381459

plus a few dozen of similar commits which converted the u-boot tree into a
SPDX clean state. They had a simpler task as the number of crude licenses
was smaller, but they had to fight odd cases as well. AFAIK nobody went
berserk on the u-boot folks and they did that 6 years ago...

> Note, we can trivially change back any such file if someone objects in
> the future as well.  Remember, we have the whole history of "the world"
> at our fingertips here, nothing we do is ever immutable.

I just hacked up a trivial script.

  # spdxhist.py kernel/delayacct.c

  SPDX identifier added with:
  commit 7170066ecd289cd8560695b6f86ba8dc723b6505
  Author: Thomas Gleixner <tglx@linutronix.de>
  Date:   Sun May 19 15:51:55 2019 +0200

  // SPDX-License-Identifier: GPL-2.0-or-later

  Lines removed:

  *
  * 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.
  *
  * This program is distributed in the hope that it would be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
  * the GNU General Public License for more details.

Now for a file where we just added one (had no license ref at all):

  # spdxhist.py kernel/irq/chip.c 

  SPDX identifier added with
  commit 52a65ff5603e685e9b19c2e108b3f0826dc7a86b
  Author: Thomas Gleixner <tglx@linutronix.de>
  Date:   Sun May 19 15:51:55 2019 +0200

  // SPDX-License-Identifier: GPL-2.0

So we can expose that information with tooling or generate even full
documentation for the whole kernel tree at any given time.

Picking some random other one:

  # spdxhist.py drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.c

  SPDX identifier added with
  commit 4c450f056cae111a48bb33c3ddb33296a206faad
  Author: Jonathan Gray <jsg@jsg.id.au>
  Date:   Mon Oct 15 15:45:49 2018 +1100

  // SPDX-License-Identifier: MIT

  Lines removed:

  // SPDX-License-Identifier: GPL-2.0

So fixups happen when people notice and it's not the end of the world.

We rather spend some time on tooling to find out the exact point of change
and deal with it after the fact rather than trying to solve all theoretical
lawyerese issues upfront. You know exactly that this won't ever be
possible.

TBH, we are talking about cleaning up this mess for at least a decade and
the lawyers while promising to help just came up with new fancy licenses or
did not prevent their engineers from creating these zombies which just
cause headache.

We need a pragmatic approach and I'm surely aware that there might be
dragons lurking, but we spent a lot of time on thinking about a sane
approach and with the review process we are able to filter out the
problematic cases upfront and then we just need to find a way to deal with
them in a sensible way.

Just leaving them around is not a solution as explained already in that
other thread.

We need quick help from the SPDX/lawyer camp to handle these cases proper,
unless the copyright holders are willing to remove the magic disclaimers
and modifications. Surely the latter would be the preferred solution, but
that's nothing engineers can solve. That's something we happily delegate to
a lawyer to lawyer conversation. :)

Thanks,

	tglx





  reply	other threads:[~2019-05-22 14:16 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-06 19:58 [Batch 1 - patch 12/25] treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_208.RULE Thomas Gleixner
2019-05-21 17:58 ` Meta-question on GPL compliance of this activity Richard Fontana
2019-05-21 18:59   ` J Lovejoy
2019-05-21 21:08   ` Bradley M. Kuhn
2019-05-22  9:40     ` Thomas Gleixner
2019-05-22 13:30     ` Greg KH
2019-05-23  4:41       ` Bradley M. Kuhn
2019-05-23  5:42         ` Thomas Gleixner
2019-05-22 16:14     ` J Lovejoy
2019-05-22 21:10       ` John Sullivan
2019-05-23  1:19         ` J Lovejoy
2019-05-23  6:06           ` Thomas Gleixner
2019-05-29 20:57           ` John Sullivan
2019-05-29 21:30             ` Greg KH
2019-06-01  3:22               ` John Sullivan
2019-06-01  9:31                 ` Greg KH
2019-06-01  4:21               ` Richard Fontana
2019-05-24  4:33       ` Richard Fontana
2019-05-24  5:20         ` Greg KH
2019-05-24 20:24           ` Allison Randal
2019-05-25  1:07             ` Richard Fontana
2019-05-27 21:23               ` Allison Randal
2019-05-25 16:56             ` Greg KH
2019-05-27 21:54               ` Allison Randal
2019-05-28  7:21                 ` Dominik Brodowski
2019-05-22 13:27   ` Greg KH
2019-05-22 14:16     ` Thomas Gleixner [this message]
2019-05-22 16:33       ` J Lovejoy
2019-05-22 16:52         ` Thomas Gleixner
2019-05-22 17:00           ` J Lovejoy
2022-06-06 20:11 ` [Batch 1 - patch 12/25] treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_208.RULE Richard Fontana
2022-06-06 20:17   ` Thomas Gleixner
2022-06-07 18:12     ` Bradley M. Kuhn
2022-06-07 23:05       ` Thomas Gleixner
2022-06-08  8:33         ` Allison Randal
2022-06-08 14:04           ` Bradley M. Kuhn
2022-06-08 14:59             ` Allison Randal
2022-06-08 17:18               ` Bradley M. Kuhn
2022-06-08 18:54                 ` Richard Fontana
2022-06-08 19:29                   ` Bradley M. Kuhn
     [not found]                     ` <02f4021f-63a5-4796-d790-2bacd37b90d2@jilayne.com>
2022-06-09  0:31                       ` Bradley M. Kuhn
2022-06-09  4:51                         ` J Lovejoy
2022-06-09 15:03                           ` Bradley M. Kuhn
2022-06-09  2:35                       ` Richard Fontana
2022-06-06 20:31   ` Bradley M. Kuhn

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=alpine.DEB.2.21.1905221549321.1637@nanos.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-spdx@vger.kernel.org \
    --cc=rfontana@redhat.com \
    /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).