[libcamera-devel] [PATCH/RFC 00/11] Improve license information
Kieran Bingham
kieran.bingham at ideasonboard.com
Thu Feb 13 17:57:23 CET 2020
Hi Laurent,
On 13/02/2020 16:54, Laurent Pinchart wrote:
> Hi Kieran,
>
> On Thu, Feb 13, 2020 at 04:52:53PM +0000, Kieran Bingham wrote:
>> On 13/02/2020 16:44, Laurent Pinchart wrote:
>>> On Thu, Feb 13, 2020 at 04:41:38PM +0000, Kieran Bingham wrote:
>>>> On 13/02/2020 15:36, Laurent Pinchart wrote:
>>>>> Hello,
>>>>>
>>>>> The REUSE specification [1] defines a standardized method for declaring
>>>>> copyright and licensing information, based on SPDX. It comes with a
>>>>> compliance tool that can check for compliance and produce reports, as
>>>>> well as licensing information to generate packages.
>>>>>
>>>>> libcamera already uses SPDX tags to specify license information, but we
>>>>> haven't been using them very consistently, as shown by the "reuse lint"
>>>>> tool. This series is an initial step towards REUSE compliance, and fixes
>>>>> a few real issues.
>>>>>
>>>>> I've marked the patches as RFC as it's not clear to me how far we need
>>>>> to go. Adding an SPDX header to include/linux/README, for instance,
>>>>> seems overkill to me. I'm also not sure what license to pick for
>>>>> meson.build files. Comments are more than welcome.
>>>>
>>>> Meson.build files are part of the build system required to build the
>>>> library, so I agree on LGPL.
>>>>
>>>> I think that would include the ebuild files, or anything we create to
>>>> actually generate libcamera.
>>>
>>> But they are also used to build the documentation, under CC-BY-SA-4.0,
>>> the cam and qcam application, under GPL-2.0-or-later, the Android
>>> metadata library, under Apache-2.0, ...
>>
>> Indeed, but it's only libcamera.so that other projects will link
>> against, and I don't "think" having LGPL has any effect on the build of
>> the documentation, or cam/qcam.
>>
>> As the Android metadata library is just 'used' by libcamera.so, I don't
>> think it has much effect there?
>>
>> Who knows. ... IANAL :-)
>
> That's my point really :-) I'm not either.
>
>> Do we need to hire a lawyer to tell us the right answer? Or perhaps ask
>> FSF or such an organisation?
>
> I think it would make sense to ask how to license build system files. If
> you look at buildroot, for instance, all build system files are GPL,
> regardless of the license of the software they compile.
That's a bit different, that's the licence of *buildroot* ?
The thing to look at is the licence of the build files for an equivalent
LGPL library, not an arbitrary external build system which is capable of
building that library.
--
Kieran
>
> I briefly searched for information on this topic, but couldn't find
> anything conclusive.>
>>>>> [1] https://reuse.software/spec/
>>>>>
>>>>> Laurent Pinchart (11):
>>>>> licenses: Rename license files according to REUSE
>>>>> licenses: Add missing licenses
>>>>> licenses: Remove unused LGPL-2.1
>>>>> licenses: Replace deprecated GPL-2.0 with GPL-2.0-only
>>>>> licenses: Move developer's certificate of origin to Documentation/
>>>>> licenses: Add SPDX headers to RST documentation
>>>>> licenses: Add SPDX headers to Doxygen configuration
>>>>> licenses: Add SPDX headers to the website builder and theme
>>>>> licenses: Add SPDX headers to all meson files
>>>>> licenses: Add SPDX headers to the git commit hook scripts
>>>>> licenses: Add SPDX headers to Gentoo ebuild
>>>>>
>>>>> .clang-format | 2 +-
>>>>> .gitignore | 2 +
>>>>> Documentation/Doxyfile.in | 1 +
>>>>> Documentation/api-html/index.rst | 2 +
>>>>> Documentation/coding-style.rst | 2 +
>>>>> Documentation/conf.py | 1 +
>>>>> Documentation/contributing.rst | 2 +
>>>>> .../developer-certificate-of-origin.txt | 0
>>>>> Documentation/docs.rst | 2 +
>>>>> Documentation/index.rst | 2 +
>>>>> Documentation/meson.build | 2 +
>>>>> Documentation/theme/footer.html | 3 +
>>>>> Documentation/theme/layout.html | 3 +
>>>>> Documentation/theme/search.html | 3 +
>>>>> Documentation/theme/static/css/theme.css | 2 +
>>>>> Documentation/theme/theme.conf | 2 +
>>>>> .../apache-2.0.txt => LICENSES/Apache-2.0.txt | 0
>>>>> LICENSES/BSD-3-Clause.txt | 26 +
>>>>> .../CC-BY-SA-4.0.txt | 0
>>>>> LICENSES/GPL-2.0+.txt | 1 +
>>>>> .../GPL-2.0-only.txt | 0
>>>>> LICENSES/GPL-2.0-or-later.txt | 319 +++++++++++
>>>>> LICENSES/GPL-2.0.txt | 1 +
>>>>> LICENSES/LGPL-2.1-or-later.txt | 468 ++++++++++++++++
>>>>> LICENSES/Linux-syscall-note.txt | 5 +
>>>>> LICENSES/MIT.txt | 19 +
>>>>> README.rst | 2 +
>>>>> include/android/meson.build | 2 +
>>>>> include/ipa/meson.build | 2 +
>>>>> include/libcamera/meson.build | 2 +
>>>>> include/meson.build | 2 +
>>>>> licenses/gnu-lgpl-2.1.txt | 502 ------------------
>>>>> meson.build | 2 +
>>>>> meson_options.txt | 2 +
>>>>> .../libcamera/libcamera-9999.ebuild | 2 +-
>>>>> src/android/meson.build | 2 +
>>>>> src/cam/meson.build | 2 +
>>>>> src/ipa/libipa/meson.build | 2 +
>>>>> src/ipa/meson.build | 2 +
>>>>> src/ipa/rkisp1/meson.build | 2 +
>>>>> src/libcamera/include/meson.build | 2 +
>>>>> src/libcamera/meson.build | 2 +
>>>>> src/libcamera/pipeline/ipu3/meson.build | 2 +
>>>>> src/libcamera/pipeline/meson.build | 2 +
>>>>> src/libcamera/pipeline/rkisp1/meson.build | 2 +
>>>>> src/libcamera/proxy/meson.build | 2 +
>>>>> src/libcamera/proxy/worker/meson.build | 2 +
>>>>> src/meson.build | 2 +
>>>>> src/qcam/meson.build | 2 +
>>>>> src/v4l2/meson.build | 2 +
>>>>> test/camera/meson.build | 2 +
>>>>> test/controls/meson.build | 2 +
>>>>> test/ipa/meson.build | 2 +
>>>>> test/ipc/meson.build | 2 +
>>>>> test/libtest/meson.build | 2 +
>>>>> test/log/meson.build | 2 +
>>>>> test/media_device/meson.build | 2 +
>>>>> test/meson.build | 2 +
>>>>> test/pipeline/ipu3/meson.build | 2 +
>>>>> test/pipeline/meson.build | 2 +
>>>>> test/pipeline/rkisp1/meson.build | 2 +
>>>>> test/process/meson.build | 2 +
>>>>> test/serialization/meson.build | 2 +
>>>>> test/stream/meson.build | 2 +
>>>>> test/v4l2_subdevice/meson.build | 2 +
>>>>> test/v4l2_videodevice/meson.build | 2 +
>>>>> utils/hooks/post-commit | 2 +
>>>>> utils/hooks/pre-commit | 2 +
>>>>> utils/ipu3/meson.build | 2 +
>>>>> utils/meson.build | 2 +
>>>>> 70 files changed, 954 insertions(+), 504 deletions(-)
>>>>> rename {licenses => Documentation}/developer-certificate-of-origin.txt (100%)
>>>>> rename licenses/apache-2.0.txt => LICENSES/Apache-2.0.txt (100%)
>>>>> create mode 100644 LICENSES/BSD-3-Clause.txt
>>>>> rename licenses/cc-by-sa-v4.0.txt => LICENSES/CC-BY-SA-4.0.txt (100%)
>>>>> create mode 120000 LICENSES/GPL-2.0+.txt
>>>>> rename licenses/gnu-gpl-2.0.txt => LICENSES/GPL-2.0-only.txt (100%)
>>>>> create mode 100644 LICENSES/GPL-2.0-or-later.txt
>>>>> create mode 120000 LICENSES/GPL-2.0.txt
>>>>> create mode 100644 LICENSES/LGPL-2.1-or-later.txt
>>>>> create mode 100644 LICENSES/Linux-syscall-note.txt
>>>>> create mode 100644 LICENSES/MIT.txt
>>>>> delete mode 100644 licenses/gnu-lgpl-2.1.txt
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list