All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Alistair Francis <Alistair.Francis@wdc.com>,
	"qemu-riscv\@nongnu.org" <qemu-riscv@nongnu.org>,
	Jeff Cody <codyprime@gmail.com>,
	"palmer\@sifive.com" <palmer@sifive.com>,
	"qemu-devel\@nongnu.org" <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"bmeng.cn\@gmail.com" <bmeng.cn@gmail.com>
Subject: Re: [Qemu-riscv] [Qemu-devel] [PULL 33/34] roms: Add OpenSBI version 0.3
Date: Tue, 02 Jul 2019 06:12:38 +0200	[thread overview]
Message-ID: <87a7dxqdl5.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <CAFEAcA_-h6b_f1fuWh7NkGo+FT0xSyCDXgd3b4pwEvNDN8HcJw@mail.gmail.com> (Peter Maydell's message of "Mon, 1 Jul 2019 19:01:12 +0100")

Peter Maydell <peter.maydell@linaro.org> writes:

> On Mon, 1 Jul 2019 at 18:50, Alistair Francis <Alistair.Francis@wdc.com> wrote:
>>
>> On Mon, 2019-07-01 at 17:54 +0100, Peter Maydell wrote:
>> > On Thu, 27 Jun 2019 at 16:24, Palmer Dabbelt <palmer@sifive.com>
>> > wrote:
>> > > From: Alistair Francis <alistair.francis@wdc.com>
>> > >
>> > > Add OpenSBI version 0.3 as a git submodule and as a prebult binary.
>> > >
>> > > Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>> > > Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
>> > > Tested-by: Bin Meng <bmeng.cn@gmail.com>
>> > > Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
>> > > ---
>> > >  .gitmodules                                  |   3 ++
>> > >  Makefile                                     |   5 +-
>> > >  pc-bios/opensbi-riscv32-virt-fw_jump.bin     | Bin 0 -> 28848
>> > > bytes
>> > >  pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin | Bin 0 -> 28904
>> > > bytes
>> > >  pc-bios/opensbi-riscv64-virt-fw_jump.bin     | Bin 0 -> 28904
>> > > bytes
>> > >  roms/Makefile                                |  48 ++++++++++++++-
>> > > ----
>> > >  roms/opensbi                                 |   1 +
>> > >  7 files changed, 44 insertions(+), 13 deletions(-)
>> > >  create mode 100644 pc-bios/opensbi-riscv32-virt-fw_jump.bin
>> > >  create mode 100644 pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
>> > >  create mode 100644 pc-bios/opensbi-riscv64-virt-fw_jump.bin
>> > >  create mode 160000 roms/opensbi
>> > >
>> > > diff --git a/.gitmodules b/.gitmodules
>> > > index 2857eec76377..7a10e72e09cd 100644
>> > > --- a/.gitmodules
>> > > +++ b/.gitmodules
>> > > @@ -55,3 +55,6 @@
>> > >  [submodule "slirp"]
>> > >         path = slirp
>> > >         url = https://git.qemu.org/git/libslirp.git
>> > > +[submodule "roms/opensbi"]
>> > > +       path = roms/opensbi
>> > > +       url = https://github.com/riscv/opensbi.git
>> >
>> > It would be nice to state the license for new blobs we're
>> > adding to the source tree... In particular, I find the
>> > readme at https://github.com/riscv/opensbi a bit confusing
>> > because it says it's 2-BSD but also that some parts are Apache-2.0;
>> > the latter is *not* GPL-2.0 compatible. That makes it not completely
>> > obvious to me that we can ship this with QEMU.
>>
>> Ah, I didn't realise there is Apache-2.0 code in there.
>>
>> In this case all of the code we are using (we aren't using the Kendryte
>> code with QEMU) is BSD-2-Clause. Even then though does it matter if it
>> is GPL compatible? This isn't being linked with QEMU it is just being
>> included with QEMU.
>
> Yeah, if we're not building the apache-2.0 parts then I think
> we're OK, and as you say there's the question of whether QEMU's
> GPL affects what we ship as mere bios blobs to run as guest
> code anyway. But it's sufficiently not a "really obviously ok"
> that I'd like a second opinion; cc'd some people who might have
> second opinions.

You need an expert opinion.

My non-expert opinion: we can't distribute anything that's not
compatible with GPLv2, at least as long as LICENSE makes the following
claims:

    1) QEMU as a whole is released under the GNU General Public License,
    version 2.

    2) Parts of QEMU have specific licenses which are compatible with the
    GNU General Public License, version 2. Hence each source file contains
    its own licensing information.  Source files with no licensing information
    are released under the GNU General Public License, version 2 or (at your
    option) any later version.

    As of July 2013, contributions under version 2 of the GNU General Public
    License (and no later version) are only accepted for the following files
    or directories: bsd-user/, linux-user/, hw/vfio/, hw/xen/xen_pt*.

    3) The Tiny Code Generator (TCG) is released under the BSD license
       (see license headers in files).

Complicating things further just to distribute a firmware blob would be
a mistake.  Our licensing situation is already complex enough for me to
call it a mistake.

[...]


WARNING: multiple messages have this Message-ID (diff)
From: Markus Armbruster <armbru@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: "qemu-riscv@nongnu.org" <qemu-riscv@nongnu.org>,
	Jeff Cody <codyprime@gmail.com>,
	"palmer@sifive.com" <palmer@sifive.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Alistair Francis <Alistair.Francis@wdc.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"bmeng.cn@gmail.com" <bmeng.cn@gmail.com>
Subject: Re: [Qemu-devel] [PULL 33/34] roms: Add OpenSBI version 0.3
Date: Tue, 02 Jul 2019 06:12:38 +0200	[thread overview]
Message-ID: <87a7dxqdl5.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <CAFEAcA_-h6b_f1fuWh7NkGo+FT0xSyCDXgd3b4pwEvNDN8HcJw@mail.gmail.com> (Peter Maydell's message of "Mon, 1 Jul 2019 19:01:12 +0100")

Peter Maydell <peter.maydell@linaro.org> writes:

> On Mon, 1 Jul 2019 at 18:50, Alistair Francis <Alistair.Francis@wdc.com> wrote:
>>
>> On Mon, 2019-07-01 at 17:54 +0100, Peter Maydell wrote:
>> > On Thu, 27 Jun 2019 at 16:24, Palmer Dabbelt <palmer@sifive.com>
>> > wrote:
>> > > From: Alistair Francis <alistair.francis@wdc.com>
>> > >
>> > > Add OpenSBI version 0.3 as a git submodule and as a prebult binary.
>> > >
>> > > Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>> > > Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
>> > > Tested-by: Bin Meng <bmeng.cn@gmail.com>
>> > > Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
>> > > ---
>> > >  .gitmodules                                  |   3 ++
>> > >  Makefile                                     |   5 +-
>> > >  pc-bios/opensbi-riscv32-virt-fw_jump.bin     | Bin 0 -> 28848
>> > > bytes
>> > >  pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin | Bin 0 -> 28904
>> > > bytes
>> > >  pc-bios/opensbi-riscv64-virt-fw_jump.bin     | Bin 0 -> 28904
>> > > bytes
>> > >  roms/Makefile                                |  48 ++++++++++++++-
>> > > ----
>> > >  roms/opensbi                                 |   1 +
>> > >  7 files changed, 44 insertions(+), 13 deletions(-)
>> > >  create mode 100644 pc-bios/opensbi-riscv32-virt-fw_jump.bin
>> > >  create mode 100644 pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin
>> > >  create mode 100644 pc-bios/opensbi-riscv64-virt-fw_jump.bin
>> > >  create mode 160000 roms/opensbi
>> > >
>> > > diff --git a/.gitmodules b/.gitmodules
>> > > index 2857eec76377..7a10e72e09cd 100644
>> > > --- a/.gitmodules
>> > > +++ b/.gitmodules
>> > > @@ -55,3 +55,6 @@
>> > >  [submodule "slirp"]
>> > >         path = slirp
>> > >         url = https://git.qemu.org/git/libslirp.git
>> > > +[submodule "roms/opensbi"]
>> > > +       path = roms/opensbi
>> > > +       url = https://github.com/riscv/opensbi.git
>> >
>> > It would be nice to state the license for new blobs we're
>> > adding to the source tree... In particular, I find the
>> > readme at https://github.com/riscv/opensbi a bit confusing
>> > because it says it's 2-BSD but also that some parts are Apache-2.0;
>> > the latter is *not* GPL-2.0 compatible. That makes it not completely
>> > obvious to me that we can ship this with QEMU.
>>
>> Ah, I didn't realise there is Apache-2.0 code in there.
>>
>> In this case all of the code we are using (we aren't using the Kendryte
>> code with QEMU) is BSD-2-Clause. Even then though does it matter if it
>> is GPL compatible? This isn't being linked with QEMU it is just being
>> included with QEMU.
>
> Yeah, if we're not building the apache-2.0 parts then I think
> we're OK, and as you say there's the question of whether QEMU's
> GPL affects what we ship as mere bios blobs to run as guest
> code anyway. But it's sufficiently not a "really obviously ok"
> that I'd like a second opinion; cc'd some people who might have
> second opinions.

You need an expert opinion.

My non-expert opinion: we can't distribute anything that's not
compatible with GPLv2, at least as long as LICENSE makes the following
claims:

    1) QEMU as a whole is released under the GNU General Public License,
    version 2.

    2) Parts of QEMU have specific licenses which are compatible with the
    GNU General Public License, version 2. Hence each source file contains
    its own licensing information.  Source files with no licensing information
    are released under the GNU General Public License, version 2 or (at your
    option) any later version.

    As of July 2013, contributions under version 2 of the GNU General Public
    License (and no later version) are only accepted for the following files
    or directories: bsd-user/, linux-user/, hw/vfio/, hw/xen/xen_pt*.

    3) The Tiny Code Generator (TCG) is released under the BSD license
       (see license headers in files).

Complicating things further just to distribute a firmware blob would be
a mistake.  Our licensing situation is already complex enough for me to
call it a mistake.

[...]


  parent reply	other threads:[~2019-07-02  4:13 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-27 15:19 [Qemu-riscv] [PULL] RISC-V Patches for the 4.1 Soft Freeze, Part 2 Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 01/34] target/riscv: Allow setting ISA extensions via CPU props Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 02/34] sifive_prci: Read and write PRCI registers Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 03/34] target/riscv: Fix PMP range boundary address bug Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 04/34] target/riscv: Implement riscv_cpu_unassigned_access Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 05/34] RISC-V: Only Check PMP if MMU translation succeeds Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 06/34] RISC-V: Raise access fault exceptions on PMP violations Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 07/34] RISC-V: Check for the effective memory privilege mode during PMP checks Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 08/34] RISC-V: Check PMP during Page Table Walks Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 09/34] RISC-V: Fix a PMP bug where it succeeds even if PMP entry is off Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 10/34] RISC-V: Fix a PMP check with the correct access size Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 17:44   ` [Qemu-riscv] " Jonathan Behrens
2019-06-27 17:44     ` [Qemu-devel] " Jonathan Behrens
2019-06-27 18:23     ` [Qemu-riscv] [Qemu-devel] " Richard Henderson
2019-06-27 18:23       ` [Qemu-devel] [Qemu-riscv] " Richard Henderson
2019-07-08 12:46       ` [Qemu-riscv] [Qemu-devel] " Palmer Dabbelt
2019-07-08 12:46         ` [Qemu-devel] [Qemu-riscv] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 11/34] riscv: virt: Correct pci "bus-range" encoding Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 12/34] RISC-V: Fix a memory leak when realizing a sifive_e Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 13/34] target/riscv: Restructure deprecatd CPUs Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 14/34] target/riscv: Add the privledge spec version 1.11.0 Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 15/34] target/riscv: Add the mcountinhibit CSR Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 16/34] target/riscv: Set privledge spec 1.11.0 as default Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 17/34] qemu-deprecated.texi: Deprecate the RISC-V privledge spec 1.09.1 Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 18/34] target/riscv: Require either I or E base extension Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 19/34] target/riscv: Remove user version information Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 20/34] target/riscv: Add support for disabling/enabling Counters Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 21/34] RISC-V: Add support for the Zifencei extension Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:19 ` [Qemu-riscv] [PULL 22/34] RISC-V: Add support for the Zicsr extension Palmer Dabbelt
2019-06-27 15:19   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 23/34] RISC-V: Clear load reservations on context switch and SC Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 24/34] RISC-V: Update syscall list for 32-bit support Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 25/34] riscv: virt: Add cpu-topology DT node Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 26/34] disas/riscv: Disassemble reserved compressed encodings as illegal Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 27/34] disas/riscv: Fix `rdinstreth` constraint Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 28/34] riscv: sifive_u: Do not create hard-coded phandles in DT Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 29/34] riscv: sifive_u: Update the plic hart config to support multicore Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 30/34] hw/riscv: Split out the boot functions Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 31/34] hw/riscv: Add support for loading a firmware Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 32/34] hw/riscv: Extend the kernel loading support Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-27 15:20 ` [Qemu-riscv] [PULL 33/34] roms: Add OpenSBI version 0.3 Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt
2019-06-28  9:46   ` [Qemu-riscv] " Jonathan Cameron
2019-06-28  9:46     ` Jonathan Cameron
2019-06-28 16:12     ` [Qemu-riscv] " Alistair Francis
2019-06-28 16:12       ` Alistair Francis
2019-06-28 17:10       ` [Qemu-riscv] " Palmer Dabbelt
2019-06-28 17:10         ` Palmer Dabbelt
2019-07-01 12:40       ` [Qemu-riscv] " Jonathan Cameron
2019-07-01 12:40         ` Jonathan Cameron
2019-07-01 13:23         ` [Qemu-riscv] " Anup Patel
2019-07-01 13:23           ` [Qemu-devel] [Qemu-riscv] " Anup Patel
2019-07-01 16:39           ` [Qemu-riscv] [Qemu-devel] " Alistair Francis
2019-07-01 16:39             ` [Qemu-devel] [Qemu-riscv] " Alistair Francis
2019-07-01 16:54   ` Peter Maydell
2019-07-01 16:54     ` [Qemu-devel] " Peter Maydell
2019-07-01 17:50     ` [Qemu-riscv] " Alistair Francis
2019-07-01 17:50       ` [Qemu-devel] " Alistair Francis
2019-07-01 18:01       ` [Qemu-riscv] " Peter Maydell
2019-07-01 18:01         ` [Qemu-devel] " Peter Maydell
2019-07-01 18:09         ` [Qemu-riscv] " Alistair Francis
2019-07-01 18:09           ` [Qemu-devel] " Alistair Francis
2019-07-01 18:13           ` [Qemu-riscv] " Peter Maydell
2019-07-01 18:13             ` [Qemu-devel] " Peter Maydell
2019-07-01 18:19             ` [Qemu-riscv] " Alistair Francis
2019-07-01 18:19               ` [Qemu-devel] " Alistair Francis
2019-07-02  7:02               ` [Qemu-riscv] " Anup Patel
2019-07-02  7:02                 ` [Qemu-devel] " Anup Patel
2019-07-02  4:12         ` Markus Armbruster [this message]
2019-07-02  4:12           ` [Qemu-devel] " Markus Armbruster
2019-07-02 10:32           ` [Qemu-riscv] " Paolo Bonzini
2019-07-02 10:32             ` Paolo Bonzini
2019-07-02 16:07             ` [Qemu-riscv] " Alistair Francis
2019-07-02 16:07               ` Alistair Francis
2019-07-04 16:00         ` [Qemu-riscv] " Stefan Hajnoczi
2019-07-04 16:00           ` [Qemu-devel] " Stefan Hajnoczi
2019-07-04 19:35           ` [Qemu-riscv] " Alistair Francis
2019-07-04 19:35             ` Alistair Francis
2019-06-27 15:20 ` [Qemu-riscv] [PULL 34/34] hw/riscv: Load OpenSBI as the default firmware Palmer Dabbelt
2019-06-27 15:20   ` [Qemu-devel] " Palmer Dabbelt

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=87a7dxqdl5.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=Alistair.Francis@wdc.com \
    --cc=bmeng.cn@gmail.com \
    --cc=codyprime@gmail.com \
    --cc=palmer@sifive.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=stefanha@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.