{"id":4036,"url":"https://patchwork.libcamera.org/api/patches/4036/?format=json","web_url":"https://patchwork.libcamera.org/patch/4036/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","date":"2020-06-12T14:43:18","name":"[libcamera-devel] libcamera: Summarize licensing terms in COPYING.rst","commit_ref":"39fa976b4669450968f62b5865a8d1a045340fc7","pull_url":null,"state":"accepted","archived":false,"hash":"c4c424289707f5776d0fa7d657950969d83e909d","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/4036/mbox/","series":[{"id":999,"url":"https://patchwork.libcamera.org/api/series/999/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=999","date":"2020-06-12T14:43:18","name":"[libcamera-devel] libcamera: Summarize licensing terms in COPYING.rst","version":1,"mbox":"https://patchwork.libcamera.org/series/999/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/4036/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/4036/checks/","tags":{},"headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B4ABD60C4E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jun 2020 16:43:42 +0200 (CEST)","from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5418624F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jun 2020 16:43:42 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"m9osdfEq\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1591973022;\n\tbh=zR8vu66VSFXo2yw24XPCLf3Ux1IHlOdhbeAzL98F2mw=;\n\th=From:To:Subject:Date:From;\n\tb=m9osdfEqy7IBNvi3brBw8H4gIPiLuPIQmJqr2VJWUAixg+iVNTmasHH881LBzZY1V\n\t8cLRVVqf/RzW0AgimpI+KlziLurLaiWgnRD8TcZ+JaGkgPCEdgtWqgNKHtk+MulqVk\n\t1gG30zTrhhKhssCiXVCMxpjvbYL+Omu/qgInnpx4=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 12 Jun 2020 17:43:18 +0300","Message-Id":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.27.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH] libcamera: Summarize licensing terms in\n\tCOPYING.rst","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Fri, 12 Jun 2020 14:43:42 -0000"},"content":"Storing detailed licensing information in SPDX headers and in the DEP5\nfile gives precise information to handle license compliance, but lacks a\nhigh-level overview. Summmarize the licensing terms in a COPYING.rst\nfile to facilitate understanding of the libcamera project licenses, and\nto clarify that closed-source third-party IPA modules are permitted.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n COPYING.rst | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 71 insertions(+)\n create mode 100644 COPYING.rst","diff":"diff --git a/COPYING.rst b/COPYING.rst\nnew file mode 100644\nindex 000000000000..479a5536c5fe\n--- /dev/null\n+++ b/COPYING.rst\n@@ -0,0 +1,71 @@\n+.. SPDX-License-Identifier: CC-BY-SA-4.0\n+\n+==========\n+ Licenses\n+==========\n+\n+TL;DR summary: The libcamera core is covered by the LGPL-2.1-or-later license.\n+IPA modules included in libcamera are covered by a free software license.\n+Third-parties may develop IPA modules outside of libcamera and distribute them\n+under a closed-source license, provided they do not include source code from\n+the libcamera project.\n+\n+The libcamera project contains multiple libraries, applications and utilities.\n+Licenses are expressed through SPDX tags in text-based files that support\n+comments, and through the .reuse/dep5 file otherwise. A copy of all licenses is\n+stored in the LICENSES directory.\n+\n+The following text summarizes the licenses covering the different components of\n+the project to offer a quick overview for developers. The SPDX and DEP5\n+information are however authoritative and shall prevail in case of\n+inconsistencies with the text below.\n+\n+The libcamera core source code, located under the include/libcamera/ and\n+src/libcamera/ directories, is fully covered by the LGPL-2.1-or-later license,\n+which thus covers distribution of the libcamera.so binary. Other files located\n+in those directories, most notably the meson build files, and various related\n+build scripts, may be covered by different licenses. None of their source code\n+is incorporated in the in the libcamera.so binary, they thus don't affect the\n+distribution terms of the binary.\n+\n+The IPA modules, located in src/ipa/, are covered by free software licenses\n+chosen by the module authors. The LGPL-2.1-or-later license is recommended.\n+Those modules are compiled as separate binaries and dynamically loaded by the\n+libcamera core at runtime.\n+\n+The IPA module API is defined in headers located in include/libcamera/ipa/ and\n+covered by the LGPL-2.1-or-later license. Using the data types (including\n+classes, structures and enumerations) and macros defined in the IPA module and\n+libcamera core API headers in IPA modules doesn't extend the LGPL license to\n+the IPA modules. Third-party closed-source IPA modules are thus permitted,\n+provided they comply with the licensing requirements of any software they\n+include or link to.\n+\n+The libcamera Android camera HAL component is located in src/android/. The\n+libcamera-specific source code is covered by the LGPL-2.1-or-later license. The\n+component additionally contains header files and source code, located\n+respectively in include/android/ and src/android/metadata/, copied verbatim\n+from Android and covered by the Apache-2.0 license.\n+\n+The libcamera GStreamer and V4L2 adaptation source code, located respectively\n+in src/gstreamer/ and src/v4l2/, is fully covered by the LGPL-2.1-or-later\n+license. Those components are compiled to separate binaries and do not\n+influence the license of the libcamera core.\n+\n+The cam and qcam sample applications, as well as the unit tests, located\n+respectively in src/cam/, src/qcam/ and test/, are covered by the\n+GPL-2.0-or-later license. qcam additionally includes an icon set covered by the\n+MIT license. Those applications are compiled to separate binaries and do not\n+influence the license of the libcamera core.\n+\n+Additional utilities are located in the utils/ directory and are covered by\n+various licenses. They are not part of the libcamera core and do not influence\n+its license.\n+\n+Finally, copies of various Linux kernel headers are included in include/linux/\n+to avoid depending on particular versions of those headers being installed in\n+the system. The Linux kernel headers are covered by their respective license,\n+including the Linux kernel license syscall exception. Using a copy of those\n+headers doesn't affect libcamera licensing terms in any way compared to using\n+the same headers installed in the system from kernel headers packages provided\n+by Linux distributions.\n","prefixes":["libcamera-devel"]}