Skip to contentSkip to conversation

kobject: add SPDX identifiers to all kobject files

PATCH In review Greg Kroah-Hartman 5 participants 10 messages Nov 7, 2017 – Nov 9, 2017

Subsystems (7)
lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

PATCH 1/5 kobject: add SPDX identifiers to all kobject files

It's good to have SPDX identifiers in all files to make it easier to audit the kernel tree for correct licenses.

Update the kobject files files with the correct SPDX license identifier based on the license text in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text.

This work is based on a script and data from Thomas Gleixner, Philippe Ombredanne, and Kate Stewart.

Cc Thomas Gleixner <[email protected]>
Cc Kate Stewart <[email protected]>
Cc Philippe Ombredanne <[email protected]>
---
 include/linux/kobject.h           | 1 +
 include/linux/kobject_ns.h        | 1 +
 lib/kobject.c                     | 1 +
 lib/kobject_uevent.c              | 1 +
 samples/kobject/kobject-example.c | 1 +
 samples/kobject/kset-example.c    | 1 +
 6 files changed, 6 insertions(+)
include/linux/kobject.h +1 -0
index e0a6205caa71..ac59b67f131e 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * kobject.h - generic kernel object infrastructure.
  *
include/linux/kobject_ns.h +1 -0
index df32d2508290..7dd22132cc13 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /* Kernel object name space definitions
  *
  * Copyright (c) 2002-2003 Patrick Mochel
lib/kobject.c +1 -0
index 763d70a18941..450e771d0ac7 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * kobject.c - library routines for handling generic kernel objects
  *
lib/kobject_uevent.c +1 -0
index f237a09a5862..070aa1412827 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * kernel userspace event delivery
  *
samples/kobject/kobject-example.c +1 -0
index 2e0740f06cd7..6cc8bb36a4e8 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Sample kobject implementation
  *
samples/kobject/kset-example.c +1 -0
index a55bff52bde3..58543eca7f16 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Sample kset and ktype implementation
  *
Signature · 1 line
2.15.0
author maintainer
#1 lore raw

PATCH 2/5 kobject: Remove redundant license text

Now that the SPDX tag is in all kobject files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all.

This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed.

No copyright headers or other non-license-description text was removed.

---
 include/linux/kobject.h           | 2 --
 include/linux/kobject_ns.h        | 2 --
 lib/kobject.c                     | 3 ---
 lib/kobject_uevent.c              | 2 --
 samples/kobject/kobject-example.c | 3 ---
 samples/kobject/kset-example.c    | 3 ---
 6 files changed, 15 deletions(-)
include/linux/kobject.h +0 -2
index ac59b67f131e..7f6f93c3df9c 100644
@@ -7,8 +7,6 @@
  * Copyright (c) 2006-2008 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2006-2008 Novell Inc.
  *
- * This file is released under the GPLv2.
- *
  * Please read Documentation/kobject.txt before using the kobject
  * interface, ESPECIALLY the parts about reference counts and object
  * destructors.
include/linux/kobject_ns.h +0 -2
index 7dd22132cc13..069aa2ebef90 100644
@@ -8,8 +8,6 @@
  *
  * Split from kobject.h by David Howells ([email protected])
  *
- * This file is released under the GPLv2.
- *
  * Please read Documentation/kobject.txt before using the kobject
  * interface, ESPECIALLY the parts about reference counts and object
  * destructors.
lib/kobject.c +0 -3
index 450e771d0ac7..fad12300d264 100644
@@ -6,9 +6,6 @@
  * Copyright (c) 2006-2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2006-2007 Novell Inc.
  *
- * This file is released under the GPLv2.
- *
- *
  * Please see the file Documentation/kobject.txt for critical information
  * about using the kobject interface.
  */
lib/kobject_uevent.c +0 -2
index 070aa1412827..8a4b211b9c29 100644
@@ -6,8 +6,6 @@
  * Copyright (C) 2004 Novell, Inc.  All rights reserved.
  * Copyright (C) 2004 IBM, Inc. All rights reserved.
  *
- * Licensed under the GNU GPL v2.
- *
  * Authors:
  *	Robert Love		<[email protected]>
  *	Kay Sievers		<[email protected]>
samples/kobject/kobject-example.c +0 -3
index 6cc8bb36a4e8..9e383fdbaa00 100644
@@ -4,9 +4,6 @@
  *
  * Copyright (C) 2004-2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (C) 2007 Novell Inc.
- *
- * Released under the GPL version 2 only.
- *
  */
 #include <linux/kobject.h>
 #include <linux/string.h>
samples/kobject/kset-example.c +0 -3
index 58543eca7f16..401328fd687d 100644
@@ -4,9 +4,6 @@
  *
  * Copyright (C) 2004-2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (C) 2007 Novell Inc.
- *
- * Released under the GPL version 2 only.
- *
  */
 #include <linux/kobject.h>
 #include <linux/string.h>
Signature · 1 line
2.15.0
author maintainer
#2 lore raw

PATCH 3/5 driver core: add SPDX identifiers to all driver core files

In reply to Greg Kroah-Hartman

It's good to have SPDX identifiers in all files to make it easier to audit the kernel tree for correct licenses.

Update the driver core files files with the correct SPDX license identifier based on the license text in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text.

This work is based on a script and data from Thomas Gleixner, Philippe Ombredanne, and Kate Stewart.

Cc Greg Kroah-Hartman <[email protected]>
Cc Johannes Berg <[email protected]>
Cc "Luis R. Rodriguez" <[email protected]>
Cc William Breathitt Gray <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Kate Stewart <[email protected]>
Cc Philippe Ombredanne <[email protected]>
---
 drivers/base/attribute_container.c          | 1 +
 drivers/base/bus.c                          | 1 +
 drivers/base/cacheinfo.c                    | 1 +
 drivers/base/class.c                        | 1 +
 drivers/base/component.c                    | 1 +
 drivers/base/container.c                    | 1 +
 drivers/base/core.c                         | 1 +
 drivers/base/cpu.c                          | 1 +
 drivers/base/dd.c                           | 1 +
 drivers/base/devcoredump.c                  | 1 +
 drivers/base/devres.c                       | 1 +
 drivers/base/dma-contiguous.c               | 1 +
 drivers/base/dma-mapping.c                  | 1 +
 drivers/base/driver.c                       | 1 +
 drivers/base/firmware.c                     | 1 +
 drivers/base/firmware_class.c               | 1 +
 drivers/base/hypervisor.c                   | 1 +
 drivers/base/init.c                         | 1 +
 drivers/base/isa.c                          | 1 +
 drivers/base/map.c                          | 1 +
 drivers/base/module.c                       | 1 +
 drivers/base/pinctrl.c                      | 1 +
 drivers/base/platform-msi.c                 | 1 +
 drivers/base/platform.c                     | 1 +
 drivers/base/property.c                     | 1 +
 drivers/base/soc.c                          | 1 +
 drivers/base/syscore.c                      | 1 +
 drivers/base/test/test_async_driver_probe.c | 1 +
 drivers/base/topology.c                     | 1 +
 drivers/base/transport_class.c              | 1 +
 include/linux/device.h                      | 1 +
 31 files changed, 31 insertions(+)
drivers/base/attribute_container.c +1 -0
index 95e3ef82f3b7..218b9deb4f0b 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * attribute_container.c - implementation of a simple container for classes
  *
drivers/base/bus.c +1 -0
index 22a64fd3309b..46ddb96b9179 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * bus.c - bus driver management
  *
drivers/base/cacheinfo.c +1 -0
index eb3af2739537..e321a7e66a1d 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * cacheinfo support - processor cache information via sysfs
  *
drivers/base/class.c +1 -0
index 52eb8e644acd..61220ea83f8e 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * class.c - basic device class management
  *
drivers/base/component.c +1 -0
index 89b032f2ffd2..c96ed8068719 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Componentized device handling.
  *
drivers/base/container.c +1 -0
index ecbfbe2e908f..ddc68a1e10af 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * System bus type for containers.
  *
drivers/base/core.c +1 -0
index 2e683cdf4a08..d9d1012e4979 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * drivers/base/core.c - core driver model code (device registration, etc)
  *
drivers/base/cpu.c +1 -0
index 321cd7b4d817..3f55af003f12 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * CPU subsystem support
  */
drivers/base/dd.c +1 -0
index ad44b40fe284..5632382b1095 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * drivers/base/dd.c - The core device/driver interactions.
  *
drivers/base/devcoredump.c +1 -0
index 7be310f7db73..3133684a8754 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * This file is provided under the GPLv2 license.
  *
drivers/base/devres.c +1 -0
index 71d577025285..1b7a9a8cbd6a 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * drivers/base/devres.c - device resource management
  *
drivers/base/dma-contiguous.c +1 -0
index ea9726e71468..7c954100d503 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Contiguous Memory Allocator for DMA mapping framework
  * Copyright (c) 2010-2011 by Samsung Electronics.
drivers/base/dma-mapping.c +1 -0
index e584eddef0a7..c7e7806a657f 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * drivers/base/dma-mapping.c - arch-independent dma-mapping routines
  *
drivers/base/driver.c +1 -0
index 4eabfe28d2b3..6a93c7522dbe 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * driver.c - centralized device driver management
  *
drivers/base/firmware.c +1 -0
index 113815556809..0ef2a36de65e 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * firmware.c - firmware subsystem hoohaw.
  *
drivers/base/firmware_class.c +1 -0
index 4b57cf5bc81d..b82d6a4759c3 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * firmware_class.c - Multi purpose firmware loading support
  *
drivers/base/hypervisor.c +1 -0
index 4f8b741f4615..8dbd98c7ed55 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * hypervisor.c - /sys/hypervisor subsystem.
  *
drivers/base/init.c +1 -0
index 48c0e220acc0..0bf84b9e09b2 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Copyright (c) 2002-3 Patrick Mochel
  * Copyright (c) 2002-3 Open Source Development Labs
drivers/base/isa.c +1 -0
index cd6ccdcf9df0..61ab202aae43 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * ISA bus.
  */
drivers/base/map.c +1 -0
index c1d38234d725..07daaf6c2cd6 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *  linux/drivers/base/map.c
  *
drivers/base/module.c +1 -0
index 2a215780eda2..9e50e55c547a 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * module.c - module sysfs fun for drivers
  *
drivers/base/pinctrl.c +1 -0
index eb929dd6ef1e..fec06a1a0e15 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Driver core interface to the pinctrl subsystem.
  *
drivers/base/platform-msi.c +1 -0
index e5473525e7b2..d7c56d5b06e0 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * MSI framework for platform devices
  *
drivers/base/platform.c +1 -0
index 9045c5f3734e..99c21ba54d28 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * platform.c - platform 'pseudo' bus for legacy devices
  *
drivers/base/property.c +1 -0
index 7ed99c1b2a8b..f74ad3253a6c 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * property.c - Unified device property interface.
  *
drivers/base/soc.c +1 -0
index 909dedae4c4e..b1e6e7ca46f0 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Copyright (C) ST-Ericsson SA 2011
  *
drivers/base/syscore.c +1 -0
index 8d98a329f6ea..34f71a46b51c 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  *  syscore.c - Execution of system core operations.
  *
drivers/base/test/test_async_driver_probe.c +1 -0
index a3355d66bc12..58b445ed8d8b 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Copyright (C) 2014 Google, Inc.
  *
drivers/base/topology.c +1 -0
index d936fcf9f1fb..5abc176a2966 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * driver/base/topology.c - Populate sysfs with cpu topology information
  *
drivers/base/transport_class.c +1 -0
index f6c453c3816e..750378341a43 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * transport_class.c - implementation of generic transport classes
  *                     using attribute_containers
include/linux/device.h +1 -0
index 66fe271c2544..6e6e8ed2bbb1 100644
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * device.h - generic, centralized driver model
  *
Signature · 1 line
2.15.0
#3 lore raw

Re: [PATCH 3/5] driver core: add SPDX identifiers to all driver core files

Quoted 11 lines · Greg Kroah-Hartman

It's good to have SPDX identifiers in all files to make it easier to audit the kernel tree for correct licenses.

Update the driver core files files with the correct SPDX license identifier based on the license text in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text.

This work is based on a script and data from Thomas Gleixner, Philippe Ombredanne, and Kate Stewart.

Quoted 8 lines
Cc Greg Kroah-Hartman <[email protected]>
Cc Johannes Berg <[email protected]>
Cc "Luis R. Rodriguez" <[email protected]>
Cc William Breathitt Gray <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Kate Stewart <[email protected]>
Cc Philippe Ombredanne <[email protected]>

Although I'm the current maintainer of drivers/base/isa.c, I believe Rene Herman was the original author of this file. I'm CCing Rene for input regarding this file as I'm not sure if GPL-2.0 was intended or instead a more permissive license.

William Breathitt Gray

author maintainer
#4 lore raw

PATCH 4/5 drivers: core: arch_topology.c: move SPDX tag to top of the file

In reply to Greg Kroah-Hartman

arch_topology.c had a SPDX tag in it, so move it to the top of the file like the rest of the kernel files have it.

Also remove the redundant license text as it is not needed if the SPDX tag is in the file, as the tag identifies the license in a specific and legally-defined manner.

This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed.

No copyright headers or other non-license-description text was removed.

---
 drivers/base/arch_topology.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)
drivers/base/arch_topology.c +1 -7
index 0ca44682f2b9..f9e9dbc0a8d8 100644
@@ -1,15 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Arch specific cpu topology information
  *
  * Copyright (C) 2016, ARM Ltd.
  * Written by: Juri Lelli, ARM Ltd.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Released under the GPLv2 only.
- * SPDX-License-Identifier: GPL-2.0
  */
 
 #include <linux/acpi.h>
Signature · 1 line
2.15.0
author maintainer
#5 lore raw

PATCH 5/5 driver core: Remove redundant license text

In reply to Greg Kroah-Hartman

Now that the SPDX tag is in all driver core files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all.

This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed.

No copyright headers or other non-license-description text was removed.

Cc Greg Kroah-Hartman <[email protected]>
Cc Johannes Berg <[email protected]>
Cc "Luis R. Rodriguez" <[email protected]>
---
 drivers/base/attribute_container.c          |  2 --
 drivers/base/bus.c                          |  3 ---
 drivers/base/cacheinfo.c                    | 12 ------------
 drivers/base/class.c                        |  3 ---
 drivers/base/component.c                    |  4 ----
 drivers/base/container.c                    |  4 ----
 drivers/base/core.c                         |  3 ---
 drivers/base/dd.c                           |  2 --
 drivers/base/devcoredump.c                  | 16 ----------------
 drivers/base/devres.c                       |  2 --
 drivers/base/dma-contiguous.c               |  5 -----
 drivers/base/dma-mapping.c                  |  2 --
 drivers/base/driver.c                       |  3 ---
 drivers/base/firmware.c                     |  2 --
 drivers/base/hypervisor.c                   |  2 --
 drivers/base/init.c                         |  2 --
 drivers/base/map.c                          |  1 -
 drivers/base/module.c                       |  3 ---
 drivers/base/pinctrl.c                      |  2 --
 drivers/base/platform-msi.c                 | 12 ------------
 drivers/base/platform.c                     |  2 --
 drivers/base/property.c                     |  4 ----
 drivers/base/soc.c                          |  1 -
 drivers/base/syscore.c                      |  2 --
 drivers/base/test/test_async_driver_probe.c |  9 ---------
 drivers/base/topology.c                     | 16 ----------------
 drivers/base/transport_class.c              |  2 --
 include/linux/device.h                      |  2 --
 28 files changed, 123 deletions(-)
drivers/base/attribute_container.c +0 -2
index 218b9deb4f0b..20736aaa0e69 100644
@@ -4,8 +4,6 @@
  *
  * Copyright (c) 2005 - James Bottomley <[email protected]>
  *
- * This file is licensed under GPLv2
- *
  * The basic idea here is to enable a device to be attached to an
  * aritrary numer of classes without having to allocate storage for them.
  * Instead, the contained classes select the devices they need to attach
drivers/base/bus.c +0 -3
index 46ddb96b9179..6c63e1abbdcc 100644
@@ -6,9 +6,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2007 Novell Inc.
- *
- * This file is released under the GPLv2
- *
  */
 
 #include <linux/async.h>
drivers/base/cacheinfo.c +0 -12
index e321a7e66a1d..6e1000bff481 100644
@@ -4,18 +4,6 @@
  *
  * Based on arch/x86/kernel/cpu/intel_cacheinfo.c
  * Author: Sudeep Holla <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed "as is" WITHOUT ANY WARRANTY of any
- * kind, whether express or implied; 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, see <http://www.gnu.org/licenses/>.
  */
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
drivers/base/class.c +0 -3
index 61220ea83f8e..54def4e02f00 100644
@@ -6,9 +6,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2003-2004 Greg Kroah-Hartman
  * Copyright (c) 2003-2004 IBM Corp.
- *
- * This file is released under the GPLv2
- *
  */
 
 #include <linux/device.h>
drivers/base/component.c +0 -4
index c96ed8068719..891f0e38647c 100644
@@ -2,10 +2,6 @@
 /*
  * Componentized device handling.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
  * This is work in progress.  We gather up the component devices into a list,
  * and bind them when instructed.  At the moment, we're specific to the DRM
  * subsystem, and only handles one master device, but this doesn't have to be
drivers/base/container.c +0 -4
index ddc68a1e10af..1ba42d2d3532 100644
@@ -4,10 +4,6 @@
  *
  * Copyright (C) 2013, Intel Corporation
  * Author: Rafael J. Wysocki <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
  */
 
 #include <linux/container.h>
drivers/base/core.c +0 -3
index d9d1012e4979..c1cd857ea5ee 100644
@@ -6,9 +6,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2006 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2006 Novell, Inc.
- *
- * This file is released under the GPLv2
- *
  */
 
 #include <linux/device.h>
drivers/base/dd.c +0 -2
index 5632382b1095..4a589c7b5b83 100644
@@ -14,8 +14,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2007-2009 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2007-2009 Novell Inc.
- *
- * This file is released under the GPLv2
  */
 
 #include <linux/device.h>
drivers/base/devcoredump.c +0 -16
index 3133684a8754..f1a3353f3494 100644
@@ -1,24 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * This file is provided under the GPLv2 license.
- *
- * GPL LICENSE SUMMARY
- *
  * Copyright(c) 2014 Intel Mobile Communications GmbH
  * Copyright(c) 2015 Intel Deutschland GmbH
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * 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.
- *
- * The full GNU General Public License is included in this distribution
- * in the file called COPYING.
- *
  * Contact Information:
  *  Intel Linux Wireless <[email protected]>
  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
drivers/base/devres.c +0 -2
index 1b7a9a8cbd6a..95b67281cd2a 100644
@@ -4,8 +4,6 @@
  *
  * Copyright (c) 2006  SUSE Linux Products GmbH
  * Copyright (c) 2006  Tejun Heo <[email protected]>
- *
- * This file is released under the GPLv2.
  */
 
 #include <linux/device.h>
drivers/base/dma-contiguous.c +0 -5
index 7c954100d503..d987dcd1bd56 100644
@@ -5,11 +5,6 @@
  * Written by:
  *	Marek Szyprowski <[email protected]>
  *	Michal Nazarewicz <[email protected]>
- *
- * 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 optional) any later version of the license.
  */
 
 #define pr_fmt(fmt) "cma: " fmt
drivers/base/dma-mapping.c +0 -2
index c7e7806a657f..3b118353ea17 100644
@@ -4,8 +4,6 @@
  *
  * Copyright (c) 2006  SUSE Linux Products GmbH
  * Copyright (c) 2006  Tejun Heo <[email protected]>
- *
- * This file is released under the GPLv2.
  */
 
 #include <linux/acpi.h>
drivers/base/driver.c +0 -3
index 6a93c7522dbe..4e20d68edb0d 100644
@@ -6,9 +6,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2007 Novell Inc.
- *
- * This file is released under the GPLv2
- *
  */
 
 #include <linux/device.h>
drivers/base/firmware.c +0 -2
index 0ef2a36de65e..8dff940e0db9 100644
@@ -6,8 +6,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2007 Novell Inc.
- *
- * This file is released under the GPLv2
  */
 #include <linux/kobject.h>
 #include <linux/module.h>
drivers/base/hypervisor.c +0 -2
index 8dbd98c7ed55..1ce59b4b53ce 100644
@@ -5,8 +5,6 @@
  * Copyright (C) IBM Corp. 2006
  * Copyright (C) 2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (C) 2007 Novell Inc.
- *
- * This file is released under the GPLv2
  */
 
 #include <linux/kobject.h>
drivers/base/init.c +0 -2
index 0bf84b9e09b2..dd85b05a6a16 100644
@@ -2,8 +2,6 @@
 /*
  * Copyright (c) 2002-3 Patrick Mochel
  * Copyright (c) 2002-3 Open Source Development Labs
- *
- * This file is released under the GPLv2
  */
 
 #include <linux/device.h>
drivers/base/map.c +0 -1
index 07daaf6c2cd6..5650ab2b247a 100644
@@ -3,7 +3,6 @@
  *  linux/drivers/base/map.c
  *
  * (C) Copyright Al Viro 2002,2003
- *	Released under GPL v2.
  *
  * NOTE: data structure needs to be changed.  It works, but for large dev_t
  * it will be too slow.  It is isolated, though, so these changes will be
drivers/base/module.c +0 -3
index 9e50e55c547a..46ad4d636731 100644
@@ -1,9 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
  * module.c - module sysfs fun for drivers
- *
- * This file is released under the GPLv2
- *
  */
 #include <linux/device.h>
 #include <linux/module.h>
drivers/base/pinctrl.c +0 -2
index fec06a1a0e15..c22864458511 100644
@@ -7,8 +7,6 @@
  * Based on bits of regulator core, gpio core and clk core
  *
  * Author: Linus Walleij <[email protected]>
- *
- * License terms: GNU General Public License (GPL) version 2
  */
 
 #include <linux/device.h>
drivers/base/platform-msi.c +0 -12
index d7c56d5b06e0..8e22073aeeed 100644
@@ -4,18 +4,6 @@
  *
  * Copyright (C) 2015 ARM Limited, All Rights Reserved.
  * Author: Marc Zyngier <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * 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, see <http://www.gnu.org/licenses/>.
  */
 
 #include <linux/device.h>
drivers/base/platform.c +0 -2
index 99c21ba54d28..fa54265c2625 100644
@@ -5,8 +5,6 @@
  * Copyright (c) 2002-3 Patrick Mochel
  * Copyright (c) 2002-3 Open Source Development Labs
  *
- * This file is released under the GPLv2
- *
  * Please see Documentation/driver-model/platform.txt for more
  * information.
  */
drivers/base/property.c +0 -4
index f74ad3253a6c..3fefbb54ff89 100644
@@ -5,10 +5,6 @@
  * Copyright (C) 2014, Intel Corporation
  * Authors: Rafael J. Wysocki <[email protected]>
  *          Mika Westerberg <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
  */
 
 #include <linux/acpi.h>
drivers/base/soc.c +0 -1
index b1e6e7ca46f0..4e80f48ad5d6 100644
@@ -3,7 +3,6 @@
  * Copyright (C) ST-Ericsson SA 2011
  *
  * Author: Lee Jones <[email protected]> for ST-Ericsson.
- * License terms:  GNU General Public License (GPL), version 2
  */
 
 #include <linux/sysfs.h>
drivers/base/syscore.c +0 -2
index 34f71a46b51c..6e076f359dcc 100644
@@ -3,8 +3,6 @@
  *  syscore.c - Execution of system core operations.
  *
  *  Copyright (C) 2011 Rafael J. Wysocki <[email protected]>, Novell Inc.
- *
- *  This file is released under the GPLv2.
  */
 
 #include <linux/syscore_ops.h>
drivers/base/test/test_async_driver_probe.c +0 -9
index 58b445ed8d8b..e7f145d662f0 100644
@@ -1,15 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
  * Copyright (C) 2014 Google, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * 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.
  */
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
drivers/base/topology.c +0 -16
index 5abc176a2966..5fd9f167ecc1 100644
@@ -7,22 +7,6 @@
  * Copyright (C) 2006, Intel Corp.
  *
  * All rights reserved.
- *
- * 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, GOOD TITLE or
- * NON INFRINGEMENT.  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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
  */
 #include <linux/mm.h>
 #include <linux/cpu.h>
drivers/base/transport_class.c +0 -2
index 750378341a43..5ed86ded6e6b 100644
@@ -5,8 +5,6 @@
  *
  * Copyright (c) 2005 - James Bottomley <[email protected]>
  *
- * This file is licensed under GPLv2
- *
  * The basic idea here is to allow any "device controller" (which
  * would most often be a Host Bus Adapter to use the services of one
  * or more tranport classes for performing transport specific
include/linux/device.h +0 -2
index 6e6e8ed2bbb1..7db3a3046e7f 100644
@@ -6,8 +6,6 @@
  * Copyright (c) 2004-2009 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2008-2009 Novell Inc.
  *
- * This file is released under the GPLv2
- *
  * See Documentation/driver-model/ for more information.
  */
 
Signature · 1 line
2.15.0
#6 lore raw

Re: [PATCH 5/5] driver core: Remove redundant license text

Quoted 2 lines · Greg Kroah-Hartman

Now that the SPDX tag is in all driver core files, that identifies the license in a specific and legally-defined manner.

Takashi and Jiri mentioned that the effort to add SPDX tags to files which did not have licensing was discussed at the maintainers summit and it was agreed upon there that this made sense. That is wonderful.

Naturally, even despite this, some still have their own questions about this work [0]. And some others seem to actually have pointed out that the work might have some technical issues [1] likely worth considering.

[0] https://lkml.kernel.org/r/[email protected]
[1] https://lkml.kernel.org/r/20171108171938.7df66c65@alans-desktop

Quoted 1 line

So the extra GPL text wording can be removed

Highlight *removed*

Quoted 1 line

as it is no longer needed at all.

This secondary however was not.

The only sort of explain about this came from Philippe Ombredanne recently [2] on the generic effort questioned by Christoph.

[2] https://lkml.kernel.org/r/CAOFm3uFLRCZwtw4F884Rd=5=yZnX_ibzBzyiC4f+=5iju4k81Q@mail.gmail.com

But this begs the question that if there is still questions, issues pointed out, and request for a bit more open discussion about the *first* SPDX effort of adding a tag to files which have no license, if there was *any* due process for creating consensus for also going along with this *secondary* SPDX effort of license *simplification* by replacing old boiler plate license tags with an SPDX tag.

At least internally within SUSE I can say so far that we are surprised by these patches and work. We did not know, and this is the first of communication of such effort.

Don't get me wrong, these simplifications make perfect sense to me! But in dealing with licensing considerations before on Linux I've learned through feedback from you, Alan, and Ted and others to also be *extremely* careful and sensitive about licensing annotation matters, and this type of change seems to likely deserve a bit more community consensus than what this seems to be getting.

Not even an RFC. So why rush this work in?

Quoted 4 lines

This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed.

Completely agreed, all this stuff is rather silly, however which tag is used, when, and how seems to have never been discussed and vetted anywhere to my knowledge.

Below I leave two examples of the patch, but leave in place the diffstat.

Quoted 28 lines

No copyright headers or other non-license-description text was removed.

Cc Greg Kroah-Hartman <[email protected]>
Cc Johannes Berg <[email protected]>
Cc "Luis R. Rodriguez" <[email protected]>
---
 drivers/base/attribute_container.c          |  2 --
 drivers/base/bus.c                          |  3 ---
 drivers/base/cacheinfo.c                    | 12 ------------
 drivers/base/class.c                        |  3 ---
 drivers/base/component.c                    |  4 ----
 drivers/base/container.c                    |  4 ----
 drivers/base/core.c                         |  3 ---
 drivers/base/dd.c                           |  2 --
 drivers/base/devcoredump.c                  | 16 ----------------
 drivers/base/devres.c                       |  2 --
 drivers/base/dma-contiguous.c               |  5 -----
 drivers/base/dma-mapping.c                  |  2 --
 drivers/base/driver.c                       |  3 ---
 drivers/base/firmware.c                     |  2 --
 drivers/base/hypervisor.c                   |  2 --
 drivers/base/init.c                         |  2 --
 drivers/base/map.c                          |  1 -
 drivers/base/module.c                       |  3 ---
 drivers/base/pinctrl.c                      |  2 --
 drivers/base/platform-msi.c                 | 12 ------------
 drivers/base/platform.c                     |  2 --
Quoted 8 lines
 drivers/base/property.c                     |  4 ----
 drivers/base/soc.c                          |  1 -
 drivers/base/syscore.c                      |  2 --
 drivers/base/test/test_async_driver_probe.c |  9 ---------
 drivers/base/topology.c                     | 16 ----------------
 drivers/base/transport_class.c              |  2 --
 include/linux/device.h                      |  2 --
 28 files changed, 123 deletions(-)

<-- snip -->

Quoted 13 lines
drivers/base/cacheinfo.c +0 -5
index e321a7e66a1d..6e1000bff481 100644
@@ -4,18 +4,6 @@
  *
  * Based on arch/x86/kernel/cpu/intel_cacheinfo.c
  * Author: Sudeep Holla <[email protected]>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *

drivers/base/cacheinfo.c line 9

Quoted 10 lines
drivers/base/cacheinfo.c +0 -7
- * This program is distributed "as is" WITHOUT ANY WARRANTY of any
- * kind, whether express or implied; 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, see <http://www.gnu.org/licenses/>.
  */
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 

<-- snip -->

drivers/base/firmware.c line 11

Quoted 13 lines
drivers/base/firmware.c +0 -2
index 0ef2a36de65e..8dff940e0db9 100644
@@ -6,8 +6,6 @@
  * Copyright (c) 2002-3 Open Source Development Labs
  * Copyright (c) 2007 Greg Kroah-Hartman <[email protected]>
  * Copyright (c) 2007 Novell Inc.
- *
- * This file is released under the GPLv2
  */
 #include <linux/kobject.h>
 #include <linux/module.h>

Luis

author maintainer
#7 lore raw

Re: [PATCH 5/5] driver core: Remove redundant license text

Quoted 15 lines · Luis R. Rodriguez
Quoted 2 lines · Greg Kroah-Hartman

Now that the SPDX tag is in all driver core files, that identifies the license in a specific and legally-defined manner.

Takashi and Jiri mentioned that the effort to add SPDX tags to files which did not have licensing was discussed at the maintainers summit and it was agreed upon there that this made sense. That is wonderful.

Naturally, even despite this, some still have their own questions about this work [0]. And some others seem to actually have pointed out that the work might have some technical issues [1] likely worth considering.

[0] https://lkml.kernel.org/r/[email protected]
[1] https://lkml.kernel.org/r/20171108171938.7df66c65@alans-desktop

Quoted 7 lines
Quoted 1 line

So the extra GPL text wording can be removed

Highlight *removed*

Quoted 1 line

as it is no longer needed at all.

This secondary however was not.

Was not what? Discussed? Yes it was. I think the lwn.net article even says so.

Quoted 11 lines

But this begs the question that if there is still questions, issues pointed out, and request for a bit more open discussion about the *first* SPDX effort of adding a tag to files which have no license, if there was *any* due process for creating consensus for also going along with this *secondary* SPDX effort of license *simplification* by replacing old boiler plate license tags with an SPDX tag.

At least internally within SUSE I can say so far that we are surprised by these patches and work. We did not know, and this is the first of communication of such effort.

Quoted 8 lines

Don't get me wrong, these simplifications make perfect sense to me! But in dealing with licensing considerations before on Linux I've learned through feedback from you, Alan, and Ted and others to also be *extremely* careful and sensitive about licensing annotation matters, and this type of change seems to likely deserve a bit more community consensus than what this seems to be getting.

Not even an RFC. So why rush this work in?

I don't post RFCs :)

As for "rush", not really, might as well do it sometime, so I've created a bunch of patches and merged some of them. It's going to be a lot of work, someone had to start it :)

Thomas is working on a document to describe this, hopefully it will be done soon.

Quoted 8 lines
Quoted 4 lines

This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed.

Completely agreed, all this stuff is rather silly, however which tag is used, when, and how seems to have never been discussed and vetted anywhere to my knowledge.

"which" tag is just SPDX, that's easy. As for "when and how", I don't understand the question.

Quoted 1 line

Below I leave two examples of the patch, but leave in place the diffstat.

I don't understand, do you object to the patches? Do you not think they should be merged? If so, please let me know.

thanks,

greg k-h

#8 lore raw

Re: [PATCH 5/5] driver core: Remove redundant license text

Quoted 2 lines · Greg Kroah-Hartman

Was not what? Discussed? Yes it was. I think the lwn.net article even says so.

There is absolutely no public track record of any discussion. And if there was any it seems like a large number of the biggest contributors and copyright holders in the kernel were excluded.

So please state what was decided, where it was deciced, who decided it and why as a start.

This whole debacle is not how we normally communicate big changes in the kernel community, and that is double worrisome because it is an important area with legal implications.

Quoted 2 lines

"which" tag is just SPDX, that's easy. As for "when and how", I don't understand the question.

And where is our defintion of SPDX in our kernel tree? As said in another thread, yes I can google it. But that doesn't provide a stable defintion, nevermind that we do not even have a pointer to it from anywhere in the tree.

If your use of SPDX is apparently fine because people must know I'll just invent my own tags and mandate them [1].

[1] not that I have anything about the SPDX tags in particular, it's just the way you rush them in without even defining them for us.

#9 lore raw

Re: [PATCH 5/5] driver core: Remove redundant license text

Quoted 7 lines · Christoph Hellwig
Quoted 2 lines · Greg Kroah-Hartman

Was not what? Discussed? Yes it was. I think the lwn.net article even says so.

There is absolutely no public track record of any discussion. And if there was any it seems like a large number of the biggest contributors and copyright holders in the kernel were excluded.

Yes, and excluded I feel, and it is very alienating. The first I knew about this was when I got a bunch of git conflicts. That's really not an acceptable way to find out about this.

My interactions since with GregKH seems to be "I'm doing this, you don't have any say in it." TBH, the idea of approaching a solicitor to review whether GregKH's unilateral action is legal has crossed my mind.

Quoted 15 lines

So please state what was decided, where it was deciced, who decided it and why as a start.

This whole debacle is not how we normally communicate big changes in the kernel community, and that is double worrisome because it is an important area with legal implications.

Quoted 2 lines

"which" tag is just SPDX, that's easy. As for "when and how", I don't understand the question.

And where is our defintion of SPDX in our kernel tree? As said in another thread, yes I can google it. But that doesn't provide a stable defintion, nevermind that we do not even have a pointer to it from anywhere in the tree.

Quoted 6 lines

If your use of SPDX is apparently fine because people must know I'll just invent my own tags and mandate them [1].

[1] not that I have anything about the SPDX tags in particular, it's just the way you rush them in without even defining them for us.

Thank you, Christoph, for voicing my concerns. I'm very concerned by the "indirection" problem, and I've mentioned that in a private email to Linus. However, Linus omitted replying to that point.

We know that the SPDX tags are defined on some website, but by switching to the tags, it gives that website a lot of power over their meaning, and I really don't like that.

We can say "oh yes, it's obvious" but obvious doesn't come into it in the court room when solicitors are arguing over the meaning of a term.

Consider what would happen if someone creates "Gerald's Philosophical License v2" and the SPDX domain (for whatever reason) ends up being owned by that person, and they put up a website that apparently defines a new set of SPDX tags, where "GPLv2" means their own license. Where is the legal definition that the "GPLv2" SPDX tag means the license we know today?

I'd be more comfortable if we could have something in the kernel tree that identifies the SPDX tags and their meaning, maybe with the _standard_ file header for that license included, so there is no argument about what any particular SPDX tag means.

Linus did an excellent job of explaining to me (privately) /why/ the change is being done, but I strongly disagree that the way it is being done and the timing of the first round of changes was ideal - I believe the first round of changes happened at the worst possible moment. However, that bit is now water under the bridge, and we have to live with that change in terms of the git conflicts now.

Signature · 2 lines
Russell King
ARM architecture Linux Kernel maintainer