Since the intent of libvirt using LGPL was explicitly to allow
non-GPL
compatible applications to use libvirt, it is a mistake to be using
a license that breaks this ability for Rust.
In Golang we've used MIT license
For Rust we should aim for whatever is most appropriate - MIT or BSD
or Apache - I'm not familiar with which is dominant in the Rust world.
Apache and MIT or even dual licensing of both are the most common.
The official API guidelines recommend dual licensing under Apache and
MIT.
The challenge will be getting copyright holder agreement. Sahid has
written the vast majority of the code, but has changed employers
a few times - most code was while he was at Red Hat, but some was
at Canonical. The further complication is that French legal rules
often mean an employee retains copyright. To be safe we would need
to cover all possiblities and get explicit agreement from Sahid,
Canonical and Red Hat. I can give approval on behalf of Red Hat.
Then there's a small number of other contributor who would need to
be found, or their contribution removed & re-written.
This may sound overly ambitious but what about reimplementing
libvirt-rust from scratch? I've already seen so many problems with it
that I am pretty sure that incremental changes will end up replacing the
entire library anyway. I can at least make a start and license my
attempt under a permissive license. I'm not sure what the legal
implications of that are but I'm just throwing the idea out there.