qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Faisal Al-Humaimidi <falhumai96@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: Permissively Licensing the CPU Component
Date: Wed, 19 Feb 2025 10:22:19 +0000	[thread overview]
Message-ID: <Z7Ww25VdhY_eDmof@redhat.com> (raw)
In-Reply-To: <CAMx8kb0zN7CPjuFJatoF+5UBwdLaCA_AJGcxUV8cdBoDd1RBag@mail.gmail.com>

On Wed, Feb 19, 2025 at 01:59:08AM -0800, Faisal Al-Humaimidi wrote:
> Hello QEMU developers,
> 
> I understand from this page, https://wiki.qemu.org/License, that TCG is
> being licensed permissively (BSD license) so it can be integrated as a
> library in other projects, which is great!

Not so fast. Individual source files may be under the BSD license, but
those source files are rarely buildable & usable in isolation. They will
consume APIs in other parts of QEMU which are under the GPL license, and
thus the combined work will be under the GPL per that wiki License page
above.

IOW, if you wanted to takes pieces which are BSD license and use them
exclusively under BSD in a combined work, you would need to re-implement
any other code it depends on which was not also BSD licensed. This is
unlikely to be a sensible investment of time IMHO.

>                                             However, I'd like to know if the
> CPU part of QEMU, no peripherals included, is also permissively licensed
> (maybe BSD or some other permissive license such as LGPL, ...etc.)?

Again, QEMU as a whole is under the GPL-v2-only, because the process of
building QEMU into a functional binary pulls together code under many
licenses with GPL-v2-only being the one that sets the overall terms in
QEMU's case. 

> The reason I am asking this question is because projects such as the
> Unicorn Engine would greatly benefit from a permissively licensed CPU
> component so that the project itself (Unicorn Engine) is also released
> under a permissive license, which would be great for people wanting to do
> research with the Unicorn Engine but are tied with proprietary code (e.g.,
> in proprietary university research projects). I have started a discussion
> for that matter with the Unicorn Engine developers in their GitHub page,
> https://github.com/unicorn-engine/unicorn/issues/2114, and it would be
> great to have a feedback regarding this matter from the official QEMU
> developers, whether directly on the issue or a reply to this email and I'd
> relay your response.

Since AFAICT unicorn engine has copied in the entire of the QEMU source
tree, and many of the BSD bits of QEMU will consume other GPL code, I
don't see a possibility to change. Individual source files can be under
a variety of licenses, but the combined work will inevitably be under
the GPL-v2-only.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



      reply	other threads:[~2025-02-19 10:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-19  9:59 Permissively Licensing the CPU Component Faisal Al-Humaimidi
2025-02-19 10:22 ` Daniel P. Berrangé [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z7Ww25VdhY_eDmof@redhat.com \
    --to=berrange@redhat.com \
    --cc=falhumai96@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).