Hi,
I regularily do licence analysis on dependencies, and Lombok is a
bit of a hard case, considering its… very special… build process.
As far as I could identify, Lombok JAR 1.18.18 contains code built from:
• the contents of its source JAR
• com.zwitserloot:cmdreader:1.2 (shaded into the JAR)
• org.projectlombok:lombok.patcher:0.40 (same)
org.projectlombok:lombok.patcher:0.40 then contains…
• org.ow2.asm:asm:9.0
• org.ow2.asm:asm-commons:9.0
• org.ow2.asm:asm-tree:9.0
There are two problems for me with this (and another for you):
① Figuring these out is a very manual process. I also don’t know
if I managed to find all sources (only know Maven, not Ant).
Perhaps you could help me by generating a list of everything
contained in a given binary release. The list doesn’t need to
be fancy — perhaps put a plaintext file into META-INF/ in the
JAR as part of your build process and you’d be all set³.
② Neither com.zwitserloot:cmdreader:1.2 nor lombok.patcher are
published in Maven Central, so we cannot acquire source JARs
for these. While the licence doesn’t mandate source availability
other project constraints can (e.g. if adding Lombok to a GPL’d
project would). ASM c̲a̲n̲ be retrieved from Central though³. Note
that cmdreader 1.5 is published in Central, but 1.2 which Lombok
includes isn’t.
Please publish all artefacts in Maven Central, including their
sources, not just the final Lombok.
③ This is not so much an issue for me but for you: you include
a copy of ASM in your JAR but the LICENSE file only contains
the Lombok licence, not the licence of ASM. This violates the
licence which requires you to…
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
Incidentally, Lombok also violates the licence of cmdreader:
https://github.com/rzwitserloot/com.zwitserloot.cmdreader/blob/1.2/LICENCE
has a copyright notice “2010 Reinier Zwitserloot” which is not present
in the LICENSE file contained in the Lombok JAR.
https://github.com/rzwitserloot/lombok.patcher does not even have a
conveniently available LICENCE file. Looking at individual files
indicates that it shares the terms of Lombok, though.
bye,
//mirabilos
--
Infrastrukturexperte • tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn •
http://www.tarent.de/
Telephon
+49 228 54881-393 • Fax:
+49 228 54881-235
HRB AG Bonn 5168 • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg
*************************************************
Mit dem tarent-Newsletter nichts mehr verpassen:
www.tarent.de/newsletter
*************************************************