I’m considering offering a professional service to develop QEMU machines. With improved machine and device support in QEMU, people developing embedded software (including bare-metal firmware) would be able to test their hardware-coupled code without the hardware, allowing automation, continuous integration, and other useful stuff.
According to QEMU’s LICENSE file, all contributions to QEMU must be compatible with LGPL 2.1.
I thought LGPL was for libraries. Maybe QEMU distributes header files for people to write plugins? choosealicense.com says
a larger work using the licensed work through interfaces provided by the licensed work may be distributed under different terms and without source code for the larger work.
Does this only apply to the plugin interfaces, or does it apply to other “interfaces”? I don’t think QEMU can copyright the emulated hardware interfaces; that’s functionality, not expression.
Looks to me like QEMU executables do not comply with the requirement to distribute with a copy of the license. If I am right about this, what does it mean?
I want to understand what people must do in these situations:
- Run QEMU on a private CI server. I expect this requires no disclosure of source.
- Ship a consumer hardware product that runs QEMU.
- Ship a hardware emulation SaaS product. QEMU isn’t AGPL, so I expect no disclosure of source.