qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] QEMU License and proprietary hardware


From: Ronnie Misra
Subject: Re: [Qemu-devel] QEMU License and proprietary hardware
Date: Fri, 22 Jun 2007 10:31:36 -0700

On Jun 22, 2007, at 10:11 AM, Luke -Jr wrote:

On Friday 22 June 2007 11:46, M. Warner Losh wrote:
In message: <address@hidden>
            Luke -Jr <address@hidden> writes:
: On Friday 22 June 2007 11:07, you wrote:
: > > On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
: > > > The GPL only has as much force of law as copyright law gives it, : > > > and in order to be applicable, the work in question must somehow : > > > rely on the GPL'd work. The "somehow" here is an interesting legal
: > > > question that hasn't been well settled.
: > >
: > > And copyright law by default grants you no rights to modify or copy : > > Qemu at all. The ONLY way you can get permission to copy or modify : > > Qemu is to agree to the GPL in its entirety-- which does not restrict : > > itself to merely derivative works, but covers all linking. (note: : > > obvious the copyright holder(s) can make exceptions to this rule)
: >
: > Actually, the GPL does only apply to derived works, and it plainly
: > says so:
: >  The "Program", below, refers to any such program or work, and
: >  a "work based on the Program" means either the Program or any
: >  derivative work under copyright law
: > Linking typically is what makes a derived work, but not necessary. It : > is just the shade of grey that most people use as a rule of thumb.
:
: That's merely the definition of "Program" as used in the
: license. Read all the requirements, not just definitions...

The definition is what is controlling here.  IF it is a derived work
THEN you must do X.  If it is not a derived work, then you may do as
you see fit.  If what you did somehow wasn't a derivative work, then
the there's no legal basis for forcing compliance with a license.
This is exactly what SCO is trying to do right now with its IBM case.

Unless you modify or distribute the work. These acts are illegal without
compliance with the license.

: > If you do not have a derived work, then you can use and distribute : > your work as you see fit, without the GPL restrictions. While the GPL
: > is viral, it is only viral to the extent that the new work is
: > derivative of the GPL'd work. This is why, for example, running my : > proprietary program on a Linux box doesn't mean my proprietary program : > is covered under the GPL. Although it uses the kernel, and in a very
: > real sense the kernel links into the program due to address space
: > mapping for system calls and the like, this isn't enough to make my : > program a derivative work. So it isn't 'black' vs 'white' but more of
: > a 'this shade of grey is more white than black' or vice versa.
:
: The kernel contains exceptions for userland code. If it didn't, you would
: be unable to distribute your program alongside Linux.

Even if it didn't, you would be able to.  Running a program on a
kernel does not create a derivative work.  I believe there is even
case law on this.  IIRC, there were cases with IBM and third parties
providing software for mainframes that settled this, but I don't have
the time to do an Internet search here.

I bet those cases weren't distributing the kernel along with their software,
were they?

It is unclear for the Linux kernel if the 'end run' people do with
loadable modules is a legal way to avoid source distribution. The FSF
doesn't think so.  Linus has said he's cool with it, but absent a
statement from all the copyright holders of code in the Linux kernel,
the issue is at best murky.  It is unclear if the original poster
tried to do a binary-only module with QEMU if he'd be in compliance or
not (since the end user does the actual linking).

It is undisputed that it would be in violation if the kernel was distributed
with the modules. The GPL is clear that mere use (end user) is always
allowed. It is also fairly clear (the opinions of many kernel developers and IP lawyers) that proprietary modules for Linux are illegal to distribute. As with all copyright violations, however, the liability is on the distributor's
end, so the end user is again not liable for the download either.




Definitions/terms of the GPL aside, here's what the QEMU license file says:

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.

In particular, the QEMU virtual CPU core library (libqemu.a) is
released under the GNU Lesser General Public License. Many hardware
device emulation sources are released under the BSD license.

3) QEMU is a trademark of Fabrice Bellard.

If the original poster is able to do what he wants using only the BSD- licensed hardware device emulation and the LGPL-licensed libqemu, I believe that he is free to distribute a *dynamically linked* machine emulator without placing his new code under the GPL. However, he will have to be very careful to only use those parts of QEMU that are explicitly LGPL- or BSD-licensed, and if he modifies any LGPL files, he will have to release any of his changes.

For example, note that every file in the "target-i386" directory is licensed under the LGPL, hw/usb.c is BSD-licensed, but hw/pxa2xx.c is GPL-licensed.

Ronnie




reply via email to

[Prev in Thread] Current Thread [Next in Thread]