[libvirt] [libvirt-java] state of affairs

Claudio Bley cbley at av-test.de
Thu Jan 23 10:20:46 UTC 2014


It seems the Java wrapper is nearly dead. It has fallen way behind
libvirt development. [in my local tree, there're still 120 libvirt API
functions missing from the Java interface which /probably/ are worth
to be added]

I have send a few patches to the list, but no one is willing / able to
review them. Some of those patches date almost a year back.

Slowly I'm getting a bit frustrated and maybe also a tad impatient...

Currently, I'm having +60 commits in my local git tree. As you might
imagine, I'd really like to get these off my back.

That's why I'm asking myself whether the ACKing / NACKing of patches
is the right model for libvirt-java, given that there is, apparently,
very little interest and at the same time next to nobody with good
Java expertise on the list.

Additionally, there are a few glitches in the API which are a thorn in
my side ever since I began using the libvirt Java wrapper. It's
obvious that the wrapper was written without much thinking about the
Java environment and API. Some functions have only been wrapped just
because it was possible or perhaps to just have a full coverage of
libvirt version x.y.z, without any real use for a Java programmer.

Do we really have to live with the failures of the past? I'd
really like to fix these even if that means *breaking* the API.

IMO, this would not be that bad in the Java world. It's not like that
you suddenly happen to have an updated dynamic library on the system
that's missing some symbols or has it's ABI changed which makes your
program crash. Java libraries come with the API bundled and you get
an error at the earliest time possible - at compilation time. Even if
you upgrade a jar without recompiling your program you'll get a nice
RuntimeException instead of undefined behavior.

So, I'd say just bump the major or minor version up to the next
number and send out a big "SORRY, we messed up" to everyone and be done
with it.

Alternatively, change the package and the artifact name to libvirt2
effectively creating some sort of fork?! But, given that there's not
much review on list, failures are likely to happen again and the same
situation would arise anew.

Thank you.
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19

Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern

More information about the libvir-list mailing list