Message ID | 981eea64742859c63d8ab88c24b1b3380ee32dd2.1585651678.git.mchehab+huawei@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Media Kconfig menu reorg and improvements | expand |
Hi Mauro, Thank you for the patch. On Tue, Mar 31, 2020 at 01:11:53PM +0200, Mauro Carvalho Chehab wrote: > Most of media Kconfig/Makefile files already has SPDX, > but there are a few ones still missing. Add it to them. I think it's a good idea to state the license of each source file, the patch looks fine to me. I've however been thinking about licenses for build system files recently, and I'll hijack this thread a bit to ask a question :-) For a project like the Linux kernel, and especially for subsystems that are covered by a single license, the choice is easy, we can apply the same license to the build files. However, for a project that contains components covered by different licenses (such as, for instance, an LGPL library, a GPL application and a BSD plugin), how should the license covering the build system files be selected ? I searched a bit for guidance on this topic, and couldn't find much. > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> > --- > drivers/media/dvb-frontends/Kconfig | 2 ++ > drivers/media/mc/Kconfig | 2 ++ > drivers/media/platform/sunxi/Kconfig | 2 ++ > drivers/media/platform/sunxi/Makefile | 2 ++ > drivers/media/platform/sunxi/sun4i-csi/Kconfig | 2 ++ > drivers/media/platform/sunxi/sun4i-csi/Makefile | 2 ++ > drivers/staging/media/hantro/Makefile | 2 ++ > drivers/staging/media/rkisp1/Makefile | 2 ++ > 8 files changed, 16 insertions(+) > > diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig > index 1f45808d94da..aa24506257b3 100644 > --- a/drivers/media/dvb-frontends/Kconfig > +++ b/drivers/media/dvb-frontends/Kconfig > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > if MEDIA_DIGITAL_TV_SUPPORT > > comment "DVB Frontend drivers hidden by 'Autoselect ancillary drivers'" > diff --git a/drivers/media/mc/Kconfig b/drivers/media/mc/Kconfig > index 3b9795cfcb36..0c5c52f14c64 100644 > --- a/drivers/media/mc/Kconfig > +++ b/drivers/media/mc/Kconfig > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > # > # Media controller > # Selectable only for webcam/grabbers, as other drivers don't use it > diff --git a/drivers/media/platform/sunxi/Kconfig b/drivers/media/platform/sunxi/Kconfig > index 71808e93ac2e..7151cc249afa 100644 > --- a/drivers/media/platform/sunxi/Kconfig > +++ b/drivers/media/platform/sunxi/Kconfig > @@ -1,2 +1,4 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > source "drivers/media/platform/sunxi/sun4i-csi/Kconfig" > source "drivers/media/platform/sunxi/sun6i-csi/Kconfig" > diff --git a/drivers/media/platform/sunxi/Makefile b/drivers/media/platform/sunxi/Makefile > index ff0993f70dc3..fc537c9f5ca9 100644 > --- a/drivers/media/platform/sunxi/Makefile > +++ b/drivers/media/platform/sunxi/Makefile > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > obj-y += sun4i-csi/ > obj-y += sun6i-csi/ > obj-y += sun8i-di/ > diff --git a/drivers/media/platform/sunxi/sun4i-csi/Kconfig b/drivers/media/platform/sunxi/sun4i-csi/Kconfig > index e86e29b6a603..93b4e82a2655 100644 > --- a/drivers/media/platform/sunxi/sun4i-csi/Kconfig > +++ b/drivers/media/platform/sunxi/sun4i-csi/Kconfig > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > config VIDEO_SUN4I_CSI > tristate "Allwinner A10 CMOS Sensor Interface Support" > depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA > diff --git a/drivers/media/platform/sunxi/sun4i-csi/Makefile b/drivers/media/platform/sunxi/sun4i-csi/Makefile > index 7c790a57f5ee..5062b006d63e 100644 > --- a/drivers/media/platform/sunxi/sun4i-csi/Makefile > +++ b/drivers/media/platform/sunxi/sun4i-csi/Makefile > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > sun4i-csi-y += sun4i_csi.o > sun4i-csi-y += sun4i_dma.o > sun4i-csi-y += sun4i_v4l2.o > diff --git a/drivers/staging/media/hantro/Makefile b/drivers/staging/media/hantro/Makefile > index 68c29a9c4946..743ce08eb184 100644 > --- a/drivers/staging/media/hantro/Makefile > +++ b/drivers/staging/media/hantro/Makefile > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > obj-$(CONFIG_VIDEO_HANTRO) += hantro-vpu.o > > hantro-vpu-y += \ > diff --git a/drivers/staging/media/rkisp1/Makefile b/drivers/staging/media/rkisp1/Makefile > index 69ca59c7ef34..ab32a77db8f7 100644 > --- a/drivers/staging/media/rkisp1/Makefile > +++ b/drivers/staging/media/rkisp1/Makefile > @@ -1,3 +1,5 @@ > +# SPDX-License-Identifier: GPL-2.0 > + > obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1) += rockchip-isp1.o > rockchip-isp1-objs += rkisp1-capture.o \ > rkisp1-common.o \
On Tue, Mar 31, 2020 at 03:06:08PM +0300, Laurent Pinchart wrote: > Hi Mauro, > > Thank you for the patch. > > On Tue, Mar 31, 2020 at 01:11:53PM +0200, Mauro Carvalho Chehab wrote: > > Most of media Kconfig/Makefile files already has SPDX, > > but there are a few ones still missing. Add it to them. > > I think it's a good idea to state the license of each source file, the > patch looks fine to me. I've however been thinking about licenses for > build system files recently, and I'll hijack this thread a bit to ask a > question :-) > > For a project like the Linux kernel, and especially for subsystems that > are covered by a single license, the choice is easy, we can apply the > same license to the build files. However, for a project that contains > components covered by different licenses (such as, for instance, an LGPL > library, a GPL application and a BSD plugin), how should the license > covering the build system files be selected ? I searched a bit for > guidance on this topic, and couldn't find much. By "default" if there is no license on a file in the kernel tree, it falls under the GPLv2 license and we should explicity state it, like this patch does. So this is fine, but if you want to license the build files some other way, that's good too, but do so when you add them to the tree, not at some later time when it could cause confusion :) thanks, greg k-h
Hi Greg, On Tue, Mar 31, 2020 at 02:22:09PM +0200, Greg Kroah-Hartman wrote: > On Tue, Mar 31, 2020 at 03:06:08PM +0300, Laurent Pinchart wrote: > > On Tue, Mar 31, 2020 at 01:11:53PM +0200, Mauro Carvalho Chehab wrote: > > > Most of media Kconfig/Makefile files already has SPDX, > > > but there are a few ones still missing. Add it to them. > > > > I think it's a good idea to state the license of each source file, the > > patch looks fine to me. I've however been thinking about licenses for > > build system files recently, and I'll hijack this thread a bit to ask a > > question :-) > > > > For a project like the Linux kernel, and especially for subsystems that > > are covered by a single license, the choice is easy, we can apply the > > same license to the build files. However, for a project that contains > > components covered by different licenses (such as, for instance, an LGPL > > library, a GPL application and a BSD plugin), how should the license > > covering the build system files be selected ? I searched a bit for > > guidance on this topic, and couldn't find much. > > By "default" if there is no license on a file in the kernel tree, it > falls under the GPLv2 license and we should explicity state it, like > this patch does. > > So this is fine, but if you want to license the build files some other > way, that's good too, but do so when you add them to the tree, not at > some later time when it could cause confusion :) Thanks for your answer. I was hijacking the thread a little bit, the question wasn't related to the kernel, but in this case to libcamera. We've been wondering how to pick licenses for build files there, and I thought fellow kernel developers may have valuable input on this topic.
On Tue, Mar 31, 2020 at 03:39:14PM +0300, Laurent Pinchart wrote: > Hi Greg, > > On Tue, Mar 31, 2020 at 02:22:09PM +0200, Greg Kroah-Hartman wrote: > > On Tue, Mar 31, 2020 at 03:06:08PM +0300, Laurent Pinchart wrote: > > > On Tue, Mar 31, 2020 at 01:11:53PM +0200, Mauro Carvalho Chehab wrote: > > > > Most of media Kconfig/Makefile files already has SPDX, > > > > but there are a few ones still missing. Add it to them. > > > > > > I think it's a good idea to state the license of each source file, the > > > patch looks fine to me. I've however been thinking about licenses for > > > build system files recently, and I'll hijack this thread a bit to ask a > > > question :-) > > > > > > For a project like the Linux kernel, and especially for subsystems that > > > are covered by a single license, the choice is easy, we can apply the > > > same license to the build files. However, for a project that contains > > > components covered by different licenses (such as, for instance, an LGPL > > > library, a GPL application and a BSD plugin), how should the license > > > covering the build system files be selected ? I searched a bit for > > > guidance on this topic, and couldn't find much. > > > > By "default" if there is no license on a file in the kernel tree, it > > falls under the GPLv2 license and we should explicity state it, like > > this patch does. > > > > So this is fine, but if you want to license the build files some other > > way, that's good too, but do so when you add them to the tree, not at > > some later time when it could cause confusion :) > > Thanks for your answer. I was hijacking the thread a little bit, the > question wasn't related to the kernel, but in this case to libcamera. > We've been wondering how to pick licenses for build files there, and I > thought fellow kernel developers may have valuable input on this topic. I would make the files the same license as your project overall is to make things simpler for everyone involved :) thanks, greg k-h
Hi Greg, On Tue, Mar 31, 2020 at 02:47:56PM +0200, Greg Kroah-Hartman wrote: > On Tue, Mar 31, 2020 at 03:39:14PM +0300, Laurent Pinchart wrote: > > On Tue, Mar 31, 2020 at 02:22:09PM +0200, Greg Kroah-Hartman wrote: > > > On Tue, Mar 31, 2020 at 03:06:08PM +0300, Laurent Pinchart wrote: > > > > On Tue, Mar 31, 2020 at 01:11:53PM +0200, Mauro Carvalho Chehab wrote: > > > > > Most of media Kconfig/Makefile files already has SPDX, > > > > > but there are a few ones still missing. Add it to them. > > > > > > > > I think it's a good idea to state the license of each source file, the > > > > patch looks fine to me. I've however been thinking about licenses for > > > > build system files recently, and I'll hijack this thread a bit to ask a > > > > question :-) > > > > > > > > For a project like the Linux kernel, and especially for subsystems that > > > > are covered by a single license, the choice is easy, we can apply the > > > > same license to the build files. However, for a project that contains > > > > components covered by different licenses (such as, for instance, an LGPL > > > > library, a GPL application and a BSD plugin), how should the license > > > > covering the build system files be selected ? I searched a bit for > > > > guidance on this topic, and couldn't find much. > > > > > > By "default" if there is no license on a file in the kernel tree, it > > > falls under the GPLv2 license and we should explicity state it, like > > > this patch does. > > > > > > So this is fine, but if you want to license the build files some other > > > way, that's good too, but do so when you add them to the tree, not at > > > some later time when it could cause confusion :) > > > > Thanks for your answer. I was hijacking the thread a little bit, the > > question wasn't related to the kernel, but in this case to libcamera. > > We've been wondering how to pick licenses for build files there, and I > > thought fellow kernel developers may have valuable input on this topic. > > I would make the files the same license as your project overall is to > make things simpler for everyone involved :) I would if the project had a single license, but we have GPL, LGPL and BSD components :-S
Em Tue, 31 Mar 2020 15:06:08 +0300 Laurent Pinchart <laurent.pinchart@ideasonboard.com> escreveu: > I've however been thinking about licenses for > build system files recently, and I'll hijack this thread a bit to ask a > question :-) Ok, I'll change the subject, as the answers won't be related to the Kernel :-) > For a project like the Linux kernel, and especially for subsystems that > are covered by a single license, the choice is easy, we can apply the > same license to the build files. However, for a project that contains > components covered by different licenses (such as, for instance, an LGPL > library, a GPL application and a BSD plugin), how should the license > covering the build system files be selected ? I searched a bit for > guidance on this topic, and couldn't find much. Then everything becomes a way more complex :-) I guess nobody has a clear answer for that. Also, IANAL. What I can tell is what it would makes sense for me. The big impact of a complex licenses model would be for the ones packaging it on some distro, and for the users of such distros. The distros need to know if they have the rights to redistribute, and need to notify their usages about each package's license. Let's assume a project "foo-utils" that has such complexity. Assuming a project that started on a green field (like libcamera), and such project doesn't use stuff from external libraries, what one could do would be to design it in a way that different licenses would be packaged differently. For instance: foo-libs # everything here is under LGPL foo-bsd-plugin # everything here is under BSD foo-utils # everything here is under GPLv3 Then, on each of them, a COPYING.foo file (or whatever other way distros would use to identify the per-package license) would contain the license with applied to it. Btw, if you want to take a look on a real-case scenario, see, for example: https://build.opensuse.org/package/view_file/devel:libraries:c_c++/v4l-utils/v4l-utils.spec?rev=a250bff0f849e8c2fa7e476a1f2849a8 %package -n libv4l-devel License: LGPLv2+ ... %package -n qv4l2 License: GPLv2+ Btw, GStreamer actually follows a similar approach, but they even split those into different git trees (core, good, bad and ugly plugins). Thanks, Mauro
diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig index 1f45808d94da..aa24506257b3 100644 --- a/drivers/media/dvb-frontends/Kconfig +++ b/drivers/media/dvb-frontends/Kconfig @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + if MEDIA_DIGITAL_TV_SUPPORT comment "DVB Frontend drivers hidden by 'Autoselect ancillary drivers'" diff --git a/drivers/media/mc/Kconfig b/drivers/media/mc/Kconfig index 3b9795cfcb36..0c5c52f14c64 100644 --- a/drivers/media/mc/Kconfig +++ b/drivers/media/mc/Kconfig @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + # # Media controller # Selectable only for webcam/grabbers, as other drivers don't use it diff --git a/drivers/media/platform/sunxi/Kconfig b/drivers/media/platform/sunxi/Kconfig index 71808e93ac2e..7151cc249afa 100644 --- a/drivers/media/platform/sunxi/Kconfig +++ b/drivers/media/platform/sunxi/Kconfig @@ -1,2 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 + source "drivers/media/platform/sunxi/sun4i-csi/Kconfig" source "drivers/media/platform/sunxi/sun6i-csi/Kconfig" diff --git a/drivers/media/platform/sunxi/Makefile b/drivers/media/platform/sunxi/Makefile index ff0993f70dc3..fc537c9f5ca9 100644 --- a/drivers/media/platform/sunxi/Makefile +++ b/drivers/media/platform/sunxi/Makefile @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + obj-y += sun4i-csi/ obj-y += sun6i-csi/ obj-y += sun8i-di/ diff --git a/drivers/media/platform/sunxi/sun4i-csi/Kconfig b/drivers/media/platform/sunxi/sun4i-csi/Kconfig index e86e29b6a603..93b4e82a2655 100644 --- a/drivers/media/platform/sunxi/sun4i-csi/Kconfig +++ b/drivers/media/platform/sunxi/sun4i-csi/Kconfig @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + config VIDEO_SUN4I_CSI tristate "Allwinner A10 CMOS Sensor Interface Support" depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA diff --git a/drivers/media/platform/sunxi/sun4i-csi/Makefile b/drivers/media/platform/sunxi/sun4i-csi/Makefile index 7c790a57f5ee..5062b006d63e 100644 --- a/drivers/media/platform/sunxi/sun4i-csi/Makefile +++ b/drivers/media/platform/sunxi/sun4i-csi/Makefile @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + sun4i-csi-y += sun4i_csi.o sun4i-csi-y += sun4i_dma.o sun4i-csi-y += sun4i_v4l2.o diff --git a/drivers/staging/media/hantro/Makefile b/drivers/staging/media/hantro/Makefile index 68c29a9c4946..743ce08eb184 100644 --- a/drivers/staging/media/hantro/Makefile +++ b/drivers/staging/media/hantro/Makefile @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + obj-$(CONFIG_VIDEO_HANTRO) += hantro-vpu.o hantro-vpu-y += \ diff --git a/drivers/staging/media/rkisp1/Makefile b/drivers/staging/media/rkisp1/Makefile index 69ca59c7ef34..ab32a77db8f7 100644 --- a/drivers/staging/media/rkisp1/Makefile +++ b/drivers/staging/media/rkisp1/Makefile @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: GPL-2.0 + obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1) += rockchip-isp1.o rockchip-isp1-objs += rkisp1-capture.o \ rkisp1-common.o \
Most of media Kconfig/Makefile files already has SPDX, but there are a few ones still missing. Add it to them. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> --- drivers/media/dvb-frontends/Kconfig | 2 ++ drivers/media/mc/Kconfig | 2 ++ drivers/media/platform/sunxi/Kconfig | 2 ++ drivers/media/platform/sunxi/Makefile | 2 ++ drivers/media/platform/sunxi/sun4i-csi/Kconfig | 2 ++ drivers/media/platform/sunxi/sun4i-csi/Makefile | 2 ++ drivers/staging/media/hantro/Makefile | 2 ++ drivers/staging/media/rkisp1/Makefile | 2 ++ 8 files changed, 16 insertions(+)