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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Feb 13 17:54:55 CET 2020


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.

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,

Laurent Pinchart


More information about the libcamera-devel mailing list