The following points clarify the QEMU license:

1) QEMU as a whole is released under the GNU General Public License

2) Parts of QEMU have specific licenses which are compatible with the
GNU General Public License. Hence each source file contains its own
licensing information.

Many hardware device emulation sources are released under the BSD license.

3) The Tiny Code Generator (TCG) is released under the BSD license
   (see license headers in files).

4) QEMU is a trademark of Fabrice Bellard.

Fabrice Bellard.
