[libcamera-devel] [PATCH] v4l2: Relicense V4L2 compatibility layer under LGPL

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed May 27 18:01:50 CEST 2020


Hi Laurent,

Thanks for pushing thru with these issues.

On 2020-05-22 14:03:36 +0300, Laurent Pinchart wrote:
> The V4L2 compatibility layer is licensed under the GPL. It is compiled
> as a binary separate from libcamera.so, and is loaded into the address
> space of processes through LD_PRELOAD to intercept calls to the C
> library.
> 
> It is our understanding and intent that the GPL license doesn't
> propagate to the binaries whose calls are intercepted, considering those
> binaries are not derivative work of the V4L2 compatibility layer and are
> not designed to be linked to the V4L2 compatibility layer. There is
> however a possibly grey area if binaries are packaged with a shell
> script wrapper that loads the V4L2 compatibility layer. This could lead
> to license-related issues if such packaging is performed by Linux
> distributions or system integrators.
> 
> To clarify the intent and lift the doubts, relicense the V4L2
> compatibility layer under the LGPL. The V4L2 compatibility layer code
> itself still benefits from the license protection, while its usage with
> third-party binaries is clearly allowed as intended.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Acked-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> ---
>  src/v4l2/v4l2_camera.cpp         | 2 +-
>  src/v4l2/v4l2_camera.h           | 2 +-
>  src/v4l2/v4l2_camera_proxy.cpp   | 2 +-
>  src/v4l2/v4l2_camera_proxy.h     | 2 +-
>  src/v4l2/v4l2_compat.cpp         | 2 +-
>  src/v4l2/v4l2_compat_manager.cpp | 2 +-
>  src/v4l2/v4l2_compat_manager.h   | 2 +-
>  7 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp
> index 50a4121cc93f..4da01a450dca 100644
> --- a/src/v4l2/v4l2_camera.cpp
> +++ b/src/v4l2/v4l2_camera.cpp
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> diff --git a/src/v4l2/v4l2_camera.h b/src/v4l2/v4l2_camera.h
> index c969130fb37d..303eda44ca1d 100644
> --- a/src/v4l2/v4l2_camera.h
> +++ b/src/v4l2/v4l2_camera.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> diff --git a/src/v4l2/v4l2_camera_proxy.cpp b/src/v4l2/v4l2_camera_proxy.cpp
> index 19e8f6d3b98d..3df4d42b59ea 100644
> --- a/src/v4l2/v4l2_camera_proxy.cpp
> +++ b/src/v4l2/v4l2_camera_proxy.cpp
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> diff --git a/src/v4l2/v4l2_camera_proxy.h b/src/v4l2/v4l2_camera_proxy.h
> index e15b230d5f23..af9f9bbe83d5 100644
> --- a/src/v4l2/v4l2_camera_proxy.h
> +++ b/src/v4l2/v4l2_camera_proxy.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> diff --git a/src/v4l2/v4l2_compat.cpp b/src/v4l2/v4l2_compat.cpp
> index a162037f6dc7..2a9a17629106 100644
> --- a/src/v4l2/v4l2_compat.cpp
> +++ b/src/v4l2/v4l2_compat.cpp
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> diff --git a/src/v4l2/v4l2_compat_manager.cpp b/src/v4l2/v4l2_compat_manager.cpp
> index cd8ac0b8e819..2338a0ee1dd2 100644
> --- a/src/v4l2/v4l2_compat_manager.cpp
> +++ b/src/v4l2/v4l2_compat_manager.cpp
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> diff --git a/src/v4l2/v4l2_compat_manager.h b/src/v4l2/v4l2_compat_manager.h
> index 872c7c3b10e8..14338a59deca 100644
> --- a/src/v4l2/v4l2_compat_manager.h
> +++ b/src/v4l2/v4l2_compat_manager.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: LGPL-2.1-or-later */
>  /*
>   * Copyright (C) 2019, Google Inc.
>   *
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list