Wing 1

History wing

The code quoted in the rooms of this museum has a history: a team, a company, a licence, forks and a reunion. This wing tells it in dated milestones, and says nothing that a source does not say.

Every fact, date, name and quote below carries a numbered note that leads to its source, and every source is listed with the claim it supports in SOURCES.md. Where no source could be found, the fact was left out.

2001–2007 At Sun Microsystems

  1. Two engineers at Sun

    Development of ZFS starts at Sun Microsystems with two engineers.1 Jeff Bonwick leads it, with Bill Moore as co-lead;2 the OpenZFS project would later call Matt Ahrens one of the two original authors of ZFS.3

    one of the design principles we set for ZFS was: never, ever trust the underlying hardware.4

    Bill Moore, interviewed by ACM Queue, 2007
  2. A prototype, then a mount

    The user-level prototype of ZFS works on 31 October 2001.5 A year later to the day, on 31 October 2002, ZFS is mounted in the kernel for the first time.6

  3. Into the Solaris source

    ZFS is integrated into Solaris on 31 October 2005.7 The commit, titled PSARC 2002/240 ZFS and 6338653 Integrate ZFS, is still readable in the illumos-gate repository.8 Jeff Bonwick sums up the integration in one line: 584 files, 92,000 lines of change, 56 patents, 5 years.9

  4. Open source, in OpenSolaris

    The source code of ZFS is released under the CDDL, as part of OpenSolaris.10 ZFS is available in build 27a of OpenSolaris and Solaris Express;11 on 17 November 2005 Jeff Bonwick writes of the ZFS launch today.12

  5. In Solaris 10 6/06

    On 2 May 2006 Sun announces Solaris ZFS 1.0 for June, in the next commercial release, Solaris 10 6/06.13 Oracle’s Solaris documentation lists ZFS as new in that release.14

  6. FreeBSD

    Pawel Jakub Dawidek commits ZFS to FreeBSD on 6 April 2007: Please welcome ZFS - The last word in file systems.15 FreeBSD 7.0, announced on 27 February 2008, ships it as experimental.16

2008–2013 Oracle, illumos, Linux

  1. A native port, at Livermore

    Development of a native Linux port starts in 2008.17 The first commit of its ZFS code, Initial Linux ZFS GIT Repo, is by Brian Behlendorf, on 20 November 2008;18 he is the principal developer of the port, as a computer scientist at Lawrence Livermore National Laboratory.19

    The code stays under the CDDL. The OpenZFS documentation states that this prevents distributing it as part of the Linux kernel binary, and that nothing in either licence prevents distributing it as a binary module or as source code.20

  2. Oracle acquires Sun

    Oracle completes its acquisition of Sun Microsystems on 27 January 2010.21

  3. illumos

    Garrett D’Amore announces the illumos project on 3 August 2010,22 a community maintained derivative of the OpenSolaris ON source.23

  4. Two lines of ZFS

    OpenSolaris is discontinued, and further development of ZFS on Solaris is no longer open source.24 On 19 August 2010 Garrett D’Amore reports the last update of Oracle’s public ON repository: From here on out, Illumos and Oracle Solaris diverge.25

  5. ZFS on Linux 0.6.1

    ZFS on Linux 0.6.1 is released in March 2013, Produced at Lawrence Livermore National Laboratory.26 The OpenZFS project’s history records 2013 as the year of the first stable release of ZFS on Linux.27

2013–2026 OpenZFS

  1. OpenZFS is announced

    OpenZFS is announced on 17 September 2013 as the truly open source successor to the ZFS project,28 founded by members of the Linux, FreeBSD, Mac OS X and illumos communities.29

  2. Native encryption

    Tom Caputi commits native encryption on 14 August 2017.30 It first ships in ZFS on Linux 0.8.0, in May 2019.31

  3. dRAID

    dRAID, distributed spare RAID, is committed on 13 November 2020, co-authored by Isaac Huang, Mark Maybee, Don Brady, Matthew Ahrens and Brian Behlendorf.32 It first ships in OpenZFS 2.1.0, in July 2021: a distributed variant of RAID-Z whose integrated hot spares make resilvering much faster.33

  4. OpenZFS 2.0: one repository

    OpenZFS 2.0.0 supports Linux and FreeBSD from the same repository, and ZFS on Linux is renamed OpenZFS.34 In FreeBSD 13.0, announced on 13 April 2021, the ZFS implementation is provided by OpenZFS.35

  5. OpenZFS 2.2: block cloning

    OpenZFS 2.2.0 brings block cloning: a file, or part of one, can be copied by referencing its existing blocks instead of copying them.36

  6. RAID-Z expansion

    RAID-Z expansion is committed on 8 November 2023; the commit names Matthew Ahrens as its author.37 It ships in OpenZFS 2.3.0, in January 2025, with fast dedup, Direct IO and JSON output.38

  7. OpenZFS 2.4

    OpenZFS 2.4.0 adds default quotas, uncached IO and unified allocation throttling.39

  8. OpenZFS 2.4.4, the release this museum reads

    OpenZFS 2.4.4 is a point release, for Linux 4.18 to 7.2 and FreeBSD 13.3 and later.40 Every code excerpt in the rooms of this museum is quoted from it.

Sources

Original posts, release notes, commits and press releases where they exist; an archived copy (Wayback Machine) where the original page has moved. The claim each source supports is in SOURCES.md.

  1. 1 openzfs.org wiki, “History” (archived 2020-05-14) ↑
  2. 2 “A Conversation with Jeff Bonwick and Bill Moore”, ACM Queue 5(6), November 2007 (archived 2011-07-16) ↑
  3. 3 OpenZFS launch announcement, open-zfs.org (archived 2013-09-20) ↑
  4. 4 “A Conversation with Jeff Bonwick and Bill Moore”, ACM Queue 5(6), November 2007 (archived 2011-07-16) ↑
  5. 5 Jeff Bonwick, “ZFS: The Last Word in Filesystems”, blog post of 31 October 2005 (archived 2007-02-07) ↑
  6. 6 Jeff Bonwick, “ZFS: The Last Word in Filesystems”, blog post of 31 October 2005 (archived 2007-02-07) ↑
  7. 7 Jeff Bonwick, “ZFS: The Last Word in Filesystems”, blog post of 31 October 2005 (archived 2007-02-07) ↑
  8. 8 illumos-gate commit fa9e4066f08b ↑
  9. 9 Jeff Bonwick, “ZFS: The Last Word in Filesystems”, blog post of 31 October 2005 (archived 2007-02-07) ↑
  10. 10 openzfs.org wiki, “History” (archived 2020-05-14) ↑
  11. 11 OpenSolaris ZFS community page (archived 2006-01-04) ↑
  12. 12 Jeff Bonwick, blog, posts of November 2005, “Thank You” of 17 November 2005 (archived 2006-12-19) ↑
  13. 13 Sun Microsystems press release, 2 May 2006 (archived 2006-12-30) ↑
  14. 14 Oracle Solaris 10 documentation, “What’s New in Solaris 10 6/06” ↑
  15. 15 FreeBSD commit f0a75d274af3 ↑
  16. 16 FreeBSD 7.0-RELEASE announcement ↑
  17. 17 openzfs.org wiki, “History” (archived 2020-05-14) ↑
  18. 18 openzfs/zfs commit 34dc7c2f2553 ↑
  19. 19 AUTHORS file of ZFS on Linux 0.6.1 ↑
  20. 20 OpenZFS documentation, “License” ↑
  21. 21 Oracle press release, 27 January 2010, filed with the SEC as exhibit 99.1 (archived 2026-03-03) ↑
  22. 22 Garrett D’Amore, “Illumos Announcement”, blog post of 3 August 2010 ↑
  23. 23 illumos.org home page (archived 2010-08-17) ↑
  24. 24 openzfs.org wiki, “History” (archived 2020-05-14) ↑
  25. 25 Garrett D’Amore, “The Tap Is Turned Off”, blog post of 19 August 2010 ↑
  26. 26 zfsonlinux.org home page (archived 2013-04-09) ↑
  27. 27 openzfs.org wiki, “History” (archived 2020-05-14) ↑
  28. 28 OpenZFS launch announcement, open-zfs.org (archived 2013-09-20) ↑
  29. 29 OpenZFS launch announcement, open-zfs.org (archived 2013-09-20) ↑
  30. 30 openzfs/zfs commit b52563034230, “Native Encryption for ZFS on Linux” ↑
  31. 31 OpenZFS release notes, zfs-0.8.0 ↑
  32. 32 openzfs/zfs commit b2255edcc009, “Distributed Spare (dRAID) Feature” ↑
  33. 33 OpenZFS release notes, zfs-2.1.0 ↑
  34. 34 OpenZFS release notes, OpenZFS 2.0.0 ↑
  35. 35 FreeBSD 13.0-RELEASE release notes · announcement ↑
  36. 36 OpenZFS release notes, zfs-2.2.0 ↑
  37. 37 openzfs/zfs commit 5caeef02fa53, “RAID-Z expansion feature” ↑
  38. 38 OpenZFS release notes, zfs-2.3.0 ↑
  39. 39 OpenZFS release notes, zfs-2.4.0 ↑
  40. 40 OpenZFS release notes, zfs-2.4.4 ↑