[libvirt] [PATCH 0/4] Properly use LGPL

The FSF has some recommendations on how to use the LGPL, and we weren't always following them. This series tries to clean things up to avoid any confusion on our intent - our source code is LGPLv2+ (except for vbox which is LGPLv2-only); the resulting binaries might be under a different license based on what they link with (for example, libvirt_parthelper is GPLv3+, and a future patch will make libvirtd GPLv2-only so as to let libvirt.so become LGPLv2+ instead of its current polluted LGPLv2-only when built with vbox). One thing I was unable to figure out: when switching between branches, older branches still create a non-versioned COPYING file; git doesn't like to move to this commit unless you manually remove that file first. Unfortunately, I don't know of any clean way to avoid that problem, unless we _don't_ version-control COPYING and instead copy it out of .gnulib/docs/COPYINGv2 as needed (similar to how configure.ac used to copy it from COPYING.LIB before this series). If having to manually remove COPYING before switching branches proves too annoying, and if you agree that libvirt.git can get away without COPYING (since it is really only tarballs that NEED it), then I can tweak patch 2 to keep populating COPYING at configure time, rather than version-controlling it. Eric Blake (4): maint: use LGPL correctly maint: follow recommended practice for using LGPL maint: refer to correct license file maint: enforce correct copyright usage .gitignore | 1 - COPYING | 339 ++++++++++++++++++++++++++++ COPYING.LIB => COPYING.LESSER | 0 Makefile.am | 17 +- cfg.mk | 12 +- configure.ac | 23 +- daemon/Makefile.am | 15 +- docs/Makefile.am | 17 +- docs/schemas/Makefile.am | 17 +- examples/apparmor/Makefile.am | 17 +- examples/domain-events/events-c/Makefile.am | 17 +- examples/dominfo/Makefile.am | 17 +- examples/domsuspend/Makefile.am | 17 +- examples/hellolibvirt/Makefile.am | 17 +- examples/openauth/Makefile.am | 17 +- examples/python/Makefile.am | 17 +- examples/systemtap/Makefile.am | 17 +- examples/xml/nwfilter/Makefile.am | 17 +- gnulib/lib/Makefile.am | 17 +- gnulib/tests/Makefile.am | 17 +- include/Makefile.am | 17 +- include/libvirt/Makefile.am | 17 +- libvirt.spec.in | 6 +- python/Makefile.am | 15 +- python/tests/Makefile.am | 17 +- src/Makefile.am | 15 +- src/rpc/gendispatch.pl | 16 ++ src/rpc/genprotocol.pl | 16 +- src/vbox/vbox_CAPI_v2_2.h | 2 +- src/vbox/vbox_CAPI_v3_0.h | 2 +- src/vbox/vbox_CAPI_v3_1.h | 2 +- src/vbox/vbox_CAPI_v3_2.h | 2 +- src/vbox/vbox_CAPI_v4_0.h | 2 +- src/vbox/vbox_CAPI_v4_1.h | 2 +- src/vbox/vbox_V2_2.c | 2 +- src/vbox/vbox_V3_0.c | 2 +- src/vbox/vbox_V3_1.c | 2 +- src/vbox/vbox_XPCOMCGlue.c | 2 +- src/vbox/vbox_XPCOMCGlue.h | 2 +- src/vbox/vbox_driver.c | 2 +- src/vbox/vbox_driver.h | 2 +- src/vbox/vbox_tmpl.c | 2 +- src/xen/xend_internal.c | 16 +- src/xen/xend_internal.h | 22 +- tests/Makefile.am | 15 +- tools/Makefile.am | 15 +- 46 files changed, 765 insertions(+), 78 deletions(-) create mode 100644 COPYING rename COPYING.LIB => COPYING.LESSER (100%) -- 1.8.1.4

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. * src/xen/xend_internal.h: Likewise. * src/xen/xend_internal.c: Likewise. * Makefile.am: Likewise. * daemon/Makefile.am: Likewise. * docs/Makefile.am: Likewise. * docs/schemas/Makefile.am: Likewise. * examples/apparmor/Makefile.am: Likewise. * examples/domain-events/events-c/Makefile.am: Likewise. * examples/dominfo/Makefile.am: Likewise. * examples/domsuspend/Makefile.am: Likewise. * examples/hellolibvirt/Makefile.am: Likewise. * examples/openauth/Makefile.am: Likewise. * examples/python/Makefile.am: Likewise. * examples/systemtap/Makefile.am: Likewise. * examples/xml/nwfilter/Makefile.am: Likewise. * gnulib/lib/Makefile.am: Likewise. * gnulib/tests/Makefile.am: Likewise. * include/Makefile.am: Likewise. * include/libvirt/Makefile.am: Likewise. * python/Makefile.am: Likewise. * python/tests/Makefile.am: Likewise. * src/Makefile.am: Likewise. * tests/Makefile.am: Likewise. * tools/Makefile.am: Likewise. * configure.ac: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com> --- Any other files where I should add a copyright notice? Makefile.am | 17 +++++++++++++++-- configure.ac | 15 ++++++++++++++- daemon/Makefile.am | 15 ++++++++++++++- docs/Makefile.am | 17 +++++++++++++++-- docs/schemas/Makefile.am | 17 +++++++++++++++-- examples/apparmor/Makefile.am | 17 +++++++++++++++-- examples/domain-events/events-c/Makefile.am | 17 +++++++++++++++-- examples/dominfo/Makefile.am | 17 +++++++++++++++-- examples/domsuspend/Makefile.am | 17 +++++++++++++++-- examples/hellolibvirt/Makefile.am | 17 +++++++++++++++-- examples/openauth/Makefile.am | 17 +++++++++++++++-- examples/python/Makefile.am | 17 +++++++++++++++-- examples/systemtap/Makefile.am | 17 +++++++++++++++-- examples/xml/nwfilter/Makefile.am | 17 +++++++++++++++-- gnulib/lib/Makefile.am | 17 +++++++++++++++-- gnulib/tests/Makefile.am | 17 +++++++++++++++-- include/Makefile.am | 17 +++++++++++++++-- include/libvirt/Makefile.am | 17 +++++++++++++++-- python/Makefile.am | 15 ++++++++++++++- python/tests/Makefile.am | 17 +++++++++++++++-- src/Makefile.am | 15 ++++++++++++++- src/rpc/gendispatch.pl | 16 ++++++++++++++++ src/rpc/genprotocol.pl | 16 ++++++++++++++-- src/xen/xend_internal.c | 16 +++++++++++++--- src/xen/xend_internal.h | 22 ++++++++++++++++------ tests/Makefile.am | 15 ++++++++++++++- tools/Makefile.am | 15 ++++++++++++++- 27 files changed, 398 insertions(+), 51 deletions(-) diff --git a/Makefile.am b/Makefile.am index 5b1e27e..f620c72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,20 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. LCOV = lcov GENHTML = genhtml diff --git a/configure.ac b/configure.ac index 3f3f11e..1561956 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,20 @@ dnl Process this file with autoconf to produce a configure script. dnl Copyright (C) 2005-2013 Red Hat, Inc. -dnl See COPYING.LIB for the License of this software +dnl +dnl This library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; either +dnl version 2.1 of the License, or (at your option) any later version. +dnl +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library. If not, see +dnl <http://www.gnu.org/licenses/>. AC_INIT([libvirt], [1.0.5], [libvir-list@redhat.com], [], [http://libvirt.org]) AC_CONFIG_SRCDIR([src/libvirt.c]) diff --git a/daemon/Makefile.am b/daemon/Makefile.am index f48dc85..edf13e0 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -1,7 +1,20 @@ ## Process this file with automake to produce Makefile.in ## Copyright (C) 2005-2013 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## +## 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/>. INCLUDES = \ -I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib \ diff --git a/docs/Makefile.am b/docs/Makefile.am index 2d22743..f453c4c 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -1,7 +1,20 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. SUBDIRS= schemas diff --git a/docs/schemas/Makefile.am b/docs/schemas/Makefile.am index 4413d9e..8da2c67 100644 --- a/docs/schemas/Makefile.am +++ b/docs/schemas/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. schemadir = $(pkgdatadir)/schemas schema_DATA = \ diff --git a/examples/apparmor/Makefile.am b/examples/apparmor/Makefile.am index 0bc66ac..79cf5c9 100644 --- a/examples/apparmor/Makefile.am +++ b/examples/apparmor/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. EXTRA_DIST= \ TEMPLATE \ diff --git a/examples/domain-events/events-c/Makefile.am b/examples/domain-events/events-c/Makefile.am index 2bcbca0..0646aee 100644 --- a/examples/domain-events/events-c/Makefile.am +++ b/examples/domain-events/events-c/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_builddir)/gnulib/lib -I$(top_srcdir)/gnulib/lib diff --git a/examples/dominfo/Makefile.am b/examples/dominfo/Makefile.am index 188c53a..4a30c77 100644 --- a/examples/dominfo/Makefile.am +++ b/examples/dominfo/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \ diff --git a/examples/domsuspend/Makefile.am b/examples/domsuspend/Makefile.am index dbb38c5..d0d9368 100644 --- a/examples/domsuspend/Makefile.am +++ b/examples/domsuspend/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \ diff --git a/examples/hellolibvirt/Makefile.am b/examples/hellolibvirt/Makefile.am index e92fa9d..060cc71 100644 --- a/examples/hellolibvirt/Makefile.am +++ b/examples/hellolibvirt/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include noinst_PROGRAMS = hellolibvirt diff --git a/examples/openauth/Makefile.am b/examples/openauth/Makefile.am index b396150..1eb23fc 100644 --- a/examples/openauth/Makefile.am +++ b/examples/openauth/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include noinst_PROGRAMS = openauth diff --git a/examples/python/Makefile.am b/examples/python/Makefile.am index b04d126..2cacfa1 100644 --- a/examples/python/Makefile.am +++ b/examples/python/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. EXTRA_DIST= \ README \ diff --git a/examples/systemtap/Makefile.am b/examples/systemtap/Makefile.am index 6cfa4cd..3938b9c 100644 --- a/examples/systemtap/Makefile.am +++ b/examples/systemtap/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. EXTRA_DIST = \ events.stp \ diff --git a/examples/xml/nwfilter/Makefile.am b/examples/xml/nwfilter/Makefile.am index 12a3619..6264428 100644 --- a/examples/xml/nwfilter/Makefile.am +++ b/examples/xml/nwfilter/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. FILTERS = \ allow-arp.xml \ diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am index 7ec8648..e27c658 100644 --- a/gnulib/lib/Makefile.am +++ b/gnulib/lib/Makefile.am @@ -1,7 +1,20 @@ ## Makefile for gnulib/lib -*-Makefile-*- -## Copyright (C) 2011-2012 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## 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/>. # Initialize variables, so gnulib.mk can append to them BUILT_SOURCES = diff --git a/gnulib/tests/Makefile.am b/gnulib/tests/Makefile.am index 3445c6d..6a2f51b 100644 --- a/gnulib/tests/Makefile.am +++ b/gnulib/tests/Makefile.am @@ -1,7 +1,20 @@ ## Makefile for gnulib/lib -*-Makefile-*- -## Copyright (C) 2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## 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/>. include gnulib.mk diff --git a/include/Makefile.am b/include/Makefile.am index 426762c..80361a7 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,6 +1,19 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. SUBDIRS=libvirt diff --git a/include/libvirt/Makefile.am b/include/libvirt/Makefile.am index 0ec7f04..5638890 100644 --- a/include/libvirt/Makefile.am +++ b/include/libvirt/Makefile.am @@ -1,7 +1,20 @@ ## Process this file with automake to produce Makefile.in -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. virincdir = $(includedir)/libvirt diff --git a/python/Makefile.am b/python/Makefile.am index 767d807..b3e858f 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -1,7 +1,20 @@ # Makefile for libvirt python library ## Copyright (C) 2005-2013 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## +## 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/>. SUBDIRS= . tests diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am index c387825..0fd3c78 100644 --- a/python/tests/Makefile.am +++ b/python/tests/Makefile.am @@ -1,5 +1,18 @@ -## Copyright (C) 2005-2011 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## Copyright (C) 2005-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/>. EXAMPLE_DIR = $(datadir)/doc/libvirt-python-$(VERSION)/examples diff --git a/src/Makefile.am b/src/Makefile.am index 6c626ac..db482e6 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,20 @@ ## Process this file with automake to produce Makefile.in ## Copyright (C) 2005-2013 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## +## 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/>. # No libraries with the exception of LIBXML should be listed # here. List them against the individual XXX_la_CFLAGS targets diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl index 8d3b013..37a35f4 100755 --- a/src/rpc/gendispatch.pl +++ b/src/rpc/gendispatch.pl @@ -1,5 +1,21 @@ #!/usr/bin/perl -w # +# Copyright (C) 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/>. +# # This script parses remote_protocol.x or qemu_protocol.x and produces lots of # boilerplate code for both ends of the remote connection. # diff --git a/src/rpc/genprotocol.pl b/src/rpc/genprotocol.pl index f02ce13..4f8b6c4 100755 --- a/src/rpc/genprotocol.pl +++ b/src/rpc/genprotocol.pl @@ -8,9 +8,21 @@ # actually fixes for 64 bit, so this file is necessary. Arguably # so is the type-punning fix. # -# Copyright (C) 2007, 2011-2012 Red Hat, Inc. +# Copyright (C) 2007, 2011-2013 Red Hat, Inc. # -# See COPYING for the license of this software. +# 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/>. # # Richard Jones <rjones@redhat.com> diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c index aec57f5..6ed02cb 100644 --- a/src/xen/xend_internal.c +++ b/src/xen/xend_internal.c @@ -4,9 +4,19 @@ * Copyright (C) 2010-2013 Red Hat, Inc. * Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com> * - * This file is subject to the terms and conditions of the GNU Lesser General - * Public License. See the file COPYING.LIB in the main directory of this - * archive for more details. + * 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/>. */ #include <config.h> diff --git a/src/xen/xend_internal.h b/src/xen/xend_internal.h index 7332303..16521d5 100644 --- a/src/xen/xend_internal.h +++ 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@us.ibm.com> - * Daniel Veillard <veillard@redhat.com> * + * 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. * - * This file is subject to the terms and conditions of the GNU Lesser General - * Public License. See the file COPYING in the main directory of this archive - * 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/>. + * + * Anthony Liguori <aliguori@us.ibm.com> + * Daniel Veillard <veillard@redhat.com> */ #ifndef __XEND_INTERNAL_H_ diff --git a/tests/Makefile.am b/tests/Makefile.am index 41c4067..6bdec0c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,20 @@ ## Process this file with automake to produce Makefile.in ## Copyright (C) 2005-2013 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## +## 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/>. SHELL = $(PREFERABLY_POSIX_SHELL) diff --git a/tools/Makefile.am b/tools/Makefile.am index 4136b84..1dac7c1 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,5 +1,18 @@ ## Copyright (C) 2005-2013 Red Hat, Inc. -## See COPYING.LIB for the License of this software +## +## 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/>. INCLUDES = \ -I$(top_builddir)/include -I$(top_srcdir)/include \ -- 1.8.1.4

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)? [...]
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 src/vbox/vbox_V3_2.c src/vbox/vbox_V4_0.c src/vbox/vbox_V4_1.c I'm not sure about license/copyright in: Makefile.nonreentrant tools/virt-pki-validate.in tools/virt-sanlock-cleanup.in python/*.{py,c,h} And these probably don't need license since it's "AS-IS" now: src/util/virhash.c src/util/virhash.h [...]
diff --git a/src/xen/xend_internal.h b/src/xen/xend_internal.h index 7332303..16521d5 100644 --- a/src/xen/xend_internal.h +++ 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@us.ibm.com> - * Daniel Veillard <veillard@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. Anyway, ACK. Martin

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@us.ibm.com> - * Daniel Veillard <veillard@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@us.ibm.com> + * and Daniel Veillard <veillard@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@us.ibm.com> - * Daniel Veillard <veillard@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@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

https://www.gnu.org/licenses/gpl-howto.html states: You should also include a copy of the license itself somewhere in the distribution of your program. All programs, whether they are released under the GPL or LGPL, should include the text version of the GPL. In GNU programs the license is usually in a file called COPYING. If you are releasing your program under the LGPL, you should also include the text version of the LGPL, usually in a file called COPYING.LESSER. Please note that, since the LGPL is a set of additional permissions on top of the GPL, it's important to include both licenses so users have all the materials they need to understand their rights. * configure.ac (COPYING): No more games with non-git file. * COPYING: New file, copied from gnulib. * COPYING.LIB: Rename... * COPYING.LESSER: ...to this. * .gitignore: Track licenses in git. * cfg.mk (exclude_file_name_regexp--sc_copyright_address): Tweak rule. * libvirt.spec.in (daemon, client, python): Reflect rename. Signed-off-by: Eric Blake <eblake@redhat.com> --- .gitignore | 1 - COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++ COPYING.LIB => COPYING.LESSER | 0 cfg.mk | 2 +- configure.ac | 8 - libvirt.spec.in | 6 +- 6 files changed, 343 insertions(+), 13 deletions(-) create mode 100644 COPYING rename COPYING.LIB => COPYING.LESSER (100%) diff --git a/.gitignore b/.gitignore index 3d874a9..b12d1ab 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,6 @@ .sc-start-sc_* /ABOUT-NLS /AUTHORS -/COPYING /ChangeLog /GNUmakefile /INSTALL diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/COPYING.LIB b/COPYING.LESSER similarity index 100% rename from COPYING.LIB rename to COPYING.LESSER diff --git a/cfg.mk b/cfg.mk index bb93c6a..e013195 100644 --- a/cfg.mk +++ b/cfg.mk @@ -854,7 +854,7 @@ exclude_file_name_regexp--sc_avoid_write = \ exclude_file_name_regexp--sc_bindtextdomain = ^(tests|examples)/ exclude_file_name_regexp--sc_copyright_address = \ - ^COPYING\.LIB$$ + ^COPYING(|\.LESSER)$$ exclude_file_name_regexp--sc_flags_usage = ^(docs/|src/util/virnetdevtap\.c$$|tests/vircgroupmock\.c$$) diff --git a/configure.ac b/configure.ac index 1561956..2055637 100644 --- a/configure.ac +++ b/configure.ac @@ -2396,14 +2396,6 @@ AC_CHECK_DECLS([link_addr], #include <net/if_dl.h> ]) - -# Only COPYING.LIB is under version control, yet COPYING -# is included as part of the distribution tarball. -# Copy one to the other, but only if this is a srcdir-build. -# You are unlikely to be doing distribution-related things in a non-srcdir build -test "x$srcdir" = x. && ! test -f COPYING && -cp -f COPYING.LIB COPYING - # Detect when running under the clang static analyzer's scan-build driver # or Coverity-prevent's cov-build. Define STATIC_ANALYSIS accordingly. AC_CACHE_CHECK([whether this build is done by a static analysis tool], diff --git a/libvirt.spec.in b/libvirt.spec.in index bd889f3..ad9cea2 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1664,7 +1664,7 @@ fi %files daemon %defattr(-, root, root) -%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO +%doc AUTHORS ChangeLog.gz NEWS README COPYING COPYING.LESSER TODO %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ %if %{with_network} @@ -1914,7 +1914,7 @@ fi %files client -f %{name}.lang %defattr(-, root, root) -%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO +%doc AUTHORS ChangeLog.gz NEWS README COPYING COPYING.LESSER TODO %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf %{_mandir}/man1/virsh.1* @@ -1994,7 +1994,7 @@ fi %files python %defattr(-, root, root) -%doc AUTHORS NEWS README COPYING.LIB +%doc AUTHORS NEWS README COPYING COPYING.LESSER %{_libdir}/python*/site-packages/libvirt.py* %{_libdir}/python*/site-packages/libvirt_qemu.py* %{_libdir}/python*/site-packages/libvirt_lxc.py* -- 1.8.1.4

On 05/16/2013 02:23 AM, Eric Blake wrote:
https://www.gnu.org/licenses/gpl-howto.html states:
You should also include a copy of the license itself somewhere in the distribution of your program. All programs, whether they are released under the GPL or LGPL, should include the text version of the GPL. In GNU programs the license is usually in a file called COPYING.
If you are releasing your program under the LGPL, you should also include the text version of the LGPL, usually in a file called COPYING.LESSER. Please note that, since the LGPL is a set of additional permissions on top of the GPL, it's important to include both licenses so users have all the materials they need to understand their rights.
* configure.ac (COPYING): No more games with non-git file. * COPYING: New file, copied from gnulib. * COPYING.LIB: Rename... * COPYING.LESSER: ...to this. * .gitignore: Track licenses in git. * cfg.mk (exclude_file_name_regexp--sc_copyright_address): Tweak rule. * libvirt.spec.in (daemon, client, python): Reflect rename.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
ACK, Martin

On 05/16/2013 12:50 AM, Martin Kletzander wrote:
On 05/16/2013 02:23 AM, Eric Blake wrote:
https://www.gnu.org/licenses/gpl-howto.html states:
You should also include a copy of the license itself somewhere in the distribution of your program. All programs, whether they are released under the GPL or LGPL, should include the text version of the GPL. In GNU programs the license is usually in a file called COPYING.
If you are releasing your program under the LGPL, you should also include the text version of the LGPL, usually in a file called COPYING.LESSER. Please note that, since the LGPL is a set of additional permissions on top of the GPL, it's important to include both licenses so users have all the materials they need to understand their rights.
* configure.ac (COPYING): No more games with non-git file. * COPYING: New file, copied from gnulib. * COPYING.LIB: Rename... * COPYING.LESSER: ...to this. * .gitignore: Track licenses in git. * cfg.mk (exclude_file_name_regexp--sc_copyright_address): Tweak rule. * libvirt.spec.in (daemon, client, python): Reflect rename.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
ACK,
Pushed, and apologies to anyone trying to toggle branches between before-and-after on this (you'll have to manually nuke the old COPYING when moving to newer commits, to keep git happy). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

Now that COPYING no longer contains the text of the LGPL, modify the LGPLv2-only files from vbox to call out the correct file. * src/vbox/vbox_CAPI_v2_2.h: Refer to correct file. * src/vbox/vbox_CAPI_v3_0.h: Likewise. * src/vbox/vbox_CAPI_v3_1.h: Likewise. * src/vbox/vbox_CAPI_v3_2.h: Likewise. * src/vbox/vbox_CAPI_v4_0.h: Likewise. * src/vbox/vbox_CAPI_v4_1.h: Likewise. * src/vbox/vbox_V2_2.c: Likewise. * src/vbox/vbox_V3_0.c: Likewise. * src/vbox/vbox_V3_1.c: Likewise. * src/vbox/vbox_XPCOMCGlue.c: Likewise. * src/vbox/vbox_XPCOMCGlue.h: Likewise. * src/vbox/vbox_driver.c: Likewise. * src/vbox/vbox_driver.h: Likewise. * src/vbox/vbox_tmpl.c: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com> --- src/vbox/vbox_CAPI_v2_2.h | 2 +- src/vbox/vbox_CAPI_v3_0.h | 2 +- src/vbox/vbox_CAPI_v3_1.h | 2 +- src/vbox/vbox_CAPI_v3_2.h | 2 +- src/vbox/vbox_CAPI_v4_0.h | 2 +- src/vbox/vbox_CAPI_v4_1.h | 2 +- src/vbox/vbox_V2_2.c | 2 +- src/vbox/vbox_V3_0.c | 2 +- src/vbox/vbox_V3_1.c | 2 +- src/vbox/vbox_XPCOMCGlue.c | 2 +- src/vbox/vbox_XPCOMCGlue.h | 2 +- src/vbox/vbox_driver.c | 2 +- src/vbox/vbox_driver.h | 2 +- src/vbox/vbox_tmpl.c | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/vbox/vbox_CAPI_v2_2.h b/src/vbox/vbox_CAPI_v2_2.h index a94d2ec..146ec49 100644 --- a/src/vbox/vbox_CAPI_v2_2.h +++ b/src/vbox/vbox_CAPI_v2_2.h @@ -27,7 +27,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_CAPI_v3_0.h b/src/vbox/vbox_CAPI_v3_0.h index ed8b3dd..8db94df 100644 --- a/src/vbox/vbox_CAPI_v3_0.h +++ b/src/vbox/vbox_CAPI_v3_0.h @@ -27,7 +27,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_CAPI_v3_1.h b/src/vbox/vbox_CAPI_v3_1.h index 1eb27c4..a4034f8 100644 --- a/src/vbox/vbox_CAPI_v3_1.h +++ b/src/vbox/vbox_CAPI_v3_1.h @@ -27,7 +27,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_CAPI_v3_2.h b/src/vbox/vbox_CAPI_v3_2.h index 0fbe2e1..2ce990e 100644 --- a/src/vbox/vbox_CAPI_v3_2.h +++ b/src/vbox/vbox_CAPI_v3_2.h @@ -27,7 +27,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_CAPI_v4_0.h b/src/vbox/vbox_CAPI_v4_0.h index 0b8c838..1a4ed2a 100644 --- a/src/vbox/vbox_CAPI_v4_0.h +++ b/src/vbox/vbox_CAPI_v4_0.h @@ -27,7 +27,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_CAPI_v4_1.h b/src/vbox/vbox_CAPI_v4_1.h index 7c94b42..77b2cc5 100644 --- a/src/vbox/vbox_CAPI_v4_1.h +++ b/src/vbox/vbox_CAPI_v4_1.h @@ -27,7 +27,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_V2_2.c b/src/vbox/vbox_V2_2.c index 3674bb9..dbd8f34 100644 --- a/src/vbox/vbox_V2_2.c +++ b/src/vbox/vbox_V2_2.c @@ -9,7 +9,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_V3_0.c b/src/vbox/vbox_V3_0.c index cd8ada2..b18b7a8 100644 --- a/src/vbox/vbox_V3_0.c +++ b/src/vbox/vbox_V3_0.c @@ -9,7 +9,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_V3_1.c b/src/vbox/vbox_V3_1.c index 4c5b289..f3579d0 100644 --- a/src/vbox/vbox_V3_1.c +++ b/src/vbox/vbox_V3_1.c @@ -9,7 +9,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_XPCOMCGlue.c b/src/vbox/vbox_XPCOMCGlue.c index e8b4280..9719014 100644 --- a/src/vbox/vbox_XPCOMCGlue.c +++ b/src/vbox/vbox_XPCOMCGlue.c @@ -8,7 +8,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_XPCOMCGlue.h b/src/vbox/vbox_XPCOMCGlue.h index 2a50404..3c112a8 100644 --- a/src/vbox/vbox_XPCOMCGlue.h +++ b/src/vbox/vbox_XPCOMCGlue.h @@ -8,7 +8,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_driver.c b/src/vbox/vbox_driver.c index 5dfaf1c..a68f33d 100644 --- a/src/vbox/vbox_driver.c +++ b/src/vbox/vbox_driver.c @@ -9,7 +9,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_driver.h b/src/vbox/vbox_driver.h index 2eabf1c..399e4c6 100644 --- a/src/vbox/vbox_driver.h +++ b/src/vbox/vbox_driver.h @@ -8,7 +8,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c index eb8ac63..5a5b429 100644 --- a/src/vbox/vbox_tmpl.c +++ b/src/vbox/vbox_tmpl.c @@ -14,7 +14,7 @@ * This file is part of a free software library; you can redistribute * it and/or modify it under the terms of the GNU Lesser General * Public License version 2.1 as published by the Free Software - * Foundation and shipped in the "COPYING" file with this library. + * Foundation and shipped in the "COPYING.LESSER" file with this library. * The library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY of any kind. * -- 1.8.1.4

On 05/16/2013 02:23 AM, Eric Blake wrote:
Now that COPYING no longer contains the text of the LGPL, modify the LGPLv2-only files from vbox to call out the correct file.
* src/vbox/vbox_CAPI_v2_2.h: Refer to correct file. * src/vbox/vbox_CAPI_v3_0.h: Likewise. * src/vbox/vbox_CAPI_v3_1.h: Likewise. * src/vbox/vbox_CAPI_v3_2.h: Likewise. * src/vbox/vbox_CAPI_v4_0.h: Likewise. * src/vbox/vbox_CAPI_v4_1.h: Likewise. * src/vbox/vbox_V2_2.c: Likewise. * src/vbox/vbox_V3_0.c: Likewise. * src/vbox/vbox_V3_1.c: Likewise. * src/vbox/vbox_XPCOMCGlue.c: Likewise. * src/vbox/vbox_XPCOMCGlue.h: Likewise. * src/vbox/vbox_driver.c: Likewise. * src/vbox/vbox_driver.h: Likewise. * src/vbox/vbox_tmpl.c: Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
ACK, Martin

On 05/16/2013 12:50 AM, Martin Kletzander wrote:
On 05/16/2013 02:23 AM, Eric Blake wrote:
Now that COPYING no longer contains the text of the LGPL, modify the LGPLv2-only files from vbox to call out the correct file.
* src/vbox/vbox_CAPI_v2_2.h: Refer to correct file. * src/vbox/vbox_CAPI_v3_0.h: Likewise. * src/vbox/vbox_CAPI_v3_1.h: Likewise. * src/vbox/vbox_CAPI_v3_2.h: Likewise. * src/vbox/vbox_CAPI_v4_0.h: Likewise. * src/vbox/vbox_CAPI_v4_1.h: Likewise. * src/vbox/vbox_V2_2.c: Likewise. * src/vbox/vbox_V3_0.c: Likewise. * src/vbox/vbox_V3_1.c: Likewise. * src/vbox/vbox_XPCOMCGlue.c: Likewise. * src/vbox/vbox_XPCOMCGlue.h: Likewise. * src/vbox/vbox_driver.c: Likewise. * src/vbox/vbox_driver.h: Likewise. * src/vbox/vbox_tmpl.c: Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com> ---
ACK,
As mentioned in the review of 1/4, a few files in this directory lacked copyright claims. I'm squashing this in before pushing (justification on the README file: FSF states that top-level files with no code content can be distributed under a generic as-is disclaimer, rather than needing to be LGPL): diff --git i/src/vbox/README w/src/vbox/README index 22db911..6e88ae6 100644 --- i/src/vbox/README +++ w/src/vbox/README @@ -1,3 +1,15 @@ + Licensing + +Note that much of the vbox in this directory is LGPLv2-only. Thus, it +cannot be linked into any software that also wants to use GPLv3+ code. +This readme file is: + +Copyright (C) 2009, 2013 Red Hat, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. Explanation about the how multi-version support for VirtualBox libvirt driver is implemented. diff --git i/src/vbox/vbox_V3_2.c w/src/vbox/vbox_V3_2.c index a67302c..1ef3303 100644 --- i/src/vbox/vbox_V3_2.c +++ w/src/vbox/vbox_V3_2.c @@ -3,6 +3,30 @@ * at runtime. */ +/* + * Copyright (C) 2008-2009 Sun Microsystems, Inc. + * + * This file is part of a free software library; you can redistribute + * it and/or modify it under the terms of the GNU Lesser General + * Public License version 2.1 as published by the Free Software + * Foundation and shipped in the "COPYING.LESSER" file with this library. + * The library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY of any kind. + * + * Sun LGPL Disclaimer: For the avoidance of doubt, except that if + * any license choice other than GPL or LGPL is available it will + * apply instead, Sun elects to use only the Lesser General Public + * License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the + * language indicating that LGPLv2 or any later version may be used, + * or where a choice of which version of the LGPL is applied is + * otherwise unspecified. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa + * Clara, CA 95054 USA or visit http://www.sun.com if you need + * additional information or have any questions. + */ + #include <config.h> /** The API Version */ diff --git i/src/vbox/vbox_V4_0.c w/src/vbox/vbox_V4_0.c index f976a1a..0c13c6a 100644 --- i/src/vbox/vbox_V4_0.c +++ w/src/vbox/vbox_V4_0.c @@ -3,6 +3,30 @@ * at runtime. */ +/* + * Copyright (C) 2008-2009 Sun Microsystems, Inc. + * + * This file is part of a free software library; you can redistribute + * it and/or modify it under the terms of the GNU Lesser General + * Public License version 2.1 as published by the Free Software + * Foundation and shipped in the "COPYING.LESSER" file with this library. + * The library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY of any kind. + * + * Sun LGPL Disclaimer: For the avoidance of doubt, except that if + * any license choice other than GPL or LGPL is available it will + * apply instead, Sun elects to use only the Lesser General Public + * License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the + * language indicating that LGPLv2 or any later version may be used, + * or where a choice of which version of the LGPL is applied is + * otherwise unspecified. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa + * Clara, CA 95054 USA or visit http://www.sun.com if you need + * additional information or have any questions. + */ + #include <config.h> /** The API Version */ diff --git i/src/vbox/vbox_V4_1.c w/src/vbox/vbox_V4_1.c index 00fab09..b6d06f1 100644 --- i/src/vbox/vbox_V4_1.c +++ w/src/vbox/vbox_V4_1.c @@ -3,6 +3,30 @@ * at runtime. */ +/* + * Copyright (C) 2008-2009 Sun Microsystems, Inc. + * + * This file is part of a free software library; you can redistribute + * it and/or modify it under the terms of the GNU Lesser General + * Public License version 2.1 as published by the Free Software + * Foundation and shipped in the "COPYING.LESSER" file with this library. + * The library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY of any kind. + * + * Sun LGPL Disclaimer: For the avoidance of doubt, except that if + * any license choice other than GPL or LGPL is available it will + * apply instead, Sun elects to use only the Lesser General Public + * License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the + * language indicating that LGPLv2 or any later version may be used, + * or where a choice of which version of the LGPL is applied is + * otherwise unspecified. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa + * Clara, CA 95054 USA or visit http://www.sun.com if you need + * additional information or have any questions. + */ + #include <config.h> /** The API Version */ -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

To ensure we don't regress and cause the need for further cleanups, add a 'make syntax-check' rule that ensures new files have proper copyright contents. * cfg.mk (sc_copyright_file): New rule. Signed-off-by: Eric Blake <eblake@redhat.com> --- cfg.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cfg.mk b/cfg.mk index e013195..f1715e4 100644 --- a/cfg.mk +++ b/cfg.mk @@ -688,6 +688,13 @@ sc_copyright_address: halt='Point to <http://www.gnu.org/licenses/>, not an address' \ $(_sc_search_regexp) +# We have to ship COPYING (GPL) alongside COPYING.LESSER (LGPL), but +# we want source files to be explicit that they are LGPL. +sc_copyright_file: + @prohibit='COPYING([^.]|\.LIB)' \ + halt='Refer to COPYING.LESSER for LGPL' \ + $(_sc_search_regexp) + # Some functions/macros produce messages intended solely for developers # and maintainers. Do not mark them for translation. sc_prohibit_gettext_markup: @@ -856,6 +863,9 @@ exclude_file_name_regexp--sc_bindtextdomain = ^(tests|examples)/ exclude_file_name_regexp--sc_copyright_address = \ ^COPYING(|\.LESSER)$$ +exclude_file_name_regexp--sc_copyright_file = \ + ^COPYING(|\.LESSER)|cfg\.mk|libvirt.spec.in$$ + exclude_file_name_regexp--sc_flags_usage = ^(docs/|src/util/virnetdevtap\.c$$|tests/vircgroupmock\.c$$) exclude_file_name_regexp--sc_libvirt_unmarked_diagnostics = \ -- 1.8.1.4

On 05/16/2013 02:23 AM, Eric Blake wrote:
To ensure we don't regress and cause the need for further cleanups, add a 'make syntax-check' rule that ensures new files have proper copyright contents.
* cfg.mk (sc_copyright_file): New rule.
Signed-off-by: Eric Blake <eblake@redhat.com> --- cfg.mk | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/cfg.mk b/cfg.mk index e013195..f1715e4 100644 --- a/cfg.mk +++ b/cfg.mk @@ -688,6 +688,13 @@ sc_copyright_address: halt='Point to <http://www.gnu.org/licenses/>, not an address' \ $(_sc_search_regexp)
+# We have to ship COPYING (GPL) alongside COPYING.LESSER (LGPL), but +# we want source files to be explicit that they are LGPL. +sc_copyright_file: + @prohibit='COPYING([^.]|\.LIB)' \
COPYING.asdf and similar wouldn't match, but we don't need to take care of that.
+ halt='Refer to COPYING.LESSER for LGPL' \ + $(_sc_search_regexp) + # Some functions/macros produce messages intended solely for developers # and maintainers. Do not mark them for translation. sc_prohibit_gettext_markup: @@ -856,6 +863,9 @@ exclude_file_name_regexp--sc_bindtextdomain = ^(tests|examples)/ exclude_file_name_regexp--sc_copyright_address = \ ^COPYING(|\.LESSER)$$
+exclude_file_name_regexp--sc_copyright_file = \ + ^COPYING(|\.LESSER)|cfg\.mk|libvirt.spec.in$$ + exclude_file_name_regexp--sc_flags_usage = ^(docs/|src/util/virnetdevtap\.c$$|tests/vircgroupmock\.c$$)
exclude_file_name_regexp--sc_libvirt_unmarked_diagnostics = \
ACK, Martin

On 05/16/2013 12:53 AM, Martin Kletzander wrote:
On 05/16/2013 02:23 AM, Eric Blake wrote:
To ensure we don't regress and cause the need for further cleanups, add a 'make syntax-check' rule that ensures new files have proper copyright contents.
* cfg.mk (sc_copyright_file): New rule.
+# We have to ship COPYING (GPL) alongside COPYING.LESSER (LGPL), but +# we want source files to be explicit that they are LGPL. +sc_copyright_file: + @prohibit='COPYING([^.]|\.LIB)' \
COPYING.asdf and similar wouldn't match, but we don't need to take care of that.
Aha - I can use require=COPYING\.LESSER and containing=COPYING, to fine-tune this to say that if "COPYING" is present, it better be a substring of "COPYING.LESSER" in at least one usage; I can't outright forbid plain COPYING (think the spec file, which installs both), but can forbid COPYING.LIB (any file accidentally referring to the old name). Since most files use the string "COPYING" zero times (our usual boilerplate) or one time (calling out a single file), this will catch most common abuses.
ACK,
Even though I still don't prevent someone from saying "COPYING.asdf" if they also use "COPYING.LESSER" somewhere else in the same file, I don't think anyone will really attempt that. Meanwhile, with my tweaks, I was able to get the exception list smaller (which was the only reason I originally created a new rule in the first place), so I was able to combine my new rule with an existing one and rename it to cover the fact that it now covers multiple copyright usage checks. Here's what I pushed. From 0e55024e7b5c57adbe5fd0258cd7d890929488ac Mon Sep 17 00:00:00 2001 From: Eric Blake <eblake@redhat.com> Date: Tue, 14 May 2013 17:41:15 -0600 Subject: [PATCH] maint: enforce correct copyright usage To ensure we don't regress and cause the need for further cleanups, add a 'make syntax-check' rule that ensures new files have proper copyright contents. * cfg.mk (sc_copyright_address): Rename... (sc_copyright_usage): ...and enhance. Signed-off-by: Eric Blake <eblake@redhat.com> --- cfg.mk | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/cfg.mk b/cfg.mk index e013195..639ac83 100644 --- a/cfg.mk +++ b/cfg.mk @@ -682,11 +682,22 @@ sc_copyright_format: $(_sc_search_regexp) # Prefer the new URL listing over the old street address listing when -# calling out where to get a copy of the [L]GPL. -sc_copyright_address: +# calling out where to get a copy of the [L]GPL. Also, while we have +# to ship COPYING (GPL) alongside COPYING.LESSER (LGPL), we want any +# source file that calls out a top-level file to call out the LGPL +# version. Note that our typical copyright boilerplate refers to the +# license by name, not by reference to a top-level file. +sc_copyright_usage: @prohibit=Boston,' MA' \ halt='Point to <http://www.gnu.org/licenses/>, not an address' \ $(_sc_search_regexp) + @require='COPYING\.LESSER' \ + containing='COPYING' \ + halt='Refer to COPYING.LESSER for LGPL' \ + $(_sc_search_regexp) + @prohibit='COPYING\.LIB' \ + halt='Refer to COPYING.LESSER for LGPL' \ + $(_sc_search_regexp) # Some functions/macros produce messages intended solely for developers # and maintainers. Do not mark them for translation. @@ -853,7 +864,7 @@ exclude_file_name_regexp--sc_avoid_write = \ exclude_file_name_regexp--sc_bindtextdomain = ^(tests|examples)/ -exclude_file_name_regexp--sc_copyright_address = \ +exclude_file_name_regexp--sc_copyright_usage = \ ^COPYING(|\.LESSER)$$ exclude_file_name_regexp--sc_flags_usage = ^(docs/|src/util/virnetdevtap\.c$$|tests/vircgroupmock\.c$$) -- 1.8.1.4 -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
Martin Kletzander