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

Re: [Xen-devel] [PATCH v4 28/33] tools/libxl: Check if fdt_{first, next}_subnode are present in libfdt



Ian Campbell writes ("Re: [PATCH v4 28/33] tools/libxl: Check if 
fdt_{first,next}_subnode are present in libfdt"):
> On Tue, 2015-03-31 at 13:46 +0100, Julien Grall wrote:
> > After speaking with Ian J. I will:
> >     - Drop the GPL license from the header as we use the BSD one
> >     - Add the libxl header license
> >     - Specify in the commit message why we chose the BSD license.
> 
> One downside to dropping the GPL bit is that any fixes which we get to
> this code cannot then easily be upstreamed.

That's not the case.

AIUI upstream's version of this file is  BSD(2-clause) \union GPLv2.

Our copy of the file will be  BSD(2-clause) \union LGPLv2.1.

We write LGPLv2.1 in it only to be clear that when anyone distributes
libxl_libfdt.c as part of libxl they must comply with the terms of the
LGPLv2.1 for the whole of libxl including libfdt.

But the dual licence means that anyone who finds something in our
version that they want to send upstream, this is easy: they choose the
BSD(2-clause) option in the licence of our version, which (because
BSD(2-clause) is GPL*-compatible) grants the ability to distribute as
GPLv2.

I think that leaving the GPL licence notice in is simply confusing.
The GPLv2 doesn't grant any additional permissions not covered by
BSD(2-clause), and the extra restrictions implied by GPLv2 are
irrelevant in the context of libxl because we are relying entirely on
the BSD(2-clause) option from upstream.

> TBH I think it would be find to include both the GPL and BSD and to
> include a comment that within the context of libxl we have chosen BSD
> and so the overall license of the work remains LGPL. Ian may disagree
> though.

I would say something like this:

  Copyright 2010 Alice
  Copyright 2014 Carol
  Copyright 2015 Bob

  This file is part of libxl, and was originally taken from libfdt.

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU Lesser General Public License as published
  by the Free Software Foundation; version 2.1 only. with the special
  exception on linking described in file LICENSE.
 
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Lesser General Public License for more details.

  Additionally, this particular file is dual licensed.  That is,
  alternatively, at your option:

       Redistribution and use in source and binary forms, with or
       without modification, are permitted provided that the following
       conditions are met:

       1. Redistributions of source code must retain the above
          copyright notice, this list of conditions and the following
          disclaimer.
       2. Redistributions in binary form must reproduce the above
          copyright notice, this list of conditions and the following
          disclaimer in the documentation and/or other materials
          provided with the distribution.

       THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
       CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
       INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
       MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
       DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
       CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
       SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
       NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
       LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
       HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
       CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
       OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
       EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  Note that this applies only to this file, and other files with a
  similar notice.  Also, note that when the same code is distributed
  along with the rest of libxl, you must comply with the terms of the
  LGPLv2.1 for the whole of libxl including this file.

  The intent is to permit, in particular, upstream libfdt to
  incorporate improvements to this file within upstream libfdt.  At
  the time of writing, upstream libfdt is dual licensed: 2-clause BSD
  (as above) and GPLv2-or-later.  The 2-clause BSD licence is
  compatible with both GPLv2-or-later and LGPLv2.1-only; this permits
  copying in both directions, and the optional licence upgrade to a
  copyleft licence by libdft upstream or the Xen Project,
  respectively.

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.