tcg/LICENSE: Remove no-longer-true statement that TCG is BSD-licensed
diff mbox series

Message ID 20191021145839.12684-1-peter.maydell@linaro.org
State New
Headers show
Series
  • tcg/LICENSE: Remove no-longer-true statement that TCG is BSD-licensed
Related show

Commit Message

Peter Maydell Oct. 21, 2019, 2:58 p.m. UTC
Since 2008 the tcg/LICENSE file has not changed: it claims that
everything under tcg/ is BSD-licensed.

This is not true and hasn't been true for years: in 2013 we
accepted the tcg/aarch64 target code under a GPLv2-or-later
license statement. We don't really consider the tcg
subdirectory to be a distinct part of QEMU anyway.

Remove the LICENSE file, since claiming false information
about the license of the code is confusing, and update
the main project LICENSE file also to be clearer about
the license used by TCG.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
This patch takes the simple approach of just documenting
the de-facto current reality; does anybody want to argue
for something else? Other possibilities I guess would be
specifically documenting tcg/aarch64 as an accidental
exception to the general licensing rule for tcg/, or even
trying to get it relicensed.

Does having tcg/ be BSD-licensed gain the project anything?
From my point of view I don't really see it as a cleanly
separable module of code -- it's quite tightly integrated
with the rest of QEMU, including code in accel/tcg which
is variously GPL or LGPL.

 LICENSE     | 4 ++--
 tcg/LICENSE | 3 ---
 2 files changed, 2 insertions(+), 5 deletions(-)
 delete mode 100644 tcg/LICENSE

Comments

Paolo Bonzini Oct. 21, 2019, 3:19 p.m. UTC | #1
On 21/10/19 16:58, Peter Maydell wrote:
> Does having tcg/ be BSD-licensed gain the project anything?
> From my point of view I don't really see it as a cleanly
> separable module of code -- it's quite tightly integrated
> with the rest of QEMU, including code in accel/tcg which
> is variously GPL or LGPL.

I think the original idea was to reuse it outside QEMU, for example in
TCC (which is LGPLv2.1+) but that was a while ago.

Paolo
Peter Maydell Oct. 21, 2019, 3:29 p.m. UTC | #2
On Mon, 21 Oct 2019 at 16:19, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 21/10/19 16:58, Peter Maydell wrote:
> > Does having tcg/ be BSD-licensed gain the project anything?
> > From my point of view I don't really see it as a cleanly
> > separable module of code -- it's quite tightly integrated
> > with the rest of QEMU, including code in accel/tcg which
> > is variously GPL or LGPL.
>
> I think the original idea was to reuse it outside QEMU, for example in
> TCC (which is LGPLv2.1+) but that was a while ago.

I just downloaded and had a quick look at TCC and its
current codegen implementation seems to be entirely
unrelated to TCG.

thanks
-- PMM
Richard Henderson Oct. 21, 2019, 3:52 p.m. UTC | #3
On 10/21/19 7:58 AM, Peter Maydell wrote:
> Since 2008 the tcg/LICENSE file has not changed: it claims that
> everything under tcg/ is BSD-licensed.
> 
> This is not true and hasn't been true for years: in 2013 we
> accepted the tcg/aarch64 target code under a GPLv2-or-later
> license statement. We don't really consider the tcg
> subdirectory to be a distinct part of QEMU anyway.
> 
> Remove the LICENSE file, since claiming false information
> about the license of the code is confusing, and update
> the main project LICENSE file also to be clearer about
> the license used by TCG.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This patch takes the simple approach of just documenting
> the de-facto current reality; does anybody want to argue
> for something else? Other possibilities I guess would be
> specifically documenting tcg/aarch64 as an accidental
> exception to the general licensing rule for tcg/, or even
> trying to get it relicensed.
> 
> Does having tcg/ be BSD-licensed gain the project anything?
> From my point of view I don't really see it as a cleanly
> separable module of code -- it's quite tightly integrated
> with the rest of QEMU, including code in accel/tcg which
> is variously GPL or LGPL.

I think this is the best solution.  I've never been convinced that TCG can
usefully be extracted and reused for something else.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
Richard Henderson Oct. 21, 2019, 4:26 p.m. UTC | #4
On 10/21/19 8:52 AM, Richard Henderson wrote:
> On 10/21/19 7:58 AM, Peter Maydell wrote:
>> Since 2008 the tcg/LICENSE file has not changed: it claims that
>> everything under tcg/ is BSD-licensed.
>>
>> This is not true and hasn't been true for years: in 2013 we
>> accepted the tcg/aarch64 target code under a GPLv2-or-later
>> license statement. We don't really consider the tcg
>> subdirectory to be a distinct part of QEMU anyway.
>>
>> Remove the LICENSE file, since claiming false information
>> about the license of the code is confusing, and update
>> the main project LICENSE file also to be clearer about
>> the license used by TCG.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> This patch takes the simple approach of just documenting
>> the de-facto current reality; does anybody want to argue
>> for something else? Other possibilities I guess would be
>> specifically documenting tcg/aarch64 as an accidental
>> exception to the general licensing rule for tcg/, or even
>> trying to get it relicensed.
>>
>> Does having tcg/ be BSD-licensed gain the project anything?
>> From my point of view I don't really see it as a cleanly
>> separable module of code -- it's quite tightly integrated
>> with the rest of QEMU, including code in accel/tcg which
>> is variously GPL or LGPL.
> 
> I think this is the best solution.  I've never been convinced that TCG can
> usefully be extracted and reused for something else.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Queued to tcg-next, as I think there's a couple of other things pending.


r~
Peter Maydell Oct. 21, 2019, 4:27 p.m. UTC | #5
On Mon, 21 Oct 2019 at 17:26, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 10/21/19 8:52 AM, Richard Henderson wrote:
> > On 10/21/19 7:58 AM, Peter Maydell wrote:
> >> Since 2008 the tcg/LICENSE file has not changed: it claims that
> >> everything under tcg/ is BSD-licensed.
> >>
> >> This is not true and hasn't been true for years: in 2013 we
> >> accepted the tcg/aarch64 target code under a GPLv2-or-later
> >> license statement. We don't really consider the tcg
> >> subdirectory to be a distinct part of QEMU anyway.
> >>
> >> Remove the LICENSE file, since claiming false information
> >> about the license of the code is confusing, and update
> >> the main project LICENSE file also to be clearer about
> >> the license used by TCG.
> >>
> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> >> ---
> >> This patch takes the simple approach of just documenting
> >> the de-facto current reality; does anybody want to argue
> >> for something else? Other possibilities I guess would be
> >> specifically documenting tcg/aarch64 as an accidental
> >> exception to the general licensing rule for tcg/, or even
> >> trying to get it relicensed.
> >>
> >> Does having tcg/ be BSD-licensed gain the project anything?
> >> From my point of view I don't really see it as a cleanly
> >> separable module of code -- it's quite tightly integrated
> >> with the rest of QEMU, including code in accel/tcg which
> >> is variously GPL or LGPL.
> >
> > I think this is the best solution.  I've never been convinced that TCG can
> > usefully be extracted and reused for something else.
> >
> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> Queued to tcg-next, as I think there's a couple of other things pending.

As a licensing issue, I think it would be better to have it on-list
for review/comment by interested people for a bit longer
than that -- it's not like it really needs to get in before
the softfreeze.

thanks
-- PMM
Peter Maydell Oct. 21, 2019, 4:30 p.m. UTC | #6
On Mon, 21 Oct 2019 at 17:27, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Mon, 21 Oct 2019 at 17:26, Richard Henderson
> <richard.henderson@linaro.org> wrote:
> > Queued to tcg-next, as I think there's a couple of other things pending.
>
> As a licensing issue, I think it would be better to have it on-list
> for review/comment by interested people for a bit longer
> than that -- it's not like it really needs to get in before
> the softfreeze.

It's been pointed out to me also that tcg/*/tcg-target.opc.h
are missing a licence/copyright boilerplate header. Since
we're removing the "tcg/ is all BSD" note we should add
"this file is BSD" to those files at this point.

thanks
-- PMM
Peter Maydell Oct. 21, 2019, 4:36 p.m. UTC | #7
On Mon, 21 Oct 2019 at 15:58, Peter Maydell <peter.maydell@linaro.org> wrote:
> Since 2008 the tcg/LICENSE file has not changed: it claims that
> everything under tcg/ is BSD-licensed.
>
> This is not true and hasn't been true for years: in 2013 we
> accepted the tcg/aarch64 target code under a GPLv2-or-later
> license statement. We don't really consider the tcg
> subdirectory to be a distinct part of QEMU anyway.

This commit message misses the other not-BSD bits of code in tcg/:
tcg/tci.c is GPL-2-or-later
tcg/tcg-gvec-desc.h, tcg/tcg-op-gvec.[ch], tcg-op-vec.c are LGPL2.1-or-later

Horse has clearly bolted further from the stable than
I had first thought.

thanks
-- PMM
Daniel P. Berrangé Oct. 21, 2019, 4:46 p.m. UTC | #8
On Mon, Oct 21, 2019 at 05:36:49PM +0100, Peter Maydell wrote:
> On Mon, 21 Oct 2019 at 15:58, Peter Maydell <peter.maydell@linaro.org> wrote:
> > Since 2008 the tcg/LICENSE file has not changed: it claims that
> > everything under tcg/ is BSD-licensed.
> >
> > This is not true and hasn't been true for years: in 2013 we
> > accepted the tcg/aarch64 target code under a GPLv2-or-later
> > license statement. We don't really consider the tcg
> > subdirectory to be a distinct part of QEMU anyway.
> 
> This commit message misses the other not-BSD bits of code in tcg/:
> tcg/tci.c is GPL-2-or-later
> tcg/tcg-gvec-desc.h, tcg/tcg-op-gvec.[ch], tcg-op-vec.c are LGPL2.1-or-later
> 
> Horse has clearly bolted further from the stable than
> I had first thought.

No matter what text we put in the top LICENSE file is always going to be
rather vague because of the many different licenses scattered across the
codebase.

We really ought to make an effort to add SPDX tags to every file in the
source tree & have checkpatch.pl enforce that all new files come with
SPDX tags too. Identifying licenses for code then becomes a trivial grep.

NB, I'm only suggesting add SPDX /in addition/ to the current license
boilerplate, as removing existing boilerplate license text from a file
can only be done by agreement with the copyright holder(s).

Regards,
Daniel
Peter Maydell Oct. 21, 2019, 4:55 p.m. UTC | #9
On Mon, 21 Oct 2019 at 17:46, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Mon, Oct 21, 2019 at 05:36:49PM +0100, Peter Maydell wrote:
> > On Mon, 21 Oct 2019 at 15:58, Peter Maydell <peter.maydell@linaro.org> wrote:
> > > Since 2008 the tcg/LICENSE file has not changed: it claims that
> > > everything under tcg/ is BSD-licensed.
> > >
> > > This is not true and hasn't been true for years: in 2013 we
> > > accepted the tcg/aarch64 target code under a GPLv2-or-later
> > > license statement. We don't really consider the tcg
> > > subdirectory to be a distinct part of QEMU anyway.
> >
> > This commit message misses the other not-BSD bits of code in tcg/:
> > tcg/tci.c is GPL-2-or-later
> > tcg/tcg-gvec-desc.h, tcg/tcg-op-gvec.[ch], tcg-op-vec.c are LGPL2.1-or-later
> >
> > Horse has clearly bolted further from the stable than
> > I had first thought.
>
> No matter what text we put in the top LICENSE file is always going to be
> rather vague because of the many different licenses scattered across the
> codebase.

There's two parts to this:
 (1) is what we say in LICENSE what we actually have in practice?
 (answer: clearly "no")
 (2) as a policy, do we want to be stricter about the license
 for code contributed to tcg/ than to the rest of the codebase?
 (which is what this patch is trying to flush out answers to)

> We really ought to make an effort to add SPDX tags to every file in the
> source tree & have checkpatch.pl enforce that all new files come with
> SPDX tags too. Identifying licenses for code then becomes a trivial grep.

My take on SPDX is still the same as it was last year:
https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg04151.html

thanks
-- PMM
Paolo Bonzini Oct. 21, 2019, 5:09 p.m. UTC | #10
On 21/10/19 18:55, Peter Maydell wrote:
> There's two parts to this:
>  (1) is what we say in LICENSE what we actually have in practice?
>  (answer: clearly "no")
>  (2) as a policy, do we want to be stricter about the license
>  for code contributed to tcg/ than to the rest of the codebase?
>  (which is what this patch is trying to flush out answers to)
> 

... and from these points of view, your patch is definitely an improvement.

Paolo
Laszlo Ersek Oct. 21, 2019, 5:57 p.m. UTC | #11
(+Ard, Alex)

On 10/21/19 17:52, Richard Henderson wrote:
> On 10/21/19 7:58 AM, Peter Maydell wrote:
>> Since 2008 the tcg/LICENSE file has not changed: it claims that
>> everything under tcg/ is BSD-licensed.
>>
>> This is not true and hasn't been true for years: in 2013 we
>> accepted the tcg/aarch64 target code under a GPLv2-or-later
>> license statement. We don't really consider the tcg
>> subdirectory to be a distinct part of QEMU anyway.
>>
>> Remove the LICENSE file, since claiming false information
>> about the license of the code is confusing, and update
>> the main project LICENSE file also to be clearer about
>> the license used by TCG.
>>
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>> This patch takes the simple approach of just documenting
>> the de-facto current reality; does anybody want to argue
>> for something else? Other possibilities I guess would be
>> specifically documenting tcg/aarch64 as an accidental
>> exception to the general licensing rule for tcg/, or even
>> trying to get it relicensed.
>>
>> Does having tcg/ be BSD-licensed gain the project anything?
>> From my point of view I don't really see it as a cleanly
>> separable module of code -- it's quite tightly integrated
>> with the rest of QEMU, including code in accel/tcg which
>> is variously GPL or LGPL.
> 
> I think this is the best solution.  I've never been convinced that TCG can
> usefully be extracted and reused for something else.

Side comment:

Ard and Alex extracted TCG to run x86 PCIe UEFI option ROMs on aarch64
hardware.

https://github.com/ardbiesheuvel/X86EmulatorPkg
https://kvmforum2017.sched.com/event/Bo0S/qemu-in-uefi-alexander-graf-suse
https://www.youtube.com/watch?v=uxvAH1Q4Mx0

If I remember correctly, they specifically picked a git commit hash that
was still purely BSD licensed.

FWIW,
<https://github.com/ardbiesheuvel/X86EmulatorPkg/blob/master/LICENSE> is
not any BSD license, so I'm almost surely out of date on that aspect;
just wanted to confirm that TCG has been usefully extracted.

Thanks,
Laszlo

> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> 
> 
> r~
>
Ard Biesheuvel Oct. 21, 2019, 7:52 p.m. UTC | #12
On Mon, 21 Oct 2019 at 19:57, Laszlo Ersek <lersek@redhat.com> wrote:
>
> (+Ard, Alex)
>
> On 10/21/19 17:52, Richard Henderson wrote:
> > On 10/21/19 7:58 AM, Peter Maydell wrote:
> >> Since 2008 the tcg/LICENSE file has not changed: it claims that
> >> everything under tcg/ is BSD-licensed.
> >>
> >> This is not true and hasn't been true for years: in 2013 we
> >> accepted the tcg/aarch64 target code under a GPLv2-or-later
> >> license statement. We don't really consider the tcg
> >> subdirectory to be a distinct part of QEMU anyway.
> >>
> >> Remove the LICENSE file, since claiming false information
> >> about the license of the code is confusing, and update
> >> the main project LICENSE file also to be clearer about
> >> the license used by TCG.
> >>
> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> >> ---
> >> This patch takes the simple approach of just documenting
> >> the de-facto current reality; does anybody want to argue
> >> for something else? Other possibilities I guess would be
> >> specifically documenting tcg/aarch64 as an accidental
> >> exception to the general licensing rule for tcg/, or even
> >> trying to get it relicensed.
> >>
> >> Does having tcg/ be BSD-licensed gain the project anything?
> >> From my point of view I don't really see it as a cleanly
> >> separable module of code -- it's quite tightly integrated
> >> with the rest of QEMU, including code in accel/tcg which
> >> is variously GPL or LGPL.
> >
> > I think this is the best solution.  I've never been convinced that TCG can
> > usefully be extracted and reused for something else.
>
> Side comment:
>
> Ard and Alex extracted TCG to run x86 PCIe UEFI option ROMs on aarch64
> hardware.
>
> https://github.com/ardbiesheuvel/X86EmulatorPkg
> https://kvmforum2017.sched.com/event/Bo0S/qemu-in-uefi-alexander-graf-suse
> https://www.youtube.com/watch?v=uxvAH1Q4Mx0
>
> If I remember correctly, they specifically picked a git commit hash that
> was still purely BSD licensed.
>
> FWIW,
> <https://github.com/ardbiesheuvel/X86EmulatorPkg/blob/master/LICENSE> is
> not any BSD license, so I'm almost surely out of date on that aspect;
> just wanted to confirm that TCG has been usefully extracted.
>

This commit has the background info
https://github.com/ardbiesheuvel/X86EmulatorPkg/commit/552c44d2cbc778f3e53d6d3985a8787c7df99733
Ard Biesheuvel Oct. 22, 2019, 5:21 a.m. UTC | #13
(uses Alex's working email address)

On Mon, 21 Oct 2019 at 21:52, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>
> On Mon, 21 Oct 2019 at 19:57, Laszlo Ersek <lersek@redhat.com> wrote:
> >
> > (+Ard, Alex)
> >
> > On 10/21/19 17:52, Richard Henderson wrote:
> > > On 10/21/19 7:58 AM, Peter Maydell wrote:
> > >> Since 2008 the tcg/LICENSE file has not changed: it claims that
> > >> everything under tcg/ is BSD-licensed.
> > >>
> > >> This is not true and hasn't been true for years: in 2013 we
> > >> accepted the tcg/aarch64 target code under a GPLv2-or-later
> > >> license statement. We don't really consider the tcg
> > >> subdirectory to be a distinct part of QEMU anyway.
> > >>
> > >> Remove the LICENSE file, since claiming false information
> > >> about the license of the code is confusing, and update
> > >> the main project LICENSE file also to be clearer about
> > >> the license used by TCG.
> > >>
> > >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> > >> ---
> > >> This patch takes the simple approach of just documenting
> > >> the de-facto current reality; does anybody want to argue
> > >> for something else? Other possibilities I guess would be
> > >> specifically documenting tcg/aarch64 as an accidental
> > >> exception to the general licensing rule for tcg/, or even
> > >> trying to get it relicensed.
> > >>
> > >> Does having tcg/ be BSD-licensed gain the project anything?
> > >> From my point of view I don't really see it as a cleanly
> > >> separable module of code -- it's quite tightly integrated
> > >> with the rest of QEMU, including code in accel/tcg which
> > >> is variously GPL or LGPL.
> > >
> > > I think this is the best solution.  I've never been convinced that TCG can
> > > usefully be extracted and reused for something else.
> >
> > Side comment:
> >
> > Ard and Alex extracted TCG to run x86 PCIe UEFI option ROMs on aarch64
> > hardware.
> >
> > https://github.com/ardbiesheuvel/X86EmulatorPkg
> > https://kvmforum2017.sched.com/event/Bo0S/qemu-in-uefi-alexander-graf-suse
> > https://www.youtube.com/watch?v=uxvAH1Q4Mx0
> >
> > If I remember correctly, they specifically picked a git commit hash that
> > was still purely BSD licensed.
> >
> > FWIW,
> > <https://github.com/ardbiesheuvel/X86EmulatorPkg/blob/master/LICENSE> is
> > not any BSD license, so I'm almost surely out of date on that aspect;
> > just wanted to confirm that TCG has been usefully extracted.
> >
>
> This commit has the background info
> https://github.com/ardbiesheuvel/X86EmulatorPkg/commit/552c44d2cbc778f3e53d6d3985a8787c7df99733

Patch
diff mbox series

diff --git a/LICENSE b/LICENSE
index 9389ba614f8..e916360844f 100644
--- a/LICENSE
+++ b/LICENSE
@@ -18,8 +18,8 @@  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).
+3) The Tiny Code Generator (TCG) is mostly under the BSD license;
+   but some parts may be GPLv2 (see license headers in files).
 
 4) QEMU is a trademark of Fabrice Bellard.
 
diff --git a/tcg/LICENSE b/tcg/LICENSE
deleted file mode 100644
index be817fa1625..00000000000
--- a/tcg/LICENSE
+++ /dev/null
@@ -1,3 +0,0 @@ 
-All the files in this directory and subdirectories are released under
-a BSD like license (see header in each file). No other license is
-accepted.