While initially designed for Solaris, development has since focused on Linux, while ports exist for various BSD distributions and macOS.
[6][7] The following is a list of key events in the development of ZFS and its various implementations:[6][8] As the FSF (Free Software Foundation) claimed that there was a legal incompatibility between the CDDL and the GPL in 2005, Sun's implementation of the ZFS file system couldn't be used as a basis for the development of a module in the Linux kernel, couldn't be merged into the mainline Linux kernel, and Linux distributions generally did not include it as a precompiled kernel module.
[21][22] In the release version of Mac OS X 10.5, ZFS was available in read-only mode from the command line, which lacks the possibility to create z-pools or write to them.
[25] In August 2007, Apple opened a ZFS project on their Mac OS Forge web site.
On that site, Apple provided the source code and binaries of their port of ZFS which includes read-write access,[26] but without an installer.
[27] In October 2009, Apple discontinued development of the ZFS project on Mac OS Forge with no explanation.
Additional historical information and commentary can be found on the Mac ZFS web site and FAQ.
According to the Free Software Foundation, the wording of the GPL license legally prohibits redistribution of the resulting product as a derivative work,[56][57] though this viewpoint has caused some controversy.
[58][59] One potential workaround to licensing incompatibility was trialed in 2006, with an experimental port of the ZFS code to Linux's FUSE system.
A native port of ZFS for Linux produced by the Lawrence Livermore National Laboratory (LLNL) was released in March 2013,[61][62] following these key events:[63] As of August 2014[update], ZFS on Linux uses the OpenZFS pool version number 5000, which indicates that the features it supports are defined via feature flags.
[71][72] The question of the CDDL license's compatibility with the GPL license resurfaced in 2015, when the Linux distribution Ubuntu announced that it intended to make precompiled OpenZFS binary kernel modules available to end-users directly from the distribution's official package repositories.
[73] In 2016, Ubuntu announced that a legal review resulted in the conclusion that providing support for ZFS via a binary kernel module was not in violation of the provisions of the GPL license.
[74] Other organizations such as the Software Freedom Law Center followed Ubuntu's conclusion,[75] while the FSF and SFC reiterated their opposing views.
As with TrueNAS Core (based on FreeBSD), it uses OpenZFS for storage and adds a variety of additional features.
[82][83] A newer open source port of ZFS which is considered a BETA release, can be found also on GitHub.
[85][86] In a more distributed development model, having a single version number is far from ideal as all implementations of OpenZFS would need to agree on all changes to the on-disk file system format.
[87]: 7–8 A list of feature flags and which operating systems support them is available from the OpenZFS documentation Web site[93] (here the old Open-ZFS.org Web site[94]) Historically, OpenZFS has been implemented as a core ZFS code, with each operating system's team adapting it to fit into their projects.
[95] The plans included appropriate porting layers to prevent Linux, GPL or Linux-KPI shim code from being introduced to other platform kernels.