[libcamera-devel] [PATCH/RFC 00/11] Improve license information

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Feb 13 17:52:53 CET 2020



On 13/02/2020 16:44, Laurent Pinchart wrote:
> Hi Kieran,
> 
> 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 :-)

Do we need to hire a lawyer to tell us the right answer? Or perhaps ask
FSF or such an organisation?

--
Kieran.



> 
>>> [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