mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Roland Hieber <rhi@pengutronix.de>
To: Andreas Pretzsch <apr@cn-eng.de>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH 2/2] libnl3: fix license identifier (GPL-2.0-only -> LGPL-2.1-only)
Date: Thu, 10 Oct 2019 11:54:09 +0200	[thread overview]
Message-ID: <20191010095409.hcyhlggjvlyutsyt@pengutronix.de> (raw)
In-Reply-To: <1be7ada837de247acec740d265b7c029bcd6e95b.camel@cn-eng.de>

On Wed, Oct 09, 2019 at 11:46:15PM +0200, Andreas Pretzsch wrote:
> On Wed, 2019-10-09 at 10:22 +0200, Roland Hieber wrote:
> > On Tue, Oct 08, 2019 at 10:01:50PM +0200, Andreas Pretzsch wrote:
> > > One of the changes 3.4.0 -> 3.5.0 was to add SPDX tags all
> > > across the source files. They are now tagged as LGPL-2.1-only.
> > > 
> > > The lib code itself had written LGPL-2.1-only headers already,
> > > as did most of the commandline tools (src/nf-* and src/nl-*).
> > > Very few of the cli tools have written GPL-2.0-only headers
> > > even now, but the LGPL-2.1-only SPDX tag was added there also.
> > > But given the use of those cli tools, and the meaning of LGPL
> > > for regular executables, they are probably fine as LGPL, too.
> > > 
> > > For details, see https://github.com/thom311/libnl/pull/219
> > > It was accepted mainline as commit cee0b1b 'Add SPDX identifiers'.
> > > 
> > > Therefore update the license tag in the rule to follow mainline.
> > > 
> > > Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
> > > ---
> > >  rules/libnl3.make | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/rules/libnl3.make b/rules/libnl3.make
> > > index 153c7b80e..5b3af0065 100644
> > > --- a/rules/libnl3.make
> > > +++ b/rules/libnl3.make
> > > @@ -22,7 +22,7 @@ LIBNL3_SUFFIX	:= tar.gz
> > >  LIBNL3_URL	:= 
> > > https://github.com/thom311/libnl/releases/download/$(LIBNL3_RELEASE)/$(LIBNL3).$(LIBNL3_SUFFIX
> > > )
> > >  LIBNL3_SOURCE	:= $(SRCDIR)/$(LIBNL3).$(LIBNL3_SUFFIX)
> > >  LIBNL3_DIR	:= $(BUILDDIR)/$(LIBNL3)
> > > -LIBNL3_LICENSE	:= GPL-2.0-only
> > > +LIBNL3_LICENSE	:= LGPL-2.1-only
> > 
> > It's also a good idea to add 
> > LIBNL3_LICENSE_FILES    :=
> > file://COPYING;md5=4fbd65380cdd255951079008b364516c
> > so we get a hint where the license is and when it changes again.
> 
> Well, this won't help here. As we have seen with this mixup.
> Which is why I am not a fan of this approach for the normal case,
> redundant at best, misleading at worst, like here...
> 
> 
> > I threw licensecheck [1] at the code. There a few files which have
> > comments identifying them as GPL-2.0-only, but also now have a
> > "SPDX-License-Identifier: LGPL-2.1-only" tag:
> > 
> > ./src/idiag-socket-details.c	GPL (v2)
> > ./src/nl-addr-add.c	GPL (v2)
> > ./src/nl-addr-delete.c	GPL (v2)
> > ./src/nl-addr-list.c	GPL (v2)
> > ./src/nl-cls-add.c	GPL (v2)
> 
> Essentially, these are short examples feeding command line arguments
> into library functions or dumps their result verbatim, using lib calls.
> So the threshold of originality is questionable anyway.
> But in a strict view, they are GPLv2-only, not LGPL, correct.
> And yes, they are installed and usable on the system.
> 
> Still, from a ptxdist point of view, the result is quite the
> same. Components distributed are under a copyleft license, with the
> known consequences. Which are the same in this case. For ptxdist users.
> If somebody takes above example/cli code and modifies it / includes it
> in own code, different story. The first thing to note (and care about)
> for this person would be the header in the source. Not ptxdist's issue.
> 
> Which is why I went the way of repeating upstreams pragmatic (and
> somewhat sloppy, given) solution.
> 
> Of course, an upstream fix would be best.
> 
> 
> > as well as several files in ./include/linux-private/linux/, which are
> > GPL-2.0 WITH Linux-syscall-note or GPL-2.0+ WITH Linux-syscall-note
> > (obviously copied from the kernel, although I don't understand why).
> 
> Which essentially says "This is an API. You need it to use Linux. Take
> it and use it, it has no license effect on your code.".
> Whatever Oracle dreamed of, back in the days...
> 
> So I tend to not mention these extra, for a ptxdist package license
> tag.
> 
> But again, I'm not authoritative here. Neither by legal expertise (I am
> not a lawyer, esp. not an IP one), not by decision.
> 
> 
> > ./lib/xfrm and ./include/netlink/ are BSD-3-Clause.
> > Sorry, I meant ./lib/xfrm/* and ./include/netlink/xfrm/*
> 
> Ok, these are really annoying. And we probably need to care.
> While BSD-3 can be included in GPL just fine, the copyright notice has
> to be included in the distributed license book. Including the copyright
> holder (here: Texas Instruments), to my knowledge. At least we did so
> before.
> 
> And this is probably nothing upstream can easily fix (like the GPL/LGPL
> mixup), I guess.
> 
> Didn't see those, thanks for bringing it up !
> 
> 
> > So I guess until we can argue that those files don't make it into a
> > compiled binary,
> 
> They will. They are installed as libnl-xfrm-3 as far as I can see.
> 
> >  the license statement should be 
> > LGPL-2.1-only AND GPL-2.0-only AND GPL-2.0 WITH Linux-syscall-note
> > and GPL-2.0+ WITH Linux-syscall-note and BSD-3-Clause.
> 
> Plus a LIBNL3_LICENSE_FILES tag for at least one of the BSD-3 files.
> If we want to go this route. What a PITA...
> Someone please remind me why I decided for engineering as profession?
> 
> 
> Now, how to proceed...
> 
> a) blow up the license tag as above (5 lics + bsd-file-header)
> b) keep LGPL-2.1-only (following upstream), add bsd-file-header
>    [ and try to get GPL/LGPL fixed upstream, for next release ]

I think the fixup patch from Michael just now is already the most
appropriate choice here. Upstream knows about the GPL-2.0 issue in the
tools, so there is nothing left for us to do here except wait for a fix
and a release.

This is not the first package where the LICENSE file says different
things than the source files... :)

 - Roland

> 
> Honestly, I don't know.
> I tend to b), but IANAL and ptx has to decide finally.
> 
> Roland, Michael, Alexander, what do you think ?
> 
> Roland, you can update this before 2019.10 release ?
> You're closest to source...
> 
> Best regards,
>   Andreas
> 
> -- 
> 
> carpe noctem engineering
> Ingenieurbuero fuer Hard- & Software-Entwicklung Andreas Pretzsch
> Dipl.-Ing. (FH) Andreas Pretzsch        Tel. +49-(0)7307-936088-1
> Lange Strasse 28a                       Fax: +49-(0)7307-936088-9
> 89250 Senden, Germany                   email: apr@cn-eng.de
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
> 

-- 
Roland Hieber                     | r.hieber@pengutronix.de     |
Pengutronix e.K.                  | https://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim | Phone: +49-5121-206917-5086 |
Amtsgericht Hildesheim, HRA 2686  | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

      reply	other threads:[~2019-10-10  9:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-08 20:01 [ptxdist] [PATCH 0/2] libnl3: version bump 3.4.0 -> 3.5.0 and license fix Andreas Pretzsch
2019-10-08 20:01 ` [ptxdist] [PATCH 1/2] libnl3: version bump 3.4.0 -> 3.5.0 Andreas Pretzsch
2019-10-08 20:01 ` [ptxdist] [PATCH 2/2] libnl3: fix license identifier (GPL-2.0-only -> LGPL-2.1-only) Andreas Pretzsch
2019-10-09  8:22   ` Roland Hieber
2019-10-09  8:27     ` Roland Hieber
2019-10-09  8:36     ` Alexander Dahl
2019-10-09 21:46       ` Andreas Pretzsch
2019-10-10  9:25         ` [ptxdist] [PATCH] libnl3: fix license information Michael Olbrich
2019-10-10  9:57           ` Roland Hieber
2019-10-10 10:21           ` Alexander Dahl
2019-10-10 11:56           ` Andreas Pretzsch
2019-10-15  7:51             ` Michael Olbrich
2019-10-15 12:21               ` Andreas Pretzsch
2019-10-09 21:46     ` [ptxdist] [PATCH 2/2] libnl3: fix license identifier (GPL-2.0-only -> LGPL-2.1-only) Andreas Pretzsch
2019-10-10  9:54       ` Roland Hieber [this message]

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=20191010095409.hcyhlggjvlyutsyt@pengutronix.de \
    --to=rhi@pengutronix.de \
    --cc=apr@cn-eng.de \
    --cc=ptxdist@pengutronix.de \
    /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