In the latest release of Ubuntu 23.10, support for ZFS file system installations on the root section has been added to both the server and desktop editions. Previously, this capability was available in the Ubuntu Desktop, but was removed in version 23.04 due to the development of a new installer using DART language and Flutter-based user interface. However, the autumn release will address this limitation for both editions, with the exception of encrypted ZFS sections. The default file system offered remains Ext4, while ZFS support is considered experimental.
Controversies arise from the distribution of the ZFS module due to licensing disputes. The ZFS code is distributed under the free CDDL license, which is incompatible with GPLV2. This prevents the integration of the OpenZFS module into the main branch of the Linux kernel, as mixing code under GPLV2 and CDDL licenses is considered unacceptable. To overcome this license incompatibility, the OpenZFS project chose to distribute the product exclusively under the CDDL license as a separately loaded module.
The Software Freedom Conservance (SFC) organization’s lawyers argue that including the ZFS module in the distribution forms a combined product with GPL, which would require distribution of the final work under GPL. On the other hand, Canonical’s lawyers disagree and claim that supplying the ZFS module is permissible, as long as it is provided as a self-sufficient module separate from the kernel package. Canonical also draws a parallel with the distribution of proprietary drivers, such as NVIDIA drivers, which have long been supplied in a similar manner.
SFC argues that this analogy is inappropriate, as the compatibility issue with the kernel in proprietary drivers is resolved through the distribution of a small GPL-licensed layer that loads the proprietary components. However, for ZFS, a similar layer can only be prepared with licensing exceptions from Oracle. In the case of Oracle Linux, the GPL incompatibility is resolved by providing an Oracle exclusion, which removes the requirement for a CDDL-licensed combined work. However, this exception is not valid for other distributions.
To bypass these issues, a maneuver involves supplying only the initial texts of the module in the distribution. This approach avoids any licensing conflicts and is considered as the distribution of two separate products. In Debian, this is achieved through the use of Dynamic Kernel Module Support (DKMS), where the module is supplied in its original texts and assembled on the user’s system after installing the package.