Project

General

Profile

Bug #113

Licensing issues (round 1)

Added by Anonymous over 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
Normal
Target version:
Start date:
02/26/2012
Due date:
% Done:

100%

Estimated time:

Description

The COPYING file at the top-level of the source tree indicates the whole thing is "LGPL v2.1 or later". Some parts (like most of the stuff in snprintf/) are under a BSD license, which can be relicensed to LGPL so no problems there.

However there are some other inconsistencies:

./include/lttng/tracepoint-rcu.h: UNKNOWN
./include/lttng/tracepoint-event.h: UNKNOWN
./include/lttng/tracepoint.h: UNKNOWN
./include/lttng/tracepoint-types.h: UNKNOWN
./include/lttng/align.h: UNKNOWN
./include/lttng/ust-tracepoint-event.h: UNKNOWN
./include/lttng/ust-ctl.h: GPL (with incorrect FSF address)
./include/lttng/bitfield.h: MIT/X11 (BSD like)
./include/lttng/ringbuffer-abi.h: UNKNOWN
./include/lttng/ringbuffer-config.h: UNKNOWN
./include/lttng/ust.h: UNKNOWN
./include/lttng/ust-tracepoint-event-reset.h: UNKNOWN
./include/lttng/bug.h: UNKNOWN
./include/lttng/ust-tracer.h: UNKNOWN
./include/lttng/ust-abi.h: UNKNOWN
./include/lttng/ust-events.h: UNKNOWN
./include/helper.h: LGPL
./include/usterr.h: LGPL
./include/ust_snprintf.h: LGPL (v2.1 or later)
./include/ust-comm.h: LGPL
./include/share.h: UNKNOWN
./include/usterr-signal-safe.h: LGPL

Most of these files have something custom that is similar to the MIT/X11 license, so it might be worth using the exact MIT/X11 text (the one in bitfield.h).
Some of the files also mention "LGPL v2.1 only", which is incompatible with "LGPL v2.1 or later". Either the whole thing has to be "2.1 or later" or the project can only be used under 2.1.
ust-ctl.h is (by mistake?) pure GPL, which is clearly incompatible.

#1

Updated by Anonymous over 8 years ago

  • Subject changed from Licensing issues to Licensing issues (round 1)

There's more ;)

./libringbuffer/frontend_api.h: UNKNOWN
./libringbuffer/frontend.h: UNKNOWN
./libringbuffer/frontend_types.h: UNKNOWN
./libringbuffer/frontend_internal.h: UNKNOWN
./libringbuffer/vatomic.h: UNKNOWN
./libringbuffer/shm_internal.h: UNKNOWN
./libringbuffer/smp.c: UNKNOWN
./libringbuffer/ring_buffer_backend.c: UNKNOWN
./libringbuffer/backend.h: UNKNOWN
./libringbuffer/shm_types.h: UNKNOWN
./libringbuffer/backend_types.h: UNKNOWN
./libringbuffer/getcpu.h: LGPL
./libringbuffer/shm.h: UNKNOWN
./libringbuffer/shm.c: UNKNOWN
./libringbuffer/nohz.h: UNKNOWN
./libringbuffer/smp.h: UNKNOWN
./libringbuffer/backend_internal.h: UNKNOWN
./libringbuffer/api.h: UNKNOWN
./libringbuffer/ring_buffer_frontend.c: UNKNOWN

Those files mention "dual LGPL 2.1/GPL 2 license". (IMO might as well mention the LGPL part only, since it's the more permissive of the two.) However, once again "LGPL v2.1" is incompatible with "LPGL v2.1 or later".

#2

Updated by Anonymous over 8 years ago

Last bunch for now...

./liblttng-ust/clock.h: LGPL
./liblttng-ust/compat.h: UNKNOWN
./liblttng-ust/tracepoint-internal.h: LGPL
./liblttng-ust/lttng-context-pthread-id.c: UNKNOWN
./liblttng-ust/ltt-context.c: UNKNOWN
./liblttng-ust/ltt-ring-buffer-client.h: UNKNOWN
./liblttng-ust/ltt-ring-buffer-metadata-client.h: UNKNOWN
./liblttng-ust/ltt-tracer-core.h: LGPL
./liblttng-ust/wait.h: LGPL
./liblttng-ust/ltt-events.c: UNKNOWN
./liblttng-ust/ltt-probes.c: UNKNOWN
./liblttng-ust/ust-core.c: LGPL
./liblttng-ust/jhash.h: LGPL
./liblttng-ust/lttng-context-procname.c: UNKNOWN
./liblttng-ust/lttng-context-vpid.c: UNKNOWN
./liblttng-ust/lttng-ust-abi.c: UNKNOWN
./liblttng-ust/ltt-ring-buffer-client-overwrite.c: UNKNOWN
./liblttng-ust/ltt-ring-buffer-metadata-client.c: UNKNOWN
./liblttng-ust/error.h: LGPL
./liblttng-ust/ltt-ring-buffer-client-discard.c: UNKNOWN
./liblttng-ust/tracepoint.c: LGPL
./liblttng-ust/lttng-context-vtid.c: UNKNOWN
./liblttng-ust/ltt-tracer.h: LGPL
./liblttng-ust/probes/lttng-probe-ust.h: LGPL
./liblttng-ust/probes/lttng-probe-ust.c: UNKNOWN
./liblttng-ust/lttng-ust-comm.c: LGPL
./liblttng-ust-java/lttng_ust_java.h: LGPL
./liblttng-ust-java/LTTNG_UST.java: No copyright UNKNOWN
./liblttng-ust-java/LTTNG_UST.c: No copyright UNKNOWN
./liblttng-ust-comm/lttng-ust-comm.c: LGPL

Those files that say LGPL mention "v2.1 only" here too.
Some that say UNKNOWN use this quasi-MIT one, some others use the dual LGPL v2.1/GPL 2.

I can provide the patches, I just need to know what licensing is desired for those files.

#3

Updated by Anonymous about 8 years ago

  • % Done changed from 0 to 50

All files now have a license/copyright header, good! ;)

Two small problems remain:
  • liblttng-ust-ctl/ustctl.c is still GPL v2-only, and this is not a "trivial" file. If Mathieu and Julien agree, this should be relicensed to LGPL v2.1(+)
  • The majority of the files still announce "LGPL v2.1 only". This is incompatible with "LGPL v2.1 or later", which is what the COPYING files says about the project as a whole. The quick fix would be to change the COPYING file to say "LGPL 2.1 only", and in the future revisit if you want to allow later versions.
#4

Updated by Yannick Brosseau about 8 years ago

I'm pretty sure we want LGPL 2.1 only. But you should confirm that with the authors.

#5

Updated by Yannick Brosseau about 8 years ago

  • Assignee set to Mathieu Desnoyers

Copying will be updated

#6

Updated by Anonymous about 8 years ago

  • Status changed from New to Resolved
  • % Done changed from 50 to 100

The project now mentions LGPL 2.1, specifically.

liblttng-ust-ctl is GPL v2 on purpose: it's a separate lib, not used by the lttng-ust core (only by lttng-tools' libraries, which is GPL v2). This has been clarified in the COPYING file.

Round 2 could include rewording the text so the actual version number gets picked up, and maybe uniforming the licensing of the stuff in tests/. But this is less important, and not a blocker for the release.

Also available in: Atom PDF