Apple abandons ZFS on Mac OS X project over licensing issues

If there was any remaining doubt about ZFS support in OS X, Apple officially …

Sun's ZFS filesystem, which the company has referred to as "the last word in filesystems," was widely expected to be adopted by Apple for use in Mac OS X. However, support never materialized, and the open source project to port the filesystem was unceremoniously shut down last Friday. The (un)stated reasons at heart seem to be licensing issues, though there are also technological reasons why Apple may want to create its own advanced filesystem.

The ZFS filesystem is perhaps one of the first truly "modern" filesystems based on the concept of "copy on write." In the case of ZFS, this is done at the block level, so when any block on a disk is going to be modified, a fresh copy of all the data for that block is written to a new block on disk, and the older block can be retained for snapshot purposes. The filesystem is meant to address the needs of ever-growing storage, with features like data integrity, integrated device management, instant snapshots, and facilities to deal with increasing concurrency.

News that Apple was interested in supporting ZFS in Mac OS X goes back a few years—Sun CEO Jonathan Schwartz said in June 2007 that "this week you’ll see that Apple is announcing at their Worldwide Developer Conference that ZFS has become the file system in Mac OS X," but there was only unofficial read-only support that made it into Leopard.

That left the future of ZFS on Mac OS X in question. Some speculated that there were either licensing issues blocking adoption or possibly concerns that Oracle's acquisition of Sun had caused a problem. Apple has more or less indicated that there is no future for ZFS on Mac OS X by shutting down the open source project to port the filesystem on MacOSForge, stating merely that it has been "discontinued."

Sun's Jeff Bonwick confirmed that Apple and Sun weren't able to reach a mutually agreeable licensing deal, though he could not disclose any specific details.

Rolling its own?

The consensus among developers we have spoken to is that Apple will build its own advanced filesystem instead of adopting ZFS or its Linux cousin BtrFS (itself an Oracle project, which comes with licensing that may be incompatible with Apple's xnu kernel).

Developer Louis Gerbarg has laid out several reasons why Apple would choose this route now, like the fact Mac OS X has matured quite a bit, and with the architectural foundation of Snow Leopard in place Apple can afford to put more resources into filesystem development. Gerbarg also notes that there have been advances in algorithmic solutions to the problems that ZFS was designed to address since its inception, and that ZFS is better suited to large servers and storage systems than to the needs of a single, local machine.

Though official support may not be coming from Apple, Mac OS X may yet be able to use ZFS storage. Efforts are still being made to support ZFS via the open source MacFUSE project, which allows filesystems to be added as user-space plugins. Also, a developer has forked the source code that sat fallow at MacOSForge for over a year in the hopes that other developers might be interested in continuing the project.