Patch Detail
Show a patch.
GET /api/patches/4036/?format=api
{ "id": 4036, "url": "https://patchwork.libcamera.org/api/patches/4036/?format=api", "web_url": "https://patchwork.libcamera.org/patch/4036/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "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=api", "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=api", "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" ] }