Planning/Relicensing: Difference between revisions

From QEMU
(→‎Files Needing Relicensing: further classification)
(more classification, remove es1370.c which is BSD/MIT)
Line 15: Line 15:
If you or your company is willing to relicense your past contributions from GPLv2 to GPLv2+, please send an email to qemu-devel stating that explicitly and then link to that message on this wiki.
If you or your company is willing to relicense your past contributions from GPLv2 to GPLv2+, please send an email to qemu-devel stating that explicitly and then link to that message on this wiki.


== Files under LGPLv2.1 ==
== Files under LGPLv2/LGPLv2.1 ==


These do not need relicensing even if the "or later" clause were missing (see section 3):
These do not need relicensing even if the "or later" clause were missing (see section 3):
Line 45: Line 45:
  qbool.c
  qbool.c
  qdict.c
  qdict.c
qemu-coroutine.c
  qerror.c
  qerror.c
  qfloat.c
  qfloat.c
Line 59: Line 60:
  hw/alpha_typhoon.c
  hw/alpha_typhoon.c
  hw/ccid-card-passthru.c
  hw/ccid-card-passthru.c
hw/empty_slot.c
  hw/ppc440_bamboo.c
  hw/ppc440_bamboo.c
  hw/ppc440.c
  hw/ppc440.c
Line 72: Line 74:
  qemu-thread-posix.c
  qemu-thread-posix.c
  qemu-thread-win32.c
  qemu-thread-win32.c
The situation of this file is unclear:
net/tap-win32.c


== Files under "GPL" ==
== Files under "GPL" ==
Line 78: Line 84:


  hw/a9mpcore.c
  hw/a9mpcore.c
hw/an5206.c
  hw/arm11mpcore.c
  hw/arm11mpcore.c
  hw/arm_boot.c
  hw/arm_boot.c
Line 85: Line 92:
  hw/armv7m.c
  hw/armv7m.c
  hw/armv7m_nvic.c
  hw/armv7m_nvic.c
hw/dummy_m68k.c
hw/integratorcp.c
  hw/max7310.c
  hw/max7310.c
hw/mcf5206.c
hw/mcf5208.c
hw/mcf_fec.c
hw/mcf_intc.c
hw/mcf_uart.c
  hw/mpcore.c
  hw/mpcore.c
  hw/pl011.c
  hw/pl011.c
Line 103: Line 117:
  hw/sh_intc.c
  hw/sh_intc.c
  hw/sh_timer.c
  hw/sh_timer.c
hw/smc91c111.c
  hw/ssd0303.c
  hw/ssd0303.c
  hw/ssd0323.c
  hw/ssd0323.c
Line 113: Line 128:
== Files Needing Relicensing ==
== Files Needing Relicensing ==


net/tap-win32.c
  hw/ads7846.c
  hw/ads7846.c
hw/an5206.c
  hw/bitbang_i2c.c
  hw/bitbang_i2c.c
  hw/bonito.c
  hw/bonito.c
  hw/collie.c
  hw/collie.c
  hw/ds1338.c
  hw/ds1338.c
hw/dummy_m68k.c
  hw/ecc.c
  hw/ecc.c
hw/empty_slot.c
hw/es1370.c
  hw/event_notifier.c
  hw/event_notifier.c
  hw/framebuffer.c
  hw/framebuffer.c
  hw/gumstix.c
  hw/gumstix.c
hw/integratorcp.c
  hw/ivshmem.c
  hw/ivshmem.c
  hw/kvmclock.c
  hw/kvmclock.c
Line 134: Line 143:
  hw/marvell_88w8618_audio.c
  hw/marvell_88w8618_audio.c
  hw/max111x.c
  hw/max111x.c
hw/mcf5206.c
hw/mcf5208.c
hw/mcf_fec.c
hw/mcf_intc.c
hw/mcf_uart.c
  hw/mips_fulong2e.c
  hw/mips_fulong2e.c
  hw/msix.c
  hw/msix.c
Line 149: Line 153:
  hw/pxa2xx_pcmcia.c
  hw/pxa2xx_pcmcia.c
  hw/smbios.c
  hw/smbios.c
hw/smc91c111.c
  hw/spitz.c
  hw/spitz.c
  hw/ssi.c
  hw/ssi.c
Line 184: Line 187:
  pflib.c
  pflib.c
  posix-aio-compat.c
  posix-aio-compat.c
qemu-coroutine.c
  qemu-tool.c
  qemu-tool.c
  qmp.c
  qmp.c

Revision as of 13:46, 18 October 2011

Overview

In order to share code with binutils, QEMU needs to relicense to GPLv2 or later since binutils is GPLv3. Since only a handful of files are licensed under GPLv2, it should be practical to relicense.

How to Help

To relicense a file, use the following git command to get a list of authors:

git log --format:"%an <%ae>" -- file.c

Check this wiki page to see if the author has already committed to relicensing. If so, add their Signed-off-by to the patch. For any author that hasn't already committed to relicensing, contact that individual and ask them if they are willing to relicense and collect their Signed-off-by.

Commitments to Relicense

If you or your company is willing to relicense your past contributions from GPLv2 to GPLv2+, please send an email to qemu-devel stating that explicitly and then link to that message on this wiki.

Files under LGPLv2/LGPLv2.1

These do not need relicensing even if the "or later" clause were missing (see section 3):

hw/arm_pic.c
hw/ccid-card-emulated.c
hw/fmopl.c
hw/i2c.c
hw/lsi53c895a.c
hw/pc.c
hw/pl110.c
hw/ptimer.c
hw/scsi-disk.c
hw/scsi-generic.c
hw/smbus.c
hw/usb-msd.c
hw/usb-serial.c
hw/versatile_pci.c
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qstring.c
error.c
json-lexer.c
json-parser.c
json-streamer.c
qbool.c
qdict.c
qemu-coroutine.c
qerror.c
qfloat.c
qint.c
qjson.c
qlist.c
qstring.c
test-coroutine.c

Files under GPLv2+

These would need relicensing in order to do a blanket relicensing of QEMU. However, the license is GPLv3-compatible, so they can be left as is: overall, QEMU would still be distributed as GPLv3, but the code from this files could be reused in GPLv2 projects:

hw/alpha_typhoon.c
hw/ccid-card-passthru.c
hw/empty_slot.c
hw/ppc440_bamboo.c
hw/ppc440.c
hw/usb-ccid.c
device_tree.c
dma-helpers.c
kvm-all.c
kvm-stub.c
linux-aio.c
qemu-error.c
qemu-ga.c
qemu-io.c
qemu-thread-posix.c
qemu-thread-win32.c

The situation of this file is unclear:

net/tap-win32.c

Files under "GPL"

These files can be probably interpreted as being "GPLv1+". Relicensing is thus not needed.

hw/a9mpcore.c
hw/an5206.c
hw/arm11mpcore.c
hw/arm_boot.c
hw/arm_gic.c
hw/arm_sysctl.c
hw/arm_timer.c
hw/armv7m.c
hw/armv7m_nvic.c
hw/dummy_m68k.c
hw/integratorcp.c
hw/max7310.c
hw/mcf5206.c
hw/mcf5208.c
hw/mcf_fec.c
hw/mcf_intc.c
hw/mcf_uart.c
hw/mpcore.c
hw/pl011.c
hw/pl022.c
hw/pl050.c
hw/pl061.c
hw/pl080.c
hw/pl181.c
hw/pl190.c
hw/pxa2xx.c
hw/pxa2xx_dma.c
hw/pxa2xx_gpio.c
hw/pxa2xx_pic.c
hw/pxa2xx_timer.c
hw/realview.c
hw/realview_gic.c
hw/sh_intc.c
hw/sh_timer.c
hw/smc91c111.c
hw/ssd0303.c
hw/ssd0323.c
hw/stellaris.c
hw/stellaris_enet.c
hw/stellaris_input.c
hw/versatilepb.c
hw/wm8750.c

Files Needing Relicensing

hw/ads7846.c
hw/bitbang_i2c.c
hw/bonito.c
hw/collie.c
hw/ds1338.c
hw/ecc.c
hw/event_notifier.c
hw/framebuffer.c
hw/gumstix.c
hw/ivshmem.c
hw/kvmclock.c
hw/lan9118.c
hw/mainstone.c
hw/marvell_88w8618_audio.c
hw/max111x.c
hw/mips_fulong2e.c
hw/msix.c
hw/mst_fpga.c
hw/musicpal.c
hw/nand.c
hw/pxa2xx_keypad.c
hw/pxa2xx_lcd.c
hw/pxa2xx_mmci.c
hw/pxa2xx_pcmcia.c
hw/smbios.c
hw/spitz.c
hw/ssi.c
hw/ssi-sd.c
hw/strongarm.c
hw/tc6393xb.c
hw/tosa.c
hw/vhost.c
hw/vhost_net.c
hw/virtio-balloon.c
hw/virtio-blk.c
hw/virtio.c
hw/virtio-console.c
hw/virtio-net.c
hw/virtio-pci.c
hw/virtio-serial-bus.c
hw/vt82c686.c
hw/z2.c
aio.c
blockdev.c
block-migration.c
buffered_file.c
compatfd.c
hmp.c
iov.c
memory.c
migration.c
migration-exec.c
migration-fd.c
migration-tcp.c
migration-unix.c
module.c
notify.c
pflib.c
posix-aio-compat.c
qemu-tool.c
qmp.c
xen-all.c
xen-mapcache.c
xen-stub.c