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:
- Connect to your XenServer host console by SSH or through XenCenter.
-
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:
- Connect to your XenServer host console by SSH or through XenCenter.
-
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.10
contains 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:
-
Log in to the console of the pool coordinator host.
-
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>
-
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.
-
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>
-
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:
- In XenCenter, go to Help > About XenCenter.
- 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 inC:\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:
- XenServer 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 XenServer Conversion Manager virtual appliance and Workload Balancing virtual appliance dynamically use some third-party components.
- For XenServer 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.