XenServer

XenServer Open Source Licensing and Attribution

The XenServer product is a compilation of software packages. Each package is governed by its own license. The complete licensing terms applicable to a given package can be found in the source RPM of the package, unless the package is covered by a proprietary license which does not permit source redistribution, in which case no source RPM is made available.

The XenServer distribution contains content from CentOS Linux and CentOS Stream. Where the CentOS Project holds any copyright in the packages making up the CentOS Linux or CentOS Stream distributions, that copyright is licensed under the GPLv2 license unless otherwise noted. For more information, see https://www.centos.org/legal/licensing-policy/.

Extracting attribution and licensing information on an installed XenServer host

This article provides a method to extract the licensing information from all RPM packages included in your XenServer installation.

Get overview information

To list all RPMs and their licenses:

  1. Connect to your XenServer host console by SSH or through XenCenter.
  2. At the console command line, run the following command:

    rpm -qa --qf '%{name}-%{version}: %{license}\n'
    

    This command lists all installed components and the licenses they are distributed under. The output is of the following form:

    readline-6.2: GPLv3+
    gnupg2-2.0.22: GPLv3+
    libdb-5.3.21: BSD and LGPLv2 and Sleepycat
    rpm-python-4.11.3: GPLv2+
    sqlite-3.7.17: Public Domain
    qrencode-libs-3.4.1: LGPLv2+
    libselinux-2.5: Public Domain
    ustr-1.0.4: MIT or LGPLv2+ or BSD
    gdbm-1.10: GPLv3+
    procps-ng-3.3.10: GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+
    p11-kit-trust-0.23.5: BSD
    device-mapper-libs-1.02.149: LGPLv2
    xenserver-release-8.2.50: GPLv2
    elfutils-libs-0.170: GPLv2+ or LGPLv3+
    xz-libs-5.2.2: LGPLv2+
    dbus-1.10.24: (GPLv2+ or AFL) and GPLv2+
    elfutils-libelf-0.170: GPLv2+ or LGPLv3+
    systemd-sysv-219: LGPLv2+
    jemalloc-3.6.0: BSD
    <!--NeedCopy-->
    

Get detailed information

To obtain a more complete list of information about each installed component:

  1. Connect to your XenServer host console by SSH or through XenCenter.
  2. At the console command line, run the following command:

    rpm -qai | sed '/^Name /i\\n'
    

    The output is of the following form:

    Name: host-upgrade-plugin
    Version     : 2.2.6
    Release     : 1.xs8
    Architecture: noarch
    Install Date: Wed 23 Aug 2023 01:54:25 PM UTC
    Group: Unspecified
    Size: 101626
    License     : GPL
    Signature   : RSA/SHA256, Tue 30 May 2023 10:01:44 AM UTC, Key ID 5259d0b0f6529a4e
    Source RPM  : host-upgrade-plugin-2.2.6-1.xs8.src.rpm
    Build Date  : Fri 26 May 2023 03:05:49 AM UTC
    Build Host  : cf27e1dd25c54cbb8cef79726ed2bf2c
    Relocations : (not relocatable)
    Packager    : Koji
    Vendor      : Cloud Software Group, Inc.
    Summary     : Host upgrade plugin
    Description :
    Host upgrade plugin.
    
    Name        : m4
    Version     : 1.4.16
    Release     : 10.el7
    Architecture: x86_64
    Install Date: Wed 23 Aug 2023 01:52:31 PM UTC
    Group       : Applications/Text
    Size        : 525707
    License     : GPLv3+
    Signature   : RSA/SHA256, Tue 09 May 2023 02:53:25 PM UTC, Key ID 5259d0b0f6529a4e
    Source RPM  : m4-1.4.16-10.el7.src.rpm
    Build Date  : Fri 20 Nov 2015 07:28:07 AM UTC
    Build Host  : worker1.bsys.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem <http://bugs.centos.org>
    Vendor      : CentOS
    URL         : http://www.gnu.org/software/m4/
    Summary     : The GNU macro processor
    Description :
    A GNU implementation of the traditional UNIX macro processor.  M4 is
    useful for writing text files which can be logically parsed, and is used
    by many programs as part of their build process.  M4 has built-in
    functions for including files, running shell commands, doing arithmetic,
    etc.  The autoconf program needs m4 for generating configure scripts, but
    not for running configure scripts.
    <!--NeedCopy-->
    

Multiple licenses

Some components in the XenServer product contain multiple licenses. For example, procps-ng-3.3.10contains the following parts:

  • some parts which are licensed with the original GPL (or any later version)
  • some parts which are licensed with the GPL version 2 (only)
  • some parts which are licensed with the GPL version 2 (or any later version)
  • some parts which are licensed with the GPL version 3 (or any later version)
  • some parts which are licensed with the LGPL version 2 (or any later version)

In this case, inspect the documentation in /usr/share/doc/procps-ng-3.3.10 for further information or, if necessary, the corresponding source RPM.

Get more information

In most cases, further information about each component and full license text is installed in either /usr/share/doc/ or /usr/share/licenses.

For example, you can find more information about the component jemalloc-3.6.0 by running the following command:

ls -l /usr/share/doc/jemalloc-3.6.0/

total 120
-rw-r--r--. 1 root root   1703 Mar 31  2014 COPYING
-rw-r--r--. 1 root root 109739 Mar 31  2014 jemalloc.html
-rw-r--r--. 1 root root   1084 Mar 31  2014 README
-rw-r--r--. 1 root root     50 Mar 31  2014 VERSION

However, for some components distributed by CentOS, the license text is not installed in the XenServer product. To view the license text for these components, you can look inside the source RPMs.

Download the source RPMS

We make the source RPMs for the XenServer host available in the following locations:

  • For the base ISOs that are periodically released, source files are provided on the XenServer download page.
  • For updates, the source files are uploaded to a CDN alongside the product RPMs. To download the source files, complete the following steps:

    1. Log in to the console of the pool coordinator host.

    2. Get the UUIDs of the repositories in use by the pool, by running the following command:

      xe pool-param-get param-name=repositories uuid=<POOL_UUID>
      
    3. Check if a proxy is configured and get its URL, by running the following command:

      xe pool-param-get param-name=repository-proxy-url uuid=<POOL_UUID>
      

      You cannot use these steps to download the source files through a proxy that has a user name and password configured.

    4. If a proxy is configured, in yum configure the proxy for the repositories, by running the following command for each repository:

      yum-config-manager --save --setopt=remote-<REPO_UUID>-source.proxy=<PROXY_URL>
      
    5. To download the source RPM of a package, run the following command:

      yumdownloader --disablerepo=* --enablerepo=remote-<REPO_UUID_0>-source,remote-<REPO_UUID_1>-source --source <PKG_NAME>
      

The name of the source file for a specific component is given by the value of “Source RPM” in the detailed information output. For example:

Source RPM : m4-1.4.16-10.el7.src.rpm
<!--NeedCopy-->

Other XenServer components

Supplemental Packs

Supplemental packs are installed into the XenServer host. If you have supplemental packs installed in your host, their RPM information is included when you complete the steps in the previous section of this article.

The source files for supplemental packs are also provided on the XenServer download page.

XenCenter

To view information about third-party components included in XenCenter, complete the following steps:

  1. In XenCenter, go to Help > About XenCenter.
  2. Click View Legal Notices.

XenServer VM Tools for Windows

The XenServer VM Tools for Windows comprises the following components:

  • The Management Agent, which is covered by a proprietary license.
  • The Windows I/O drivers, which are covered by the BSD2 license. Copyright Cloud Software Group, Inc.

    Licensing information is included in the INF file for each driver. When the drivers are installed on your Windows system by Windows Update or the management agent installer, the INF files are stored as C:\Windows\INF\OEM*.inf. The management agent installer also places the INF files in C:\Program Files\XenServer\XenTools\Drivers\***.inf.

Source is not provided for XenServer VM Tools for Windows.

XenServer VM Tools for Linux

The XenServer VM Tools for Linux are covered by the BSD2 license. Copyright Cloud Software Group, Inc.

The archive file provided on the product download page contains the license file and source files for the tools.

Virtual Appliances

The following virtual appliances are provided as optional components for your XenServer environment:

  • Conversion Manager Virtual Appliance
  • Workload Balancing Virtual Appliance

These virtual appliances are also CentOS based. You can use the same commands as those given for the XenServer host to get overview and detailed information about the open source packages included in the virtual appliances.

In the console of the virtual appliance, run the following commands:

  • For overview information: rpm -qa --qf '%{name}-%{version}: %{license}\n'
  • For detailed information: rpm -qai | sed '/^Name /i\\n'

In addition, the Conversion Manager virtual appliance and Workload Balancing virtual appliance dynamically use some third-party components.

  • For Conversion Manager virtual appliance, the license files for these components are located at the following path: /opt/vpxxcm/conversion.
  • For Workload Balancing virtual appliance, the license files for these components are located at the following path: /opt/vpx/wlb.

Source files for the virtual appliances are provided on the XenServer download page.

XenServer Open Source Licensing and Attribution