Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
* nvme-cli license clarification
@ 2022-05-16 16:16 Daniel Wagner
  2022-05-16 16:21 ` Keith Busch
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Wagner @ 2022-05-16 16:16 UTC (permalink / raw)
  To: linux-nvme
  Cc: Ming Lei, Keith Busch, Sagi Grimberg, Hannes Reinecke,
	Martin Wilck, Belanger Martin, James Smart, Hanumanthu H

Hi,

The question pop up about the license of nvme-cli and libnvme. The
reporter noticed that there are some inconsistency [1]. First let's just
have a look at nvme-cli.

Keith stated that the original license is/was GPL-2.0-or-later.

Most of the files are either not having any copyright notes at the
beginning of the file or are sporting the 'or any later version'
snipped. So all good here, nothing to do.

But there are some noticeable exceptions though which all have
GPL-2.0-only. I assume the general mood is that we want the project to
be licensed as GPL-2.0-or-later, so let's try to resolve these issues:

1. fabrics.c

   Ming added this file initially with

   Copyright (C) 2016 Intel Corporation. All rights reserved.
   Copyright (c) 2016 HGST, a Western Digital Company.
   Copyright (c) 2016 Samsung Electronics Co., Ltd.

   There are plenty of contributions for this file. E.g the
   counted lines contributed by an author for the monolithic
   branch (aka the 1.x version)[2]:

    456 Sagi Grimberg
    328 Ming Lin
    253 Martin Wilck
    229 Keith Busch
    175 Hannes Reinecke
     87 Martin Belanger
     85 James Smart
     50 Minwoo Im
     47 Andy Lutomirski
     45 Johannes Thumshirn
     41 Christoph Hellwig
     39 Martin George
     26 Roland Dreier
     23 Jay Freyensee
     20 Eyal Ben David
     11 Chaitanya Kulkarni
     10 Duane Grigsby
      8 Israel Rukshin
      7 Maurizio Lombardi
      6 Max Gurtovoy
      4 Yair Elharrar
      4 Gollu Appalanaidu
      3 Yi Zhang
      3 Eric Curtin
      3 Daniel Wagner
      2 Rakesh Pandit
      2 Bart Van Assche
      1 Tomasz Zawadzki
      1 Nitzan Carmi
      1 Logan Gunthorpe
      1 Gwendal Grignou
      1 Guan Junxiong
      1 Breno Leitao

  and for the master branch (aka 2.x version)

    564 Hannes Reinecke
    350 Daniel Wagner
    127 Martin Belanger
     80 Ming Lin
     57 Sagi Grimberg
     35 Tokunori Ikegami
     24 Keith Busch
     11 Martin George
      8 Christoph Hellwig
      7 Wu Bo
      6 Roland Dreier
      5 Jay Freyensee
      3 Eyal Ben David
      2 Rakesh Pandit
      2 Martin Wilck
      2 Gollu Appalanaidu
      2 Chaitanya Kulkarni
      1 Yi Zhang
      1 Vincent Fu
      1 Tomas Bzatek
      1 Minwoo Im
      1 Logan Gunthorpe
      1 Breno Leitao
      1 Bart Van Assche

  Because Hannes and I have moved a lot of code around we listed
  first.

  Not totally sure how to proceed here. I suppose we need for listed
  the copyright holders an official 'or any later version' change
  Signed-off-by? Things might be difficult as for example Ming is
  no longer with Samsung. Any ideas?

2. nvme.h

   The situation here is a bit simpler as Keith is 'owning' most
   of the lines (monolithic and master branch are almost identically)

   Copyright (c) 2011-2014, Intel Corporation

    104 Keith Busch
     26 Hannes Reinecke
      6 Steven Seungcheol Lee
      3 Sagi Grimberg
      3 Christoph Hellwig
      2 Scott Bauer
      2 Minwoo Im
      2 Martin Wilck
      2 Daniel Wagner
      1 Warner Losh
      1 Tomasz Zawadzki
      1 Ming Lin
      1 Max Gurtovoy
      1 Martin Belanger
      1 Jeffrey Lien
      1 James Smart
      1 Brandon Paupore

  I suppose someone from Intel needs to signed of the 'or any later
  version' thing. Keith do you happen to have a contact for this?

3. nvme-rpmb.c

   This files seems to be owned mostly by Micron.

   Copyright (C) 2020 Micron Techology Inc. All rights reserved.

    933 Hanumanthu H
     52 Daniel Wagner
     35 Hannes Reinecke
     22 Gollu Appalanaidu
      3 naveen kumar
      2 Keith Busch
      1 Klaus Jensen
      1 Ariadne Conill

   Hanumanthu would you be fine to change the license to
   GPL-2.0-or-later?

4. util/parser.c

   This file was provided by Ming and according the commit message
   it is imported from the Linux kernel 4.5. I don't think we can
   get that re-licensed under GPL-2.0-or-later. The good news is
   that it seems we can just remove the file as it is not used.

Thanks
Daniel

[1] https://github.com/linux-nvme/nvme-cli/issues/1508
[2] git blame --line-porcelain FILENAME | sed -n 's/^author //p' | sort -f | uniq -ic | sort -nr


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: nvme-cli license clarification
  2022-05-16 16:16 nvme-cli license clarification Daniel Wagner
@ 2022-05-16 16:21 ` Keith Busch
  2022-05-17  7:57   ` Daniel Wagner
  0 siblings, 1 reply; 3+ messages in thread
From: Keith Busch @ 2022-05-16 16:21 UTC (permalink / raw)
  To: Daniel Wagner
  Cc: linux-nvme, Ming Lei, Sagi Grimberg, Hannes Reinecke,
	Martin Wilck, Belanger Martin, James Smart, Hanumanthu H

On Mon, May 16, 2022 at 06:16:08PM +0200, Daniel Wagner wrote:
> 2. nvme.h
> 
>    The situation here is a bit simpler as Keith is 'owning' most
>    of the lines (monolithic and master branch are almost identically)
> 
>    Copyright (c) 2011-2014, Intel Corporation
> 
>     104 Keith Busch
>      26 Hannes Reinecke
>       6 Steven Seungcheol Lee
>       3 Sagi Grimberg
>       3 Christoph Hellwig
>       2 Scott Bauer
>       2 Minwoo Im
>       2 Martin Wilck
>       2 Daniel Wagner
>       1 Warner Losh
>       1 Tomasz Zawadzki
>       1 Ming Lin
>       1 Max Gurtovoy
>       1 Martin Belanger
>       1 Jeffrey Lien
>       1 James Smart
>       1 Brandon Paupore
> 
>   I suppose someone from Intel needs to signed of the 'or any later
>   version' thing. Keith do you happen to have a contact for this?

I am not sure of who would be interested at Intel in this anymore. This was
initially just a copy of the Linux kernel's header, though, and diverged
significantly from there, but I guess we'd need to inherit the original's
GPLv2 only license?


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: nvme-cli license clarification
  2022-05-16 16:21 ` Keith Busch
@ 2022-05-17  7:57   ` Daniel Wagner
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Wagner @ 2022-05-17  7:57 UTC (permalink / raw)
  To: Keith Busch
  Cc: linux-nvme, Ming Lei, Sagi Grimberg, Hannes Reinecke,
	Martin Wilck, Belanger Martin, James Smart, Hanumanthu H

On Mon, May 16, 2022 at 10:21:03AM -0600, Keith Busch wrote:
> On Mon, May 16, 2022 at 06:16:08PM +0200, Daniel Wagner wrote:
> > 2. nvme.h
> > 
> >    The situation here is a bit simpler as Keith is 'owning' most
> >    of the lines (monolithic and master branch are almost identically)
> > 
> >    Copyright (c) 2011-2014, Intel Corporation
> >
> >   I suppose someone from Intel needs to signed of the 'or any later
> >   version' thing. Keith do you happen to have a contact for this?
> 
> I am not sure of who would be interested at Intel in this anymore. This was
> initially just a copy of the Linux kernel's header, though, and diverged
> significantly from there, but I guess we'd need to inherit the original's
> GPLv2 only license?

Indeed, there isn't much left from the uapi header. I see to options.

The first is to accept this situation and mark nvme-cli as GPL-2.0-only
or second we reimplement the necessary parts under GPL-2.0-or-later.

Most of the content is just function declarations and the implementation
is licensed under GPL-2.0-or-later. Do we really have to consider these
declarations as GPL-2.0-only? So this could be moved to a new header
file which is licensed under GPL-2.0-or-later, I suppose.

The rest of the file could be reimplemented fairly simple. What you think?


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-17  7:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-16 16:16 nvme-cli license clarification Daniel Wagner
2022-05-16 16:21 ` Keith Busch
2022-05-17  7:57   ` Daniel Wagner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox