Re: [libgpiod][PATCH 6/6] core: add the kernel uapi header to the repository

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 26, 2021 at 04:07:47PM +0100, Bartosz Golaszewski wrote:
> On Mon, Jan 25, 2021 at 6:55 AM Kent Gibson <warthog618@xxxxxxxxx> wrote:
> >
> 
> [snip!]
> 
> > >
> > > I don't like the ifdef hell so I prefer to bundle the header. I'm open
> > > to other suggestions, although I can't come up with anything else.
> > >
> >
> > Going off on a bit of a tangent, but I'm trying to add support for
> > decoding the GPIO ioctls into strace and am running up against a similar
> > issue.
> >
> > The way strace does it is to check the uAPI header on the host and use
> > it if possible.  To handle where it may be stale, local types are
> > defined that mirror any types that may have been added since the header
> > was originally released.  If the corresponding type is available in the
> > linux header then it is used, else the local type.
> >
> > This obviously creates a lot of pointless boilerplate code and
> > preprocessor chicanery so I floated the idea of just including the latest
> > header in the strace tree, as you are doing here for libgpiod.
> > But that raised the issue of licencing, specifically if you copy the
> > linux/gpio.h into a source tree does that mean that the whole project
> > becomes GPL 2.0?  That is an issue for strace as it is LGPL 2.1 - as is
> > libgpiod.
> >
> > The Linux uAPI headers are under the GPL-2.0 WITH Linux-syscall-note,
> > which is also not totally clear on this point[1].
> >
> > My gut feeling was that using and even copying API headers doesn't
> > constitute a derived work, as per the FSF view quoted in [1], and
> > ethically might even be less of a violation than copying and re-defining
> > individual types, but I'd rather not rely on a gut feeling.
> >
> > Is there some clear opinion or precedent on this point?
> > i.e. are libgpiod and strace in legal licence jeopardy if they include
> > gpio.h in their source tree?
> >
> > Cheers,
> > Kent.
> >
> > [1] https://lkml.org/lkml/2020/2/21/2193
> 
> Thanks for pointing that out. I lack the legal knowledge to have an
> opinion of my own on this.
> 
> Cc'ing Greg KH for help.
> 
> Greg: do you know if it's fine to bundle a 'GPL-2.0 WITH
> Linux-syscall-note' uAPI header together with an LGPL-v2.1-or-later
> user-space shared library?

How would you "bundle" such a thing as that is not what is in the kernel
source tree?  If you are going to copy files out of the kernel and do
other things with them, well, I recommend asking a lawyer as I am not
one :)

good luck!

greg k-h



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux