Bug #113
closed
Licensing issues (round 1)
Added by Anonymous almost 13 years ago.
Updated almost 13 years ago.
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.
- 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".
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.
- % 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.
I'm pretty sure we want LGPL 2.1 only. But you should confirm that with the authors.
- Assignee set to Mathieu Desnoyers
- 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