Planning/Relicensing: Difference between revisions

From QEMU
(→‎Commitments to Relicense: looks counterproductive :))
(→‎Files Needing Relicensing: further classification)
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 Needing Relicensing ==
== Files under 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
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/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
 
== Files under "GPL" ==
 
These files can be probably interpreted as being "GPLv1+".  Relicensing is thus not needed.


net/tap-win32.c
  hw/a9mpcore.c
  hw/a9mpcore.c
hw/ads7846.c
hw/alpha_typhoon.c
hw/an5206.c
  hw/arm11mpcore.c
  hw/arm11mpcore.c
  hw/arm_boot.c
  hw/arm_boot.c
  hw/arm_gic.c
  hw/arm_gic.c
hw/arm_pic.c
  hw/arm_sysctl.c
  hw/arm_sysctl.c
  hw/arm_timer.c
  hw/arm_timer.c
  hw/armv7m.c
  hw/armv7m.c
  hw/armv7m_nvic.c
  hw/armv7m_nvic.c
hw/max7310.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/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 ==
net/tap-win32.c
hw/ads7846.c
hw/an5206.c
  hw/bitbang_i2c.c
  hw/bitbang_i2c.c
  hw/bonito.c
  hw/bonito.c
hw/ccid-card-emulated.c
hw/ccid-card-passthru.c
  hw/collie.c
  hw/collie.c
  hw/ds1338.c
  hw/ds1338.c
Line 41: Line 125:
  hw/es1370.c
  hw/es1370.c
  hw/event_notifier.c
  hw/event_notifier.c
hw/fmopl.c
  hw/framebuffer.c
  hw/framebuffer.c
  hw/gumstix.c
  hw/gumstix.c
hw/i2c.c
  hw/integratorcp.c
  hw/integratorcp.c
  hw/ivshmem.c
  hw/ivshmem.c
  hw/kvmclock.c
  hw/kvmclock.c
  hw/lan9118.c
  hw/lan9118.c
hw/lsi53c895a.c
  hw/mainstone.c
  hw/mainstone.c
  hw/marvell_88w8618_audio.c
  hw/marvell_88w8618_audio.c
  hw/max111x.c
  hw/max111x.c
hw/max7310.c
  hw/mcf5206.c
  hw/mcf5206.c
  hw/mcf5208.c
  hw/mcf5208.c
Line 60: Line 140:
  hw/mcf_uart.c
  hw/mcf_uart.c
  hw/mips_fulong2e.c
  hw/mips_fulong2e.c
hw/mpcore.c
  hw/msix.c
  hw/msix.c
  hw/mst_fpga.c
  hw/mst_fpga.c
  hw/musicpal.c
  hw/musicpal.c
  hw/nand.c
  hw/nand.c
hw/pc.c
hw/pl011.c
hw/pl022.c
hw/pl050.c
hw/pl061.c
hw/pl080.c
hw/pl110.c
hw/pl181.c
hw/pl190.c
hw/ppc440_bamboo.c
hw/ppc440.c
hw/ptimer.c
hw/pxa2xx.c
hw/pxa2xx_dma.c
hw/pxa2xx_gpio.c
  hw/pxa2xx_keypad.c
  hw/pxa2xx_keypad.c
  hw/pxa2xx_lcd.c
  hw/pxa2xx_lcd.c
  hw/pxa2xx_mmci.c
  hw/pxa2xx_mmci.c
  hw/pxa2xx_pcmcia.c
  hw/pxa2xx_pcmcia.c
hw/pxa2xx_pic.c
hw/pxa2xx_timer.c
hw/realview.c
hw/realview_gic.c
hw/scsi-disk.c
hw/scsi-generic.c
hw/sh_intc.c
hw/sh_timer.c
  hw/smbios.c
  hw/smbios.c
hw/smbus.c
  hw/smc91c111.c
  hw/smc91c111.c
  hw/spitz.c
  hw/spitz.c
hw/ssd0303.c
hw/ssd0323.c
  hw/ssi.c
  hw/ssi.c
  hw/ssi-sd.c
  hw/ssi-sd.c
hw/stellaris.c
hw/stellaris_enet.c
hw/stellaris_input.c
  hw/strongarm.c
  hw/strongarm.c
  hw/tc6393xb.c
  hw/tc6393xb.c
  hw/tosa.c
  hw/tosa.c
hw/usb-ccid.c
hw/usb-msd.c
hw/usb-serial.c
hw/versatilepb.c
hw/versatile_pci.c
  hw/vhost.c
  hw/vhost.c
  hw/vhost_net.c
  hw/vhost_net.c
Line 121: Line 166:
  hw/virtio-serial-bus.c
  hw/virtio-serial-bus.c
  hw/vt82c686.c
  hw/vt82c686.c
hw/wm8750.c
  hw/z2.c
  hw/z2.c
  aio.c
  aio.c
Line 127: Line 171:
  block-migration.c
  block-migration.c
  buffered_file.c
  buffered_file.c
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qstring.c
  compatfd.c
  compatfd.c
device_tree.c
dma-helpers.c
error.c
  hmp.c
  hmp.c
  iov.c
  iov.c
json-lexer.c
json-parser.c
json-streamer.c
kvm-all.c
kvm-stub.c
linux-aio.c
  memory.c
  memory.c
  migration.c
  migration.c
Line 155: Line 184:
  pflib.c
  pflib.c
  posix-aio-compat.c
  posix-aio-compat.c
qbool.c
qdict.c
  qemu-coroutine.c
  qemu-coroutine.c
qemu-error.c
qemu-ga.c
qemu-io.c
qemu-thread-posix.c
qemu-thread-win32.c
  qemu-tool.c
  qemu-tool.c
qerror.c
qfloat.c
qint.c
qjson.c
qlist.c
  qmp.c
  qmp.c
qstring.c
test-coroutine.c
  xen-all.c
  xen-all.c
  xen-mapcache.c
  xen-mapcache.c
  xen-stub.c
  xen-stub.c

Revision as of 13:36, 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.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
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/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

Files under "GPL"

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

hw/a9mpcore.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/max7310.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/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

net/tap-win32.c
hw/ads7846.c
hw/an5206.c
hw/bitbang_i2c.c
hw/bonito.c
hw/collie.c
hw/ds1338.c
hw/dummy_m68k.c
hw/ecc.c
hw/empty_slot.c
hw/es1370.c
hw/event_notifier.c
hw/framebuffer.c
hw/gumstix.c
hw/integratorcp.c
hw/ivshmem.c
hw/kvmclock.c
hw/lan9118.c
hw/mainstone.c
hw/marvell_88w8618_audio.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/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/smc91c111.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-coroutine.c
qemu-tool.c
qmp.c
xen-all.c
xen-mapcache.c
xen-stub.c