All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PATCH] hax-interface: Add BSD license
  2017-11-16  6:50 [Qemu-devel] [PATCH] hax-interface: Add BSD license yu.ning
@ 2017-11-16  6:47 ` Stefan Weil
  2017-11-16 18:00   ` Eduardo Habkost
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Weil @ 2017-11-16  6:47 UTC (permalink / raw)
  To: yu.ning, qemu-devel
  Cc: Paolo Bonzini, Eduardo Habkost, Yu Ning, Richard Henderson,
	Vincent Palatin

Am 16.11.2017 um 07:50 schrieb yu.ning@linux.intel.com:
> From: Yu Ning <yu.ning@intel.com>
> 
> hax-interface.h defines the interface between the HAXM kernel
> module and the HAXM QEMU accelerator. The same code can be found in
> the following files of the HAXM kernel module:
> 
>  include/hax_interface.h
>  include/vcpu_state.h
>  core/include/vm.h
> 
> These files are now open source under the 3-clause BSD license,
> whereas hax-interface.h in QEMU uses GPLv2.
> 
> Address this inconsistency by adding the BSD license to the QEMU
> file, per Stefan Weil's comment on this HAXM pull request:
> 
>  https://github.com/intel/haxm/pull/2
> 
> Signed-off-by: Yu Ning <yu.ning@intel.com>
> ---
>  target/i386/hax-interface.h | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/target/i386/hax-interface.h b/target/i386/hax-interface.h
> index d141308..9a36c9a 100644
> --- a/target/i386/hax-interface.h
> +++ b/target/i386/hax-interface.h
> @@ -1,4 +1,33 @@
>  /*
> + * Copyright (c) 2011 Intel Corporation
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions are met:
> + *
> + *   1. Redistributions of source code must retain the above copyright notice,
> + *      this list of conditions and the following disclaimer.
> + *
> + *   2. Redistributions in binary form must reproduce the above copyright
> + *      notice, this list of conditions and the following disclaimer in the
> + *      documentation and/or other materials provided with the distribution.
> + *
> + *   3. Neither the name of the copyright holder nor the names of its
> + *      contributors may be used to endorse or promote products derived from
> + *      this software without specific prior written permission.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +/*
>   * QEMU HAXM support
>   *
>   * Copyright (c) 2011 Intel Corporation
> 

Reviewed-by: Stefan Weil <sw@weilnetz.de>

CC'ing Vincent who added the file to the QEMU code base.

Maybe the two licenses in the header could be re-arranged when merging
that commit.

Regards,
Stefan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH] hax-interface: Add BSD license
@ 2017-11-16  6:50 yu.ning
  2017-11-16  6:47 ` Stefan Weil
  0 siblings, 1 reply; 7+ messages in thread
From: yu.ning @ 2017-11-16  6:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: Yu Ning, Paolo Bonzini, Richard Henderson, Eduardo Habkost

From: Yu Ning <yu.ning@intel.com>

hax-interface.h defines the interface between the HAXM kernel
module and the HAXM QEMU accelerator. The same code can be found in
the following files of the HAXM kernel module:

 include/hax_interface.h
 include/vcpu_state.h
 core/include/vm.h

These files are now open source under the 3-clause BSD license,
whereas hax-interface.h in QEMU uses GPLv2.

Address this inconsistency by adding the BSD license to the QEMU
file, per Stefan Weil's comment on this HAXM pull request:

 https://github.com/intel/haxm/pull/2

Signed-off-by: Yu Ning <yu.ning@intel.com>
---
 target/i386/hax-interface.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/target/i386/hax-interface.h b/target/i386/hax-interface.h
index d141308..9a36c9a 100644
--- a/target/i386/hax-interface.h
+++ b/target/i386/hax-interface.h
@@ -1,4 +1,33 @@
 /*
+ * Copyright (c) 2011 Intel Corporation
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *   1. Redistributions of source code must retain the above copyright notice,
+ *      this list of conditions and the following disclaimer.
+ *
+ *   2. Redistributions in binary form must reproduce the above copyright
+ *      notice, this list of conditions and the following disclaimer in the
+ *      documentation and/or other materials provided with the distribution.
+ *
+ *   3. Neither the name of the copyright holder nor the names of its
+ *      contributors may be used to endorse or promote products derived from
+ *      this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
  * QEMU HAXM support
  *
  * Copyright (c) 2011 Intel Corporation
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH] hax-interface: Add BSD license
  2017-11-16  6:47 ` Stefan Weil
@ 2017-11-16 18:00   ` Eduardo Habkost
  2017-11-17  9:03     ` Yu Ning
  0 siblings, 1 reply; 7+ messages in thread
From: Eduardo Habkost @ 2017-11-16 18:00 UTC (permalink / raw)
  To: Stefan Weil
  Cc: yu.ning, qemu-devel, Paolo Bonzini, Yu Ning, Richard Henderson,
	Vincent Palatin

On Thu, Nov 16, 2017 at 07:47:44AM +0100, Stefan Weil wrote:
> Am 16.11.2017 um 07:50 schrieb yu.ning@linux.intel.com:
> > From: Yu Ning <yu.ning@intel.com>
> > 
> > hax-interface.h defines the interface between the HAXM kernel
> > module and the HAXM QEMU accelerator. The same code can be found in
> > the following files of the HAXM kernel module:
> > 
> >  include/hax_interface.h
> >  include/vcpu_state.h
> >  core/include/vm.h
> > 
> > These files are now open source under the 3-clause BSD license,
> > whereas hax-interface.h in QEMU uses GPLv2.

Why is this a problem?


> > 
> > Address this inconsistency by adding the BSD license to the QEMU
> > file, per Stefan Weil's comment on this HAXM pull request:
> > 
> >  https://github.com/intel/haxm/pull/2

The existing code on qemu.git don't match the code on the GitHub
repository above exactly, and its copyright history looks hard to
track[1].  If we really care about consistency between the two
projects, shouldn't we just delete the existing file and copy the
headers from github.com/intel/haxm directly?


[1] https://github.com/qemu/qemu/commit/47c1c8c12f6c8b3c6e0da7bbd93fd4e1724cf114
    https://android.googlesource.com/platform/external/qemu-android/+/2b3098ff27bab079caab9b46b58546b5036f5c0c/target-i386/hax-interface.h

Also, does it even make sense to keep the two licenses in the
file?


> > 
> > Signed-off-by: Yu Ning <yu.ning@intel.com>
> > ---
> >  target/i386/hax-interface.h | 29 +++++++++++++++++++++++++++++
> >  1 file changed, 29 insertions(+)
> > 
> > diff --git a/target/i386/hax-interface.h b/target/i386/hax-interface.h
> > index d141308..9a36c9a 100644
> > --- a/target/i386/hax-interface.h
> > +++ b/target/i386/hax-interface.h
> > @@ -1,4 +1,33 @@
> >  /*
> > + * Copyright (c) 2011 Intel Corporation
> > + *
> > + * Redistribution and use in source and binary forms, with or without
> > + * modification, are permitted provided that the following conditions are met:
> > + *
> > + *   1. Redistributions of source code must retain the above copyright notice,
> > + *      this list of conditions and the following disclaimer.
> > + *
> > + *   2. Redistributions in binary form must reproduce the above copyright
> > + *      notice, this list of conditions and the following disclaimer in the
> > + *      documentation and/or other materials provided with the distribution.
> > + *
> > + *   3. Neither the name of the copyright holder nor the names of its
> > + *      contributors may be used to endorse or promote products derived from
> > + *      this software without specific prior written permission.
> > + *
> > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
> > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
> > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> > + * POSSIBILITY OF SUCH DAMAGE.
> > + */
> > +/*
> >   * QEMU HAXM support
> >   *
> >   * Copyright (c) 2011 Intel Corporation
> > 
> 
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
> 
> CC'ing Vincent who added the file to the QEMU code base.
> 
> Maybe the two licenses in the header could be re-arranged when merging
> that commit.

-- 
Eduardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH] hax-interface: Add BSD license
  2017-11-16 18:00   ` Eduardo Habkost
@ 2017-11-17  9:03     ` Yu Ning
  2017-11-19 21:31       ` Eduardo Habkost
  0 siblings, 1 reply; 7+ messages in thread
From: Yu Ning @ 2017-11-17  9:03 UTC (permalink / raw)
  To: Eduardo Habkost, Stefan Weil
  Cc: qemu-devel, Paolo Bonzini, Yu Ning, Richard Henderson, Vincent Palatin



On 11/17/2017 2:00, Eduardo Habkost wrote:
> On Thu, Nov 16, 2017 at 07:47:44AM +0100, Stefan Weil wrote:
>> Am 16.11.2017 um 07:50 schrieb yu.ning@linux.intel.com:
>>> From: Yu Ning <yu.ning@intel.com>
>>>
>>> hax-interface.h defines the interface between the HAXM kernel
>>> module and the HAXM QEMU accelerator. The same code can be found in
>>> the following files of the HAXM kernel module:
>>>
>>>   include/hax_interface.h
>>>   include/vcpu_state.h
>>>   core/include/vm.h
>>>
>>> These files are now open source under the 3-clause BSD license,
>>> whereas hax-interface.h in QEMU uses GPLv2.
> Why is this a problem?

I know very little about licenses.  If this is not a problem, I'm happy 
to just abandon this patch.
>
>>> Address this inconsistency by adding the BSD license to the QEMU
>>> file, per Stefan Weil's comment on this HAXM pull request:
>>>
>>>   https://github.com/intel/haxm/pull/2
> The existing code on qemu.git don't match the code on the GitHub
> repository above exactly, and its copyright history looks hard to
> track[1].

Right. I don't know when the QEMU header (hax-interface.h) first 
appeared, but I think it's probably a derivative of the HAXM ones, which 
date back to no later than June 2011.

> If we really care about consistency between the two
> projects, shouldn't we just delete the existing file and copy the
> headers from github.com/intel/haxm directly?

That's a good solution, but not feasible at the moment, because in the 
HAXM kernel module, a small piece of the interface code currently 
resides in an internal header (core/include/vm.h). Probably we should 
clean up the interface headers on the HAXM side, and then push the 
change to QEMU.

> Also, does it even make sense to keep the two licenses in the
> file?

I don't know the answer.  If it doesn't make sense, I can either remove 
the original GPLv2 license, or abandon this patch and later come back 
with another one implementing the above solution.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH] hax-interface: Add BSD license
  2017-11-17  9:03     ` Yu Ning
@ 2017-11-19 21:31       ` Eduardo Habkost
  2017-11-20  7:17         ` Yu Ning
  0 siblings, 1 reply; 7+ messages in thread
From: Eduardo Habkost @ 2017-11-19 21:31 UTC (permalink / raw)
  To: Yu Ning
  Cc: Stefan Weil, qemu-devel, Paolo Bonzini, Yu Ning,
	Richard Henderson, Vincent Palatin

On Fri, Nov 17, 2017 at 05:03:27PM +0800, Yu Ning wrote:
> On 11/17/2017 2:00, Eduardo Habkost wrote:
> > On Thu, Nov 16, 2017 at 07:47:44AM +0100, Stefan Weil wrote:
> > > Am 16.11.2017 um 07:50 schrieb yu.ning@linux.intel.com:
> > > > From: Yu Ning <yu.ning@intel.com>
> > > > 
> > > > hax-interface.h defines the interface between the HAXM kernel
> > > > module and the HAXM QEMU accelerator. The same code can be found in
> > > > the following files of the HAXM kernel module:
> > > > 
> > > >   include/hax_interface.h
> > > >   include/vcpu_state.h
> > > >   core/include/vm.h
> > > > 
> > > > These files are now open source under the 3-clause BSD license,
> > > > whereas hax-interface.h in QEMU uses GPLv2.
> > Why is this a problem?
> 
> I know very little about licenses.  If this is not a problem, I'm happy to
> just abandon this patch.

As far as I can see, this is not a problem for the QEMU project
at all, as QEMU as a whole is GPLv2.

It would make sense to update the license if we wanted to keep
our header file in sync with some other source tree (e.g. the one
from Intel), but this doesn't seem to be the case here (yet?).


> > 
> > > > Address this inconsistency by adding the BSD license to the QEMU
> > > > file, per Stefan Weil's comment on this HAXM pull request:
> > > > 
> > > >   https://github.com/intel/haxm/pull/2
> > The existing code on qemu.git don't match the code on the GitHub
> > repository above exactly, and its copyright history looks hard to
> > track[1].
> 
> Right. I don't know when the QEMU header (hax-interface.h) first appeared,
> but I think it's probably a derivative of the HAXM ones, which date back to
> no later than June 2011.
> 
> > If we really care about consistency between the two
> > projects, shouldn't we just delete the existing file and copy the
> > headers from github.com/intel/haxm directly?
> 
> That's a good solution, but not feasible at the moment, because in the HAXM
> kernel module, a small piece of the interface code currently resides in an
> internal header (core/include/vm.h). Probably we should clean up the
> interface headers on the HAXM side, and then push the change to QEMU.

This would be nice, so we wouldn't need to maintain a different
header file in QEMU.  Should we open an issue at
https://github.com/intel/haxm?

-- 
Eduardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH] hax-interface: Add BSD license
  2017-11-19 21:31       ` Eduardo Habkost
@ 2017-11-20  7:17         ` Yu Ning
  2017-11-20  7:41           ` Kamil Rytarowski
  0 siblings, 1 reply; 7+ messages in thread
From: Yu Ning @ 2017-11-20  7:17 UTC (permalink / raw)
  To: Eduardo Habkost
  Cc: Stefan Weil, qemu-devel, Paolo Bonzini, Yu Ning,
	Richard Henderson, Vincent Palatin



On 11/20/2017 5:31, Eduardo Habkost wrote:
> On Fri, Nov 17, 2017 at 05:03:27PM +0800, Yu Ning wrote:
>> On 11/17/2017 2:00, Eduardo Habkost wrote:
>>> On Thu, Nov 16, 2017 at 07:47:44AM +0100, Stefan Weil wrote:
>>>> Am 16.11.2017 um 07:50 schrieb yu.ning@linux.intel.com:
>>>>> From: Yu Ning <yu.ning@intel.com>
>>>>>
>>>>> hax-interface.h defines the interface between the HAXM kernel
>>>>> module and the HAXM QEMU accelerator. The same code can be found in
>>>>> the following files of the HAXM kernel module:
>>>>>
>>>>>    include/hax_interface.h
>>>>>    include/vcpu_state.h
>>>>>    core/include/vm.h
>>>>>
>>>>> These files are now open source under the 3-clause BSD license,
>>>>> whereas hax-interface.h in QEMU uses GPLv2.
>>> Why is this a problem?
>> I know very little about licenses.  If this is not a problem, I'm happy to
>> just abandon this patch.
> As far as I can see, this is not a problem for the QEMU project
> at all, as QEMU as a whole is GPLv2.
>
> It would make sense to update the license if we wanted to keep
> our header file in sync with some other source tree (e.g. the one
> from Intel), but this doesn't seem to be the case here (yet?).
>
I see, that makes sense.

>
>>
>>> If we really care about consistency between the two
>>> projects, shouldn't we just delete the existing file and copy the
>>> headers from github.com/intel/haxm directly?
>> That's a good solution, but not feasible at the moment, because in the HAXM
>> kernel module, a small piece of the interface code currently resides in an
>> internal header (core/include/vm.h). Probably we should clean up the
>> interface headers on the HAXM side, and then push the change to QEMU.
> This would be nice, so we wouldn't need to maintain a different
> header file in QEMU.  Should we open an issue at
> https://github.com/intel/haxm?
>
Here: https://github.com/intel/haxm/issues/9

The API headers in the HAXM tree depend on another header, i.e. either 
hax_types_windows.h or hax_types_mac.h, which defines some basic data 
types (uint64_t, etc.) and macros (PACKED, ALIGNED, etc.).  If we want 
to use the same files for QEMU, we'll need to figure out an elegant way 
to provide those definitions.  Any suggestions?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH] hax-interface: Add BSD license
  2017-11-20  7:17         ` Yu Ning
@ 2017-11-20  7:41           ` Kamil Rytarowski
  0 siblings, 0 replies; 7+ messages in thread
From: Kamil Rytarowski @ 2017-11-20  7:41 UTC (permalink / raw)
  To: qemu-devel, Yu Ning

[-- Attachment #1: Type: text/plain, Size: 1564 bytes --]

On 20.11.2017 08:17, Yu Ning wrote:
> 
> 
> On 11/20/2017 5:31, Eduardo Habkost wrote:
>> On Fri, Nov 17, 2017 at 05:03:27PM +0800, Yu Ning wrote:
>>> On 11/17/2017 2:00, Eduardo Habkost wrote:
>>>> On Thu, Nov 16, 2017 at 07:47:44AM +0100, Stefan Weil wrote:
>>>>> Am 16.11.2017 um 07:50 schrieb yu.ning@linux.intel.com:
>>>>>> From: Yu Ning <yu.ning@intel.com>
>>>>>>
>>>>>> hax-interface.h defines the interface between the HAXM kernel
>>>>>> module and the HAXM QEMU accelerator. The same code can be found in
>>>>>> the following files of the HAXM kernel module:
>>>>>>
>>>>>>    include/hax_interface.h
>>>>>>    include/vcpu_state.h
>>>>>>    core/include/vm.h
>>>>>>
>>>>>> These files are now open source under the 3-clause BSD license,
>>>>>> whereas hax-interface.h in QEMU uses GPLv2.
>>>> Why is this a problem?
>>> I know very little about licenses.  If this is not a problem, I'm
>>> happy to
>>> just abandon this patch.
>> As far as I can see, this is not a problem for the QEMU project
>> at all, as QEMU as a whole is GPLv2.
>>
>> It would make sense to update the license if we wanted to keep
>> our header file in sync with some other source tree (e.g. the one
>> from Intel), but this doesn't seem to be the case here (yet?).
>>
> I see, that makes sense.

Please keep the whole HAXM as it is (BSD-3clause) as it makes this piece
of software reusable for !Linux (and non-qemu) usage without licensing wars.

If it will be kept BSD, I might try to integrate it with the NetBSD
base-system at one point.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-11-20  7:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-16  6:50 [Qemu-devel] [PATCH] hax-interface: Add BSD license yu.ning
2017-11-16  6:47 ` Stefan Weil
2017-11-16 18:00   ` Eduardo Habkost
2017-11-17  9:03     ` Yu Ning
2017-11-19 21:31       ` Eduardo Habkost
2017-11-20  7:17         ` Yu Ning
2017-11-20  7:41           ` Kamil Rytarowski

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.