mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-12 23:09:45 +03:00
libcamera: Summarize licensing terms in COPYING.rst
Storing detailed licensing information in SPDX headers and in the DEP5 file gives precise information to handle license compliance, but lacks a high-level overview. Summmarize the licensing terms in a COPYING.rst file to facilitate understanding of the libcamera project licenses, and to clarify that closed-source third-party IPA modules are permitted. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Acked-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Tomasz Figa <tfiga@chromium.org>
This commit is contained in:
parent
40148cfcaf
commit
39fa976b46
1 changed files with 71 additions and 0 deletions
71
COPYING.rst
Normal file
71
COPYING.rst
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
.. SPDX-License-Identifier: CC-BY-SA-4.0
|
||||||
|
|
||||||
|
==========
|
||||||
|
Licenses
|
||||||
|
==========
|
||||||
|
|
||||||
|
TL;DR summary: The libcamera core is covered by the LGPL-2.1-or-later license.
|
||||||
|
IPA modules included in libcamera are covered by a free software license.
|
||||||
|
Third-parties may develop IPA modules outside of libcamera and distribute them
|
||||||
|
under a closed-source license, provided they do not include source code from
|
||||||
|
the libcamera project.
|
||||||
|
|
||||||
|
The libcamera project contains multiple libraries, applications and utilities.
|
||||||
|
Licenses are expressed through SPDX tags in text-based files that support
|
||||||
|
comments, and through the .reuse/dep5 file otherwise. A copy of all licenses is
|
||||||
|
stored in the LICENSES directory.
|
||||||
|
|
||||||
|
The following text summarizes the licenses covering the different components of
|
||||||
|
the project to offer a quick overview for developers. The SPDX and DEP5
|
||||||
|
information are however authoritative and shall prevail in case of
|
||||||
|
inconsistencies with the text below.
|
||||||
|
|
||||||
|
The libcamera core source code, located under the include/libcamera/ and
|
||||||
|
src/libcamera/ directories, is fully covered by the LGPL-2.1-or-later license,
|
||||||
|
which thus covers distribution of the libcamera.so binary. Other files located
|
||||||
|
in those directories, most notably the meson build files, and various related
|
||||||
|
build scripts, may be covered by different licenses. None of their source code
|
||||||
|
is incorporated in the in the libcamera.so binary, they thus don't affect the
|
||||||
|
distribution terms of the binary.
|
||||||
|
|
||||||
|
The IPA modules, located in src/ipa/, are covered by free software licenses
|
||||||
|
chosen by the module authors. The LGPL-2.1-or-later license is recommended.
|
||||||
|
Those modules are compiled as separate binaries and dynamically loaded by the
|
||||||
|
libcamera core at runtime.
|
||||||
|
|
||||||
|
The IPA module API is defined in headers located in include/libcamera/ipa/ and
|
||||||
|
covered by the LGPL-2.1-or-later license. Using the data types (including
|
||||||
|
classes, structures and enumerations) and macros defined in the IPA module and
|
||||||
|
libcamera core API headers in IPA modules doesn't extend the LGPL license to
|
||||||
|
the IPA modules. Third-party closed-source IPA modules are thus permitted,
|
||||||
|
provided they comply with the licensing requirements of any software they
|
||||||
|
include or link to.
|
||||||
|
|
||||||
|
The libcamera Android camera HAL component is located in src/android/. The
|
||||||
|
libcamera-specific source code is covered by the LGPL-2.1-or-later license. The
|
||||||
|
component additionally contains header files and source code, located
|
||||||
|
respectively in include/android/ and src/android/metadata/, copied verbatim
|
||||||
|
from Android and covered by the Apache-2.0 license.
|
||||||
|
|
||||||
|
The libcamera GStreamer and V4L2 adaptation source code, located respectively
|
||||||
|
in src/gstreamer/ and src/v4l2/, is fully covered by the LGPL-2.1-or-later
|
||||||
|
license. Those components are compiled to separate binaries and do not
|
||||||
|
influence the license of the libcamera core.
|
||||||
|
|
||||||
|
The cam and qcam sample applications, as well as the unit tests, located
|
||||||
|
respectively in src/cam/, src/qcam/ and test/, are covered by the
|
||||||
|
GPL-2.0-or-later license. qcam additionally includes an icon set covered by the
|
||||||
|
MIT license. Those applications are compiled to separate binaries and do not
|
||||||
|
influence the license of the libcamera core.
|
||||||
|
|
||||||
|
Additional utilities are located in the utils/ directory and are covered by
|
||||||
|
various licenses. They are not part of the libcamera core and do not influence
|
||||||
|
its license.
|
||||||
|
|
||||||
|
Finally, copies of various Linux kernel headers are included in include/linux/
|
||||||
|
to avoid depending on particular versions of those headers being installed in
|
||||||
|
the system. The Linux kernel headers are covered by their respective license,
|
||||||
|
including the Linux kernel license syscall exception. Using a copy of those
|
||||||
|
headers doesn't affect libcamera licensing terms in any way compared to using
|
||||||
|
the same headers installed in the system from kernel headers packages provided
|
||||||
|
by Linux distributions.
|
Loading…
Add table
Add a link
Reference in a new issue