Planning/Relicensing: Difference between revisions

From QEMU
Line 137: Line 137:
== Files without license ==
== Files without license ==


audio/audio_pt_int.c  malc, Stefan Weil
  block/raw.c            (extracted from block/raw-posix.c, which is MIT/BSD)
  block/raw.c            (extracted from block/raw-posix.c, which is MIT/BSD)
                         IBM, Blue Swirl, Red Hat, hch, John Arbuckle, Stefan Weil, Aurelien Jarno, Hervé Poussineau, AMD, Fam Zheng, Frediano Ziglio
                         IBM, Blue Swirl, Red Hat, hch, John Arbuckle, Stefan Weil, Aurelien Jarno, Hervé Poussineau, AMD, Fam Zheng, Frediano Ziglio
 
hw/mipsnet.c          ths, Red Hat, CodeSourcery, Stefan Weil, Hervé Poussineau, Aurelien Jarno, Siemens
hw/mips_r4k.c          ths, ....
hw/qdev-addr.c        Red Hat (Gerd Hoffmann)
hw/qdev-properties.c  Red Hat, IBM, AMD, Google, VALinux (Isaku), Siemens, Kusanagi Kouichi, Stefan Weil
  hw/spapr_hcall.c      IBM, Blue Swirl, SuSE
  hw/spapr_hcall.c      IBM, Blue Swirl, SuSE
  hw/spapr_vty.c        IBM, Red Hat
  hw/spapr_vty.c        IBM, Red Hat
  hw/usb-bus.c          Red Hat, Blue Swirl, Siemens, CodeSource, TeLeMan
hw/tc58128.c          Samuel Tardieu, Blue Swirl, CodeSourcery, IBM
  hw/usb-bus.c          Red Hat, Blue Swirl, Siemens, CodeSourcery, TeLeMan
  hw/usb-desc.c          Red Hat, IBM, Brad Hards
  hw/usb-desc.c          Red Hat, IBM, Brad Hards
 
cursor.c              Red Hat, IBM
qemu-config.c          Red Hat, IBM, SuSE, Blue Swirl, Citrix, Siemens, Kusanagi Kouichi, LLuis Villanova
qemu-sockets.c        Red Hat, IBM, Blue Swirl, Nick Thomas, Vibi Sreenivasan
  */machine.c            (extracted from vl.c, which is MIT/BSD)
  */machine.c            (extracted from vl.c, which is MIT/BSD)



Revision as of 15:17, 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):

block/qed.c
block/qed-check.c
block/qed-cluster.c
block/qed-gencb.c
block/qed.h
block/qed-l2-cache.c
block/qed-table.c
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 (it is debatable whether this requires authorization of the copyright holders). 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:

block/vdi.c
hw/alpha_typhoon.c
hw/ccid-card-passthru.c
hw/empty_slot.c
hw/ppc440_bamboo.c
hw/ppc440.c
hw/usb-ccid.c
blockdev.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 without license

audio/audio_pt_int.c   malc, Stefan Weil
block/raw.c            (extracted from block/raw-posix.c, which is MIT/BSD)
                       IBM, Blue Swirl, Red Hat, hch, John Arbuckle, Stefan Weil, Aurelien Jarno, Hervé Poussineau, AMD, Fam Zheng, Frediano Ziglio

hw/mipsnet.c           ths, Red Hat, CodeSourcery, Stefan Weil, Hervé Poussineau, Aurelien Jarno, Siemens
hw/mips_r4k.c          ths, ....
hw/qdev-addr.c         Red Hat (Gerd Hoffmann)
hw/qdev-properties.c   Red Hat, IBM, AMD, Google, VALinux (Isaku), Siemens, Kusanagi Kouichi, Stefan Weil
hw/spapr_hcall.c       IBM, Blue Swirl, SuSE
hw/spapr_vty.c         IBM, Red Hat
hw/tc58128.c           Samuel Tardieu, Blue Swirl, CodeSourcery, IBM
hw/usb-bus.c           Red Hat, Blue Swirl, Siemens, CodeSourcery, TeLeMan
hw/usb-desc.c          Red Hat, IBM, Brad Hards
cursor.c               Red Hat, IBM
qemu-config.c          Red Hat, IBM, SuSE, Blue Swirl, Citrix, Siemens, Kusanagi Kouichi, LLuis Villanova
qemu-sockets.c         Red Hat, IBM, Blue Swirl, Nick Thomas, Vibi Sreenivasan
*/machine.c            (extracted from vl.c, which is MIT/BSD)

Files Needing Relicensing

Copyright owners already tracked

block/raw-posix-aio.h (header?)  Red Hat, hch
hw/event_notifier.c              Red Hat
hw/msix.c                        Red Hat, Blue Swirl, VALinux (Isaku), SuSE, Siemens, IBM
hw/smbios.c                      Stefan Weil, IBM, Blue Swirl, HP
aio.c                            IBM, Red Hat, SuSE, Nolan Leake, Blue Swirl
block-migration.c                IBM, Blue Swirl, Siemens, Red Hat, malc, NTT (Yoshi), Pierre Riteau, 
buffered_file.c                  IBM, Blue Swirl, Red Hat, Pierre Riteau, malc
compatfd.c                       IBM, Red Hat, AdaCore, SuSE, Siemens
hmp.c                            Red Hat, IBM
iov.c                            Red Hat, SuSE (incl. hw/iov.c)
memory.c                         IBM, Red Hat, Michael Walle, Blue Swirl, Siemens,
migration.c                      IBM, Charles Duffy, Siemens, Red Hat, malc, NTT (Yoshi)
migration-exec.c                 IBM, Charles Duffy, Siemens, Red Hat, malc, Blue Swirl
migration-fd.c                   IBM, Red Hat, Siemens
migration-unix.c                 IBM, Red Hat, Siemens, malc, Blue Swirl
migration-tcp.c                  IBM, Hervé Poussineau, Charles Duffy, Siemens, Red Hat, malc, Stefan Weil, NTT (Yoshi), Blue Swirl
module.c                         IBM, Blue Swirl
notify.c                         IBM, Siemens
pflib.c                          Red Hat, IBM
posix-aio-compat.c               IBM, Blue Swirl, Siemens, malc, Red Hat, hch, Blue Swirl, Kirill Shutemov, Frediano Ziglio
qemu-tool.c                      IBM, CodeSourcery, Stefan Weil, Blue Swirl, Siemens, Red Hat, Frediano Ziglio
qmp.c                            Red Hat, IBM
xen-all.c                        Red Hat, IBM, Citrix, Siemens, Intel
xen-stub.c                       Citrix, Intel

Entirely hosted in git

block/rbd.c
block/sheepdog.c
hw/ac97.c (VirtualBox)           targets using it: x86, MIPS, PPC
hw/acpi.c                        targets using it: x86, MIPS
hw/acpi_piix4.c                  targets using it: x86, MIPS
hw/apm.c                         targets using it: x86, MIPS
hw/bitbang_i2c.c                 targets using it: ARM
hw/bonito.c                      targets using it: MIPS
hw/collie.c                      targets using it: ARM
hw/ds1338.c                      targets using it: ARM
hw/ivshmem.c                     targets using it: x86, PPC
hw/kvmclock.c                    targets using it: x86
hw/lan9118.c                     targets using it: ARM
hw/marvell_88w8618_audio.c       targets using it: ARM
hw/mips_fulong2e.c               targets using it: MIPS
hw/ssi.c                         targets using it: ARM
hw/strongarm.c                   targets using it: ARM
hw/vexpress.c                    targets using it: ARM
hw/vhost.c                       targets using it: x86, PPC
hw/vhost_net.c                   targets using it: x86, PPC
hw/virtio-pci.c       
hw/virtio-serial-bus.c
hw/vt82c686.c                    targets using it: MIPS
hw/z2.c                          targets using it: ARM
xen-mapcache.c                   targets using it: x86

Also, some authors in svn

Need more care, since the author in svn commits is really the committer.

hw/ads7846.c                     targets using it: ARM
hw/ecc.c                         targets using it: ARM, SPARC
hw/framebuffer.c                 targets using it: ARM, LM32
hw/gumstix.c                     targets using it: ARM
hw/mainstone.c                   targets using it: ARM
hw/max111x.c                     targets using it: ARM
hw/mst_fpga.c                    targets using it: ARM
hw/musicpal.c                    targets using it: ARM
hw/nand.c                        targets using it: ARM, CRIS
hw/pl031.c                       targets using it: ARM
hw/pxa2xx_keypad.c               targets using it: ARM
hw/pxa2xx_lcd.c                  targets using it: ARM
hw/pxa2xx_mmci.c                 targets using it: ARM
hw/pxa2xx_pcmcia.c               targets using it: ARM
hw/spitz.c                       targets using it: ARM
hw/ssi-sd.c                      targets using it: ARM
hw/tc6393xb.c                    targets using it: ARM
hw/tosa.c                        targets using it: ARM
hw/virtio-balloon.c
hw/virtio-blk.c
hw/virtio.c
hw/virtio-console.c
hw/virtio-net.c
hw/xen_backend.c
hw/xen_devconfig.c
hw/xen_disk.c
hw/xen_domainbuild.c
hw/xen_nic.c