1) The QEMU Accelerator Module (aka KQEMU) is a proprietary
   product. It is available without charge. Commercial use of the QEMU
   Accelerator Module is allowed.
   
   Redistribution of the QEMU Accelerator Module: any person or
   organisation wishing to distribute it, for example on a CD or as a
   binary or source package, must have an explicit authorization from
   the author.

   The QEMU Accelerator Module is available without any express or
   implied warranty. In no event will the author be held liable for
   any damages arising from the use of this software.

2) QEMU is a trademark of Fabrice Bellard.

Fabrice Bellard.