On Thu, May 17, 2012 at 11:41 AM, Paolo Bonzini <pbonz...@redhat.com> wrote:
> To help me better understand, what would
>>> be the terminology used for the explanation between what I would call
>>> "source code" licensing, and "project" licensing? Also, where in the code
>>> (or rather what file) can I see this distinction? It seems like something
>>> critical to be aware of, and I'd like to avoid missing something like this
>>> in the future as I give advice on what software we can use.
>
> Roughly speaking, each file has its own license.  So you can take for
> example vl.c or tcg/* and use it in a proprietary program, because those
> are under a non-copyleft license.  You cannot do the same for
> event_notifier.c, because it is released under GPLv2 or later.
>
> For the project to be distributable at all, there has to be a license
> that is compatible with all the others: such a license has to allow all
> restrictions imposed by the other licenses used in the project, and all
> other licenses have to allow all restrictions imposed by such a license.
>  For QEMU this license is the GPLv2.

Strictly speaking it must be GPLv2 with exceptions/restrictions. The code
can not be moved freely between GPL and BSD licensed files.
Why the GPL->BSD move is illegal is obvious.
The BSD->GPL move is not allowed because of the :

" * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software."

clause of the BSD license.

So the result of GPL and BSD intersection must be GPL with some files
licensed under BSD.

>>> If you would help clarify a separate point, I would be grateful. As I
>>> understand it, I am able to modify qemu for my own purposes (like testing
>>> the filesystem integrity inside a backup image by using guestmount to mount
>>> it). How much of that work (source code, principles, explanations, ect) can
>>> I share, and with whom can I share it with?
>
> Principles, explanations can be shared with whoever you want, however
> you want.  Patches are more of a grey area and I suggest you consult a
> (good) lawyer.
>
> Remember that the GPL only becomes relevant once you start distributing
> code.  As long as you share the changes within your company for example
> you are safe.  Here is what the GPL FAQ says:
>
>   Is making and using multiple copies within one organization or
>   company “distribution”? (#InternalDistribution)
>
>   No, in that case the organization is just making the copies for
>   itself. As a consequence, a company or other organization can
>   develop a modified version and install that version through its own
>   facilities, without giving the staff permission to release that
>   modified version to outsiders.
>
>   However, when the organization transfers copies to other
>   organizations or individuals, that is distribution. In particular,
>   providing copies to contractors for use off-site is distribution.
>
> What you suggested with run-time linking sounds like you are adding a
> functionality that is totally useless to the general public.  Those
> people who are able to combine it with the shared library could use it
> as in the above answer without distributing the result.
>
> Morally it's wrong, but a copyright holder cannot stop you on moral
> grounds.  Legally, you should consult a lawyer.  Practically:
>
> - if you go with iSCSI or something like that you would provide the same
> functionality to your customers, keep clear from legal grey areas, and
> the QEMU community probably could not care less.
>
> - if you go with a clean reimplementation under the GPL you would
> provide the same functionality to your customers, keep clear from legal
> grey areas, contribute to QEMU positively, and perhaps get some
> advertising for your product.
>
> Paolo



-- 
Regards,
Artyom Tarasenko

solaris/sparc under qemu blog: http://tyom.blogspot.com/search/label/qemu

Reply via email to