nvme-cli license clarification

Daniel Wagner dwagner at suse.de
Mon May 16 09:16:08 PDT 2022


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



More information about the Linux-nvme mailing list