[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Licensing issues


  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Fri, 22 Jul 2022 14:31:28 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0yx9l+JCziqpt4/8vgwPPTFtZRpxE7WZ6ZYYHa1Jmxg=; b=ELahwZitsamR3Lt8F70lDi/to8/l/TIfFC3lOj/3SeeJGdu1Pz39lS8aW1URAdJPIpBrh4hs8YD4LJzS8jQCmURiUoCU/gppahGc0LOyCfQwXn0rsGtczMqZ2phvpUbVhfLyG0nQ9UsGulmBciDehK/16LWDYP40AUimprkIOfgL8yD+jpV670WZPYY1mP9f1nLMOS7Lh32k5cDgShLeEqU2IN/cbxvel5x4ok0LN3zBumqedSTrSKc4+JaorsKfgkjLKM2H8GnhNb6HUMdxzvDgFka5IM5Gmx3rQE1ckYz48qoIsSJaRpkA9ip/45A/OF1KWlrcWiuzLyDnwOUysg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mgJfpdWkLXesJwvEy87BSbzvusZ5/A9rKRqPNeiwgJ03dv1zT0cpSubdKfH5bCoFYnRaYFIdhiUppkgDkE/+kEXjEDNtjze9bR+GldqxnlmU+/lz34RfFEjAn6un/jUlOEXXRR7oi1mTAOyijmSz9aoEUrN2ct8q1ebFxDIGabwdeEahqjoHxprSZ3TBwZxEK66hvAFOIiLDdRMo97d0ixicqrJ7TjpK2FY6XOhX9ay1AfAXpEHgC/+Jm5Bi7jiPwh7yFYgdjfySLQrtU/4lywym02E6KBTbhX3CyGYzg0mPqFuLTOn7bCGZGm3bcdQa5gR68nYb65ase4VG3elUkA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: George Dunlap <George.Dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Henry Wang <Henry.Wang@xxxxxxx>, Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 22 Jul 2022 14:31:44 +0000
  • Ironport-data: A9a23:j4tbI69GXT+qjrOEpg2bDrUDIX+TJUtcMsCJ2f8bNWPcYEJGY0x3z jFOCGCGO/mLMzChfItzYd60pBkG6MODm9FiHQA4qCo8E34SpcT7XtnIdU2Y0wF+jyHgoOCLy +1EN7Es+ehtFie0Si+Fa+Sn9z8kvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k YqaT/b3ZRn0gFaYDkpOs/jZ8Ew15qyo0N8llgdWic5j7Qe2e0Y9VPrzFYnpR1PkT49dGPKNR uqr5NlVKUuAon/Bovv8+lrKWhViroz6ZGBiuVIPM0SWuTBQpzRa70oOHKF0hXG7Kdm+t4sZJ N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGEkAEE505p9ROJj929 /YlDiJONU2NvrfjqF67YrEEasULCuDOZdpallQ+iDbTALAhXIzJRLjM6ZlAxjAsi8tSHPHYI c0EdT5oaxeGaBpKUrsVIMtmwKH02T+iLHsB9wr9SakfugA/yCRY1rT3PcWTUduNXchPxW6Tp 37c/nS/CRYfXDCa4WXbrij127OS9c/9cKEcEZOSyKFlu1GSxXIoDgdGBEOLuNDs3yZSXPoac ST44BEGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbiy6bDGUZSj9KaPQ9qdQ7Azct0 zehnc7tBDFpmK2YTzSa7Lj8hSipJSEfIGsGZCkFZQgI+d/upMc0lB2nZslnOL64iJvyAz6Y6 zKFti8lnJ0IkNUGka68+DjvqT+2uoLASAJzwwzNR3+k9StwfovjbIutgXD74PBaPcCmR1+Ol HEeno6V6+VmJZSEjimEWugONLCv+feeMTfYjEJvHp8u7DCk8TioeoU43d1lDEJgM8JBdTq3Z kbW4FpV/MUKYyPsarJraYWsDchs1bLnCdnuSvHTaJxJf4R1cwiEuippYCZ8wlzQraTlqolnU b/zTCpmJS9y5XhPpNZue9og7A==
  • Ironport-hdrordr: A9a23:6tZIea8Vh2em/1ULxoJuk+Fvdb1zdoMgy1knxilNoENuH/Bwxv rFoB1E73TJYW4qKQgdcdDpAtjifZtFnaQFqrX5To3SJDUO31HYZr2KjLGSiwEIfheTygcz79 YGT0ETMrzN5DtB/IvHCWuDYrAdKbC8mcjG69s2pE0dLz2CHpsQizuRfTzrd3GeKjMnObMJUL 6nouZXrTupfnoaKu6hAGMeYuTFr9rX0Lr7fB8vHXccmUazpALtzIS/PwmT3x8YXT8K66wl63 L5nwvw4bjmm+2nyyXby3TY4/1t6ZXcI5p4dY2xY/ouW3bRYzWTFcZcsnq5zXUISdSUmRYXeR /30lMd1opImjTslyqO0GDQMkHboUwTAjnZuBOlaDLY0LDErHhRMbs9uatJNhTe8EYup9d6ze ZC2H+YrYNeCVfakD36/MWgbWAcqqOYmwtWrQcotQ0qbaIOLLtK6YAP9kJcF5kNWCr89YA8Ce FrSMXR/uxff1+WZ23Q+jAH+q3kYl0jWhOdBkQSsM2c1DZb2Hh/0ksD3cQa2nMN7og0RZVI7/ nNdq5oiLZNRMkLar8VPpZ2feKnTmjWBR7cOmObJlrqUKkBJnLWspbypK444em7EaZ4vqfaWK 6xI2+wmVRCBX4GU/f+o6Gj2iq9MVmVTHDq1txU4YR/t/n1WKfrWBfzOGwTrw==
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYnde78ZWweQEF5EuUvPBrJgjmBQ==
  • Thread-topic: Licensing issues

I've been cross-checking licensing details, and we have some problems.

1) We install xen/include/public/COPYING into /usr/include/xen/COPYING,
which is not common practice.  The installed file is mostly useless
because it discusses files based on their xen.git paths.

2) We actually use the MIT header for the public interface, but we don't
actually call it by it's common name anywhere.

3) The following files are missing the MIT header:

/usr/include/xen/foreign/x86_32.h
/usr/include/xen/foreign/x86_64.h
/usr/include/xen/foreign/arm32.h
/usr/include/xen/foreign/arm64.h
/usr/include/xen/sys/gntalloc.h
/usr/include/xen/device_tree_defs.h
/usr/include/xen/errno.h

Foreign are autogenerated from headers with MIT licences, so that's an
easy fix.

errno.h was an oversight when we added it.  There's no problem fixing
it, as it is covered by multiple statements elsewhere in the tree.

device_tree_defs.h is problematic.  It came into existence in c/s
1c898a9fec7e4 when some LGPL code was moved out of libxl, and some GPL
code was copied out of Xen.  So there's currently an GPL+LGPL vs MIT
licensing violation.

I have not looked through history, but it's likely that the copyright is
covered by individuals/companies who are still active members of Xen,
and I don't anticipate any problem getting it formally relicensed (it's
just a few constants), but this does need fixing.

sys/gntalloc.h is more complicated.  It's stated as public domain which
is fine for our purposes, but inconsistent with everything else, and we
need to adjust the various files we've got which state that the full
public API is MIT.

But it does raise a different bug.  Why do we have random linux headers
committed in the tree, used by some userspace libraries?

Another error I found while poking around is io/libxenvchan.h.  This is
the interface for the dom->dom vchan shared header so ought to live in
the Xen public headers, but it includes <sys/types.h> for no need,
excluding its use in non-posix usecases.  Also also ought to be fixed
from having a zero length array to a flexible member.


4) I'm going to start putting together some fixes some of this.  Henry:
Relicensing device_tree_defs.h is a release blocker.

I'm also intending to start using SDPX identifiers to save on all the
boilerplate.  They're already used elsewhere.

I'm tempted to put together a check which can run in CI to try and
prevent mistakes like this slipping in again, but it's going to be of
little use until it is used in pre-push testing.

~Andrew

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.