For the complete documentation index, see llms.txt. This page is also available as Markdown.

28.1 ZFS History and Reality

ZFS originated from Sun Solaris, was open-sourced under the CDDL license in 2005, and was imported into FreeBSD in 2007. After Oracle acquired Sun and terminated public development of ZFS, the open-source community launched the OpenZFS project in 2013 to continue its development. In 2020, OpenZFS 2.0 merged the FreeBSD and Linux ZFS codebases, unifying storage features including Copy-on-Write, Snapshot, End-to-End Checksum, and Self-Healing.

ZFS Development History: From Solaris to OpenZFS

ZFS was originally developed by Sun Microsystems to replace the UFS file system on Solaris (formerly known as SunOS). One of the key developers of SunOS and BSD Unix was Bill Joy, who was also one of the founders of Sun. SunOS was initially based on BSD Unix and later transitioned to SVR4 (Unix System V Release 4, the version co-developed with AT&T).

The ZFS source code was integrated into the Solaris development trunk (revision 789) on October 31, 2005, and was subsequently released as open source under the CDDL (Common Development and Distribution License) on November 16, 2005, as part of OpenSolaris build 27.

ZFS was imported into the FreeBSD source tree in 2007. FreeBSD 7.0-RELEASE (February 2008, pool v6) shipped it in an experimental state; FreeBSD 8.0-RELEASE (November 2009, pool v13) declared it production-ready.

After Oracle announced the acquisition of Sun in April 2009 (completed in January 2010), the Solaris project (renamed Oracle Solaris) and ZFS (renamed Oracle Solaris ZFS) entered a closed-source development model. The OpenSolaris Community Board dissolved itself in August 2010 (revision 13149; at the time of dissolution, the ZFS pool was at v28). The primary community developers of OpenSolaris migrated to the new illumos project fork. From that point onward (v28), Oracle Solaris ZFS and the community version diverged.

Currently, illumos follows a development model similar to the Linux kernel, having spawned over a dozen distributions including OpenIndiana and OmniOS. However, its average annual commit count is approximately 150, indicating a significant decline in development activity.

In July 2010, FreeBSD adopted ZFS pool v15 (merged into 9-CURRENT), which was the version distributed with Solaris 10 update 8 (Solaris 10 10/09) in October 2009.

In November 2011, Oracle Solaris 11 was released, upgrading the ZFS pool to v33 (Solaris 11 Express 2010.11 was at v28).

On January 12, 2012, FreeBSD 9.0-RELEASE supported ZFS pool v28. See: Finally... Import the latest open-source ZFS version - (SPA) 28[EB/OL]. [2026-03-26]. https://github.com/freebsd/freebsd-src/commit/10b9d77bf1ccf2f3affafa6261692cb92cf7e992.

Three years after the shutdown of OpenSolaris (2013), the OpenZFS project was officially established, unifying the open-source development of ZFS (prior to this, the ZFS on Linux native kernel module project had been initiated by Lawrence Livermore National Laboratory in 2008, while the FUSE-based ZFS-FUSE project began in 2006). Due to the closed-source development of Oracle Solaris ZFS, OpenZFS has difficulty maintaining compatibility with Oracle Solaris ZFS.

"When the times are favorable, heaven and earth work together; when fortune fades, even heroes cannot act freely." ([Tang] Luo Yin, "Chou Bi Yi"). Since almost all cloud platform vendors and virtual machine platforms only support Linux, illumos could no longer gain support. Delphix, the primary developer of new OpenZFS features (Perforce Software completed its acquisition of Delphix on March 25, 2024), consequently migrated its operating system from illumos to Linux, essentially abandoning investment in illumos. Even Oracle Solaris itself has entered maintenance mode (version 11.4's lifecycle extends to 2037). Oracle ZFS transitioned to the enterprise storage solution Oracle Storage.

Feature updates for the illumos version of ZFS have become increasingly rare (its primary development force remains OpenZFS), and the difficulty of maintaining this version of ZFS in FreeBSD continues to rise. New ZFS features typically had to be merged into illumos first and then backported to FreeBSD. However, illumos development has essentially stalled. In August 2018, the FreeBSD Project began researching how to migrate FreeBSD ZFS from illumos to the upstream OpenZFS.

OpenZFS was merged into FreeBSD-CURRENT in August 2020 and was officially released with FreeBSD 13.0-RELEASE (April 2021). "The ZFS implementation is now provided by OpenZFS. 9e5787d2284e (sponsored by iXsystems)" replaced the OpenSolaris/illumos version of ZFS. This migration reconnected FreeBSD with the mainstream ZFS open-source ecosystem.

Currently, the top contributor by commit count in OpenZFS is from the Lawrence Livermore National Laboratory (LLNL). OpenZFS development is driven by multiple organizations, with major contributors including LLNL, Klara Inc., iXsystems, and Delphix. LLNL's core mission is to ensure the safety, reliability, and effectiveness of the U.S. nuclear deterrent.

Sun means "sun." As the sun sets in the west, it also rises in the east. This metaphor aptly encapsulates the journey of ZFS migrating from the Sun ecosystem to a broader open-source ecosystem.

References

Licensing

From the perspective of intellectual property and open-source licensing, ZFS could not be directly included in the Linux kernel tree due to fundamental license incompatibility. The Linux kernel uses the GPLv2 (GNU General Public License version 2) license, a strong copyleft license that requires derivative works to be distributed under the same license; ZFS uses the CDDL (Common Development and Distribution License), which also contains copyleft provisions but whose scope of contagion is limited to CDDL-licensed code files. The two licenses have substantive conflicts in their copyleft contagion scope and rights/obligations requirements, making it impossible to resolve the compatibility issue through dual licensing. Consequently, ZFS could not be included in the main Linux kernel tree.

Discussion Question

Read the original text or translations of the GPLv2 and CDDL licenses.

  1. Explain why the two licenses conflict.

  2. The Free Software Foundation states that any out-of-tree module is non-compliant, and the Ubuntu ZFS module is one such example. Does this prove that the entire Linux kernel is licensed under GPLv2?

Tip

ZFS has multiple implementations; for a feature comparison table, see: Feature Flags[EB/OL]. [2026-03-26]. https://openzfs.github.io/openzfs-docs/Basic%20Concepts/Feature%20Flags.html.

Last updated