[libvirt] [PATCH 1/4] maint: use LGPL correctly

Eric Blake eblake at redhat.com
Mon May 20 20:05:43 UTC 2013


On 05/16/2013 12:47 AM, Martin Kletzander wrote:
> On 05/16/2013 02:23 AM, Eric Blake wrote:
>> Several files called out COPYING or COPYING.LIB instead of using
>> the normal boilerplate.  It's especially important that we don't
>> call out COPYING from an LGPL file, since COPYING is traditionally
>> used for the GPL.  A few files were lacking copyright altogether.
>>
>> * src/rpc/gendispatch.pl: Add missing copyright.
>> * src/rpc/genprotocol.pl: Spell out license terms.
> 
> Since we add the copyright here (in files not distributed in the
> tarball), should we maybe add it also to other build-helper scripts
> (both perl and shell ones)?

Yes, maybe I should add a syntax-check rule that requires that ALL files
have some form of Copyright line or be explicitly listed as exempt.
I'll squash the diff below into my push (more files to add copyrights,
that I found based on your comment), but I'd like to save a syntax check
(and any further file fallout) to a followup, though.

> 
> [...]
>> Any other files where I should add a copyright notice?
>>
> 
> Copyrights are mostly correct, but I had a look at licenses as well and
> mentioned those files as well.  Correct me if I'm wrong, but I think
> some of these files should have copyright added (only where we have it)
> and all of the are missing a license:
> 
> src/driver.h
> src/internal.h
> src/check-symfile.pl
> src/check-symsorting.pl

Yes, these all need copyright.

> 
> src/vbox/vbox_V3_2.c
> src/vbox/vbox_V4_0.c
> src/vbox/vbox_V4_1.c

Borderline for two reasons: 1. they are small enough files; upstream
gnulib uses the rule that a file with < 15 lines can generally be
considered trivial enough to not warrant doubling it in size by adding a
copyright blurb.  2. they touch vbox, so if I do anything with them, I'd
rather do it in patch 3/4 of the series anyway, since vbox has the weird
LGPLv2-only restriction.  That is, I suspect they deserve the same
copyright blurb as in vbox_V3_1.c, which is NOT our typical blurb that
I'm using in _this_ commit.

> 
> 
> I'm not sure about license/copyright in:
> 
> Makefile.nonreentrant

Non-trivial in size, worth adding the copyright comment.

> 
> tools/virt-pki-validate.in
> tools/virt-sanlock-cleanup.in

Hmm, they do carry a copyright notice, but not at the beginning; and the
license blurb they output is the condensed version more appropriate for
--help output.  I'll go ahead and add a non-pod copyright comment up
front as well.  And while looking, I noticed that libvirt-guests.sh.in
has no copyright at all, which is definitely wrong (any installed script
file should have a copyright mention, even if only when calling 'script
--version').

> 
> python/*.{py,c,h}

Big enough that I'll do it as a separate patch for that entire directory.

> 
> 
> And these probably don't need license since it's "AS-IS" now:
> 
> src/util/virhash.c
> src/util/virhash.h

The .h should probably call out the same license as the .c, since they
were copied from the same sources; but I'd rather do it in a separate patch.

>> +++ b/src/xen/xend_internal.h
>> @@ -1,16 +1,26 @@
>>  /*
>>   * xend_internal.h
>>   *
>> - * Copyright (C) 2006-2008, 2010-2012 Red Hat, Inc.
>> + * Copyright (C) 2006-2008, 2010-2013 Red Hat, Inc.
>>   * Copyright (C) 2005,2006
>>   *
>> - *      Anthony Liguori <aliguori at us.ibm.com>
>> - *	Daniel Veillard <veillard at redhat.com>
>>   *
> 
> I think these lines belong together as it doesn't just mean "Authors"
> but also to whom the last copyright belongs.  I'd add Anthony and DV in
> the line of the copyright.

Indeed.  I'll fix that.

> 
> Anyway, ACK.
> 

Pushed with this amendment:

diff --git i/Makefile.nonreentrant w/Makefile.nonreentrant
index f656dbb..78e26e3 100644
--- i/Makefile.nonreentrant
+++ w/Makefile.nonreentrant
@@ -1,3 +1,18 @@
+## Copyright (C) 2009-2010, 2013 Red Hat, Inc.
+##
+## This library 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; either
+## version 2.1 of the License, or (at your option) any later version.
+##
+## This library 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.
+##
+## You should have received a copy of the GNU Lesser General Public
+## License along with this library.  If not, see
+## <http://www.gnu.org/licenses/>.

 #
 # Generated by running the following on Fedora 9:
diff --git i/src/check-symfile.pl w/src/check-symfile.pl
index 435e045..d59a213 100755
--- i/src/check-symfile.pl
+++ w/src/check-symfile.pl
@@ -1,5 +1,21 @@
 #!/usr/bin/perl

+# Copyright (C) 2012-2013 Red Hat, Inc.
+#
+# This library 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library.  If not, see
+# <http://www.gnu.org/licenses/>.
+
 die "syntax: $0 SYMFILE ELFLIB(S)" unless int(@ARGV) >= 2;

 my $symfile = shift @ARGV;
diff --git i/src/check-symsorting.pl w/src/check-symsorting.pl
index f360dfb..81265e0 100755
--- i/src/check-symsorting.pl
+++ w/src/check-symsorting.pl
@@ -1,5 +1,21 @@
 #!/usr/bin/perl

+# Copyright (C) 2012-2013 Red Hat, Inc.
+#
+# This library 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library.  If not, see
+# <http://www.gnu.org/licenses/>.
+
 use strict;
 use warnings;

diff --git i/src/driver.h w/src/driver.h
index 405e0a7..e998adf 100644
--- i/src/driver.h
+++ w/src/driver.h
@@ -1,6 +1,22 @@
 /*
  * driver.h: description of the set of interfaces provided by a
  *           entry point to the virtualization engine
+ *
+ * Copyright (C) 2006-2013 Red Hat, Inc.
+ *
+ * This library 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
  */

 #ifndef __VIR_DRIVER_H__
diff --git i/src/internal.h w/src/internal.h
index cef9dc9..5e29694 100644
--- i/src/internal.h
+++ w/src/internal.h
@@ -1,5 +1,21 @@
 /*
  * internal.h: internal definitions just used by code from the library
+ *
+ * Copyright (C) 2006-2013 Red Hat, Inc.
+ *
+ * This library 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
  */

 #ifndef __VIR_INTERNAL_H__
diff --git i/src/xen/xend_internal.h w/src/xen/xend_internal.h
index 16521d5..9be7402 100644
--- i/src/xen/xend_internal.h
+++ w/src/xen/xend_internal.h
@@ -2,8 +2,8 @@
  * xend_internal.h
  *
  * Copyright (C) 2006-2008, 2010-2013 Red Hat, Inc.
- * Copyright (C) 2005,2006
- *
+ * Copyright (C) 2005,2006 Anthony Liguori <aliguori at us.ibm.com>
+ *  and Daniel Veillard <veillard at redhat.com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -18,9 +18,6 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library.  If not, see
  * <http://www.gnu.org/licenses/>.
- *
- *      Anthony Liguori <aliguori at us.ibm.com>
- *	Daniel Veillard <veillard at redhat.com>
  */

 #ifndef __XEND_INTERNAL_H_
diff --git i/tools/libvirt-guests.sh.in w/tools/libvirt-guests.sh.in
index 261c488..38e93c5 100644
--- i/tools/libvirt-guests.sh.in
+++ w/tools/libvirt-guests.sh.in
@@ -1,5 +1,21 @@
 #!/bin/sh

+# Copyright (C) 2011-2013 Red Hat, Inc.
+#
+# This library 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library.  If not, see
+# <http://www.gnu.org/licenses/>.
+
 sysconfdir="@sysconfdir@"
 localstatedir="@localstatedir@"
 libvirtd="@sbindir@"/libvirtd
diff --git i/tools/virt-pki-validate.in w/tools/virt-pki-validate.in
index 2edbf85..5d0453f 100755
--- i/tools/virt-pki-validate.in
+++ w/tools/virt-pki-validate.in
@@ -4,6 +4,22 @@
 # for the secure client/server support of libvirt as documented at
 # http://libvirt.org/remote.html#Remote_certificates
 #
+# Copyright (C) 2009-2013 Red Hat, Inc.
+#
+# This library 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library.  If not, see
+# <http://www.gnu.org/licenses/>.
+#
 # Daniel Veillard <veillard at redhat.com>
 #
 USER=`who am i | awk '{ print $1 }'`
diff --git i/tools/virt-sanlock-cleanup.in w/tools/virt-sanlock-cleanup.in
index 5389fc7..e0e8083 100644
--- i/tools/virt-sanlock-cleanup.in
+++ w/tools/virt-sanlock-cleanup.in
@@ -3,6 +3,22 @@
 # A script to cleanup resource leases auto-created by
 # the libvirt lock plugin for sanlock

+# Copyright (C) 2011, 2013 Red Hat, Inc.
+#
+# This library 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; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library.  If not, see
+# <http://www.gnu.org/licenses/>.
+
 verbose=1
 if test "x$1" = "x-q" ; then
   verbose=0


-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130520/864cb3b8/attachment-0001.sig>


More information about the libvir-list mailing list