[{"id":5197,"web_url":"https://patchwork.libcamera.org/comment/5197/","msgid":"<e6ad27c9-677b-95ec-4870-71164abd80b6@ideasonboard.com>","date":"2020-06-12T15:03:50","subject":"Re: [libcamera-devel] [PATCH] libcamera: Summarize licensing terms\n\tin COPYING.rst","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 12/06/2020 15:43, Laurent Pinchart wrote:\n> Storing detailed licensing information in SPDX headers and in the DEP5\n> file gives precise information to handle license compliance, but lacks a\n> high-level overview. Summmarize the licensing terms in a COPYING.rst\n> file to facilitate understanding of the libcamera project licenses, and\n> to clarify that closed-source third-party IPA modules are permitted.\n> \n> Signed-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\n> \n> diff --git a/COPYING.rst b/COPYING.rst\n> new file mode 100644\n> index 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> \n\nSounds good to me. Probably something we should incorporate into the\nwebsite somewhere, but that's not essential right now I don't think.\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DEEBB60C4E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jun 2020 17:03:53 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4FF7624F;\n\tFri, 12 Jun 2020 17:03:53 +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=\"o5pHLzXC\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1591974233;\n\tbh=S+aYtxtVcvDsiYF68lKF7C7PC+6ANHzLw7Fj2JIWWZc=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=o5pHLzXCQ/BNxHUn8yWVqeqUFFf7SUcotSIhlhKuh+Pd2DzHnPRRK1CkqLqb+l/pZ\n\tbrFZwkDHaROUbft9Eh7j4O8AYeVb8prk+TPnw9SQDZB5kNoIHTeqmX6xdivkheE5kA\n\tx/UwOMeBcPU9AB9sEUDDwJC+0DjDdlv0JJ5+oIA0=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<e6ad27c9-677b-95ec-4870-71164abd80b6@ideasonboard.com>","Date":"Fri, 12 Jun 2020 16:03:50 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.8.0","MIME-Version":"1.0","In-Reply-To":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] libcamera: Summarize licensing terms\n\tin COPYING.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 15:03:54 -0000"}},{"id":5211,"web_url":"https://patchwork.libcamera.org/comment/5211/","msgid":"<20200615160253.GF915368@oden.dyn.berto.se>","date":"2020-06-15T16:02:53","subject":"Re: [libcamera-devel] [PATCH] libcamera: Summarize licensing terms\n\tin COPYING.rst","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your work.\n\nOn 2020-06-12 17:43:18 +0300, Laurent Pinchart wrote:\n> Storing detailed licensing information in SPDX headers and in the DEP5\n> file gives precise information to handle license compliance, but lacks a\n> high-level overview. Summmarize the licensing terms in a COPYING.rst\n> file to facilitate understanding of the libcamera project licenses, and\n> to clarify that closed-source third-party IPA modules are permitted.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nAcked-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  COPYING.rst | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++\n>  1 file changed, 71 insertions(+)\n>  create mode 100644 COPYING.rst\n> \n> diff --git a/COPYING.rst b/COPYING.rst\n> new file mode 100644\n> index 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> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-lj1-x241.google.com (mail-lj1-x241.google.com\n\t[IPv6:2a00:1450:4864:20::241])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0DDD2603C4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Jun 2020 18:02:56 +0200 (CEST)","by mail-lj1-x241.google.com with SMTP id q19so19870592lji.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 15 Jun 2020 09:02:56 -0700 (PDT)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\tf10sm4640371lfm.34.2020.06.15.09.02.53\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 15 Jun 2020 09:02:54 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com header.b=\"KmbxessO\"; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=bKHMSDnxzl/N/m9eog1kowAwkYPalp5ispAgkUnJRBE=;\n\tb=KmbxessO94ECYkGYDSvVwvsLPjUFG2VVS8wSZFMwViVXJhbT6+oypZBbrZ2/GV3HTu\n\toYGtDNgFoJ+O/tsIet0WylZcoBVycR8Rni4jKxlfBpDkpCy0FHo4htmzm5r+p4U/arEH\n\tdRFwFYF8T+fwtdnG2HiTvMaW/r/48l9RO33JZjrUtreOa9s4EbipRiAmsHJY3KCNRgvi\n\tY9pVgagNssb8Yby0vlITLU7Cf4lf8rsc9fiPnTP/PBVqlkgDHbV5lt8nd8G/VoCHsTyC\n\toDHEKTY+7+q5I+3Vj2fICpoXncvSsxLWGypiutI5n+j79ctHLpv7/4sfuQ6WDtk/FK0M\n\tkAow==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=bKHMSDnxzl/N/m9eog1kowAwkYPalp5ispAgkUnJRBE=;\n\tb=iwImxWUV4hsY6Oh6Zngkm0/6wRjKFRkv60Mk+GcYtzx7gcEKG/yMYHfIVwMY04rxLj\n\t6ja0rJRu3LYZiMoR9bYqMxmpYTbFlq0WwYO98UMmP/5l5Dv7JjY28VoVaTzkDi/5ss6r\n\tTn6ZLK/cXbRIhD8Wr43wlM1qzF0B+LsUEfoptIP3CWCNse/GS2FC4luu3KICQTgcIxHv\n\t8DqvORUTMMM6RPPLrxm4OPwuMZk92F3aSL5Vnjkz4bvvKZF4VegmBzLDS/66cToq/KOo\n\tQiIsqf10L68NhIz85gkc5fBDcE1Fsw9El9tVNQ6WXBejPghuhKNGBuZnSv3XRsKUGSpb\n\tI7SA==","X-Gm-Message-State":"AOAM532YMusSCDNQMdPkqewROsnMihu/bs/I2Q9Vev7EfjJVDyBK23w4\n\t9zD0+0YAbf25spItB3tgnGWhnoFkKoI=","X-Google-Smtp-Source":"ABdhPJxLVBVIFJkwQTVVF8aPP2+I1P1XlylWl51klTJNhQBhk8wMBmGkTlxtx48zIONchKq43BI5hQ==","X-Received":"by 2002:a2e:8ed6:: with SMTP id\n\te22mr11899552ljl.401.1592236975255; \n\tMon, 15 Jun 2020 09:02:55 -0700 (PDT)","Date":"Mon, 15 Jun 2020 18:02:53 +0200","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200615160253.GF915368@oden.dyn.berto.se>","References":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: Summarize licensing terms\n\tin COPYING.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":"Mon, 15 Jun 2020 16:02:56 -0000"}},{"id":10886,"web_url":"https://patchwork.libcamera.org/comment/10886/","msgid":"<CAAFQd5CywN6gjKuFMugXHNykgQ99Tp6MWgriiDVfFrmv2vJbOA@mail.gmail.com>","date":"2020-06-26T09:11:33","subject":"Re: [libcamera-devel] [PATCH] libcamera: Summarize licensing terms\n\tin COPYING.rst","submitter":{"id":9,"url":"https://patchwork.libcamera.org/api/people/9/","name":"Tomasz Figa","email":"tfiga@chromium.org"},"content":"On Fri, Jun 12, 2020 at 4:43 PM Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> Storing detailed licensing information in SPDX headers and in the DEP5\n> file gives precise information to handle license compliance, but lacks a\n> high-level overview. Summmarize the licensing terms in a COPYING.rst\n> file to facilitate understanding of the libcamera project licenses, and\n> to clarify that closed-source third-party IPA modules are permitted.\n>\n> Signed-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\n>\n> diff --git a/COPYING.rst b/COPYING.rst\n> new file mode 100644\n> index 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\nThanks, this should make it a bit more clear for now.\n\nReviewed-by: Tomasz Figa <tfiga@chromium.org>\n\nBest regards,\nTomasz","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C771FC0109\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 26 Jun 2020 09:11:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 32FE7609C6;\n\tFri, 26 Jun 2020 11:11:49 +0200 (CEST)","from mail-ej1-x644.google.com (mail-ej1-x644.google.com\n\t[IPv6:2a00:1450:4864:20::644])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B3574609C2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2020 11:11:47 +0200 (CEST)","by mail-ej1-x644.google.com with SMTP id o18so4198264eje.7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2020 02:11:47 -0700 (PDT)","from mail-wm1-f50.google.com (mail-wm1-f50.google.com.\n\t[209.85.128.50]) by smtp.gmail.com with ESMTPSA id\n\tf16sm7111146ejr.0.2020.06.26.02.11.45\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tFri, 26 Jun 2020 02:11:46 -0700 (PDT)","by mail-wm1-f50.google.com with SMTP id f139so8647664wmf.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 26 Jun 2020 02:11:45 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"YVuij37/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=azn9zQB7rsuKpGMsjrADltVZWdCXYcBJG/RvKfgl+Aw=;\n\tb=YVuij37/LC18ACK08sfjkCW00XcpFISyVOgBcCLt4tu6Fz+oCzPE73ZfBVuWxG6DXa\n\to+vvGOI0NurQ74VPf0hAt+u9SDEdGjdykWFp+83aHNnOeoMw9lyAtjdY6Ba7nSqewOQZ\n\ta0brJXNvbSjoMgDLJ5tnA4OxWXCjaZf/VKC0E=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=azn9zQB7rsuKpGMsjrADltVZWdCXYcBJG/RvKfgl+Aw=;\n\tb=KngteDqmZUHLuHyXORX3VpLfa9NmCZQ9AOe6X2KsGg+LIJzYmFeNVDkDnHt04mmUWi\n\tBV3GTA3mojiMakU42kFFl63nCGbnZuoL+lZP5veN/rB1pl3gLAwZlmWOpPaZEhEc5P1I\n\tXnNJyfmKdIef1I+OVeLRyfirI1CY+47zbbcmpEc0g++dZU9rurx8neS6IIh/7FMmfXB8\n\tH2RxT3/L7k7KKkFsa8oRGZJcBkowDrN/r/UUrRhgHnhnqr6ZdPXh26z+itK0spM6wjlB\n\tnrVlOVktjuJ6Qt9IH7BJEZ4eBa31ayUaUFVV9qWQKiqEZceue1AWWZIrzJJfrcya2jIl\n\tvl5g==","X-Gm-Message-State":"AOAM530Fy4lQJwuQMwgFCFVlj+5fltBWNkYDaeVtOP8JIli+ANWJqVAh\n\tUwjBk7OJjnz1ysBOshrxmBNjPhggg3qPNQ==","X-Google-Smtp-Source":"ABdhPJzE0CU+09yBGc/AmlrT15anpHS7YCw2OfESr8CRX7b+v31l3PStKwEZmqOhhlzXOeUanGuITA==","X-Received":["by 2002:a17:906:1356:: with SMTP id\n\tx22mr1749064ejb.429.1593162706860; \n\tFri, 26 Jun 2020 02:11:46 -0700 (PDT)","by 2002:a7b:c2a9:: with SMTP id c9mr2395061wmk.11.1593162705436; \n\tFri, 26 Jun 2020 02:11:45 -0700 (PDT)"],"MIME-Version":"1.0","References":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20200612144318.31661-1-laurent.pinchart@ideasonboard.com>","From":"Tomasz Figa <tfiga@chromium.org>","Date":"Fri, 26 Jun 2020 11:11:33 +0200","X-Gmail-Original-Message-ID":"<CAAFQd5CywN6gjKuFMugXHNykgQ99Tp6MWgriiDVfFrmv2vJbOA@mail.gmail.com>","Message-ID":"<CAAFQd5CywN6gjKuFMugXHNykgQ99Tp6MWgriiDVfFrmv2vJbOA@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: Summarize licensing terms\n\tin COPYING.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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]