Why is zfs out of tree
Content on WhatAnswers is provided "as is" for informational purposes. While we strive for accuracy, we make no guarantees. Content is AI-assisted and should not be used as professional advice.
Last updated: April 8, 2026
Key Facts
- ZFS uses the Common Development and Distribution License (CDDL) created by Sun Microsystems in 2004
- Linux kernel uses GNU General Public License version 2 (GPLv2) adopted in 1991
- The CDDL is incompatible with GPLv2, preventing ZFS from being included in mainline Linux kernel
- ZFS was originally developed for Solaris and released as open source in 2005
- ZFS must be maintained as an out-of-tree kernel module for Linux systems
Overview
ZFS (Zettabyte File System) is an advanced file system originally developed by Sun Microsystems for Solaris, first released in 2005. The licensing conflict stems from Sun's decision to release ZFS under the Common Development and Distribution License (CDDL), which they created specifically for open-sourcing Solaris components. Meanwhile, the Linux kernel has used the GNU General Public License version 2 (GPLv2) since its inception in 1991. This fundamental licensing incompatibility means ZFS cannot be legally distributed as part of the mainline Linux kernel source code. The issue became prominent when ZFS gained popularity for its advanced features like copy-on-write, snapshots, data integrity verification, and built-in volume management. Despite being widely used on Linux systems through external modules, the licensing barrier has prevented official kernel integration for nearly two decades.
How It Works
The licensing incompatibility works through specific legal restrictions in both licenses. The GPLv2 requires that any derivative work or combined work must also be licensed under GPLv2, creating a 'viral' effect where all components must share the same license. The CDDL, while also open source, contains different terms and conditions that prevent it from being combined with GPLv2 code in a single work. When software is distributed as part of the Linux kernel tree, it must comply with GPLv2 requirements. Since ZFS is licensed under CDDL, it cannot meet these requirements. To work around this, ZFS is maintained as an out-of-tree kernel module that can be loaded separately. This separation allows users to compile and load ZFS modules on their systems without violating either license, though distribution of pre-compiled binaries remains legally contentious. The technical implementation involves maintaining separate source trees and build systems that compile against specific kernel versions.
Why It Matters
This licensing conflict matters because it affects how millions of Linux users access advanced storage features. Many enterprise and home users want ZFS's data integrity, snapshot capabilities, and storage efficiency on Linux systems. The out-of-tree status creates maintenance challenges - ZFS modules must be updated for each new kernel version, sometimes causing compatibility issues. Major distributions like Ubuntu and Debian have navigated legal gray areas by providing ZFS packages, while others avoid it entirely. The situation has sparked ongoing debates about open source licensing compatibility and whether the GPL's restrictions help or hinder software adoption. For system administrators, this means extra steps to install and maintain ZFS, potentially affecting system stability and security updates. The conflict also illustrates broader issues in open source licensing fragmentation that can limit software interoperability across platforms.
More Why Is in Nature
- Why is wkrp not in syndication
- Why is wmic deprecated
- Why is zz plant leaves turning yellow
- Why is ylang ylang bad for dogs
- Why is zygarde a dog
- Why is zz plant turning yellow
- Why is agent provocateur so expensive
- Why is communication important
- Why is fvrcp recommended for indoor cats
- Why is gcash not sending authentication code
Also in Nature
More "Why Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia: ZFSCC-BY-SA-4.0
- Wikipedia: CDDLCC-BY-SA-4.0
- Wikipedia: GPLCC-BY-SA-4.0
Missing an answer?
Suggest a question and we'll generate an answer for it.