Providing 'hsdis' binaries not possible because of GPLv2/GPLv3 license clash

Volker Simonis volker.simonis at gmail.com
Thu May 28 14:01:20 UTC 2015


Hi George, Mark, Andrew,

recently Chris Newland raised an issue with the license of the 'hsdis'
sources [1] on the adoption-discuss mailing list [2].

'hsdis' is actually a thin wrapper around the GNU binutils. 'hsdis' is
not build as part of any OpenJDK build nor is it part of any Open- or
Oracle-JDK delivery. It only consists of two files and must be
manually build with the help of its own Makefile.It statically links
the two hsdis files together with a static version of the GNU binutils
into a shared library. If the created 'hsdis' shared library is
available at runtime, it can be used by the HotSpot VM to disassemble
generated code sequences which proves extremely helpful when
developing or debugging the VM.

The problem pointed out by Chris is that the hsdis-files are licensed
under GPLv2 while newer versions of the GNU binutils are licensed
under GPLv3. According to the GPL-FAQ, these two licenses are
incompatible and combining code released under both these licenses
violates section 6 of GPLv2.

This problem prevents people from creating and distributing 'hsdis'
binaries which would be extremely useful for other developers.

One way to fix this problem (according to [3]) would be to release the
two hsdis source files under GPL “version 2 or later”. As we already
have files with licenses other than GPLv2 (e.g. LGPL) in the OpenJDK
project, this doesn't seem to be impossible.

What would be necessary to change the license of the two files:

hotspot/src/share/tools/hsdis/hsdis.c
hotspot/src/share/tools/hsdis/hsdis.h

from "GPLv2" to "GPLv2 or later".

Thank you and best regards,
Volker

[1] http://hg.openjdk.java.net/jdk9/dev/hotspot/file/tip/src/share/tools/hsdis
[2] http://mail.openjdk.java.net/pipermail/adoption-discuss/2015-May/000833.html
[3] http://www.gnu.org/licenses/gpl-faq.html#v2v3Compatibility


More information about the discuss mailing list