On Tuesday years of work culminated in the integration of OpenZFS, an open-source storage platform, into the code base of the FreeBSD operating system.
The union took the form of a code merge committed by Matthew Macy, a senior software engineer at IX Systems who contributes to both projects.
"The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort," he wrote in the FreeBSD log message.
In an email to The Register, Matthew Ahrens, who co-founded the ZFS project at Sun Microsystems back in 2001, celebrated the integration of OpenZFS, a project started in 2013 to continue developing the ZFS code, and FreeBSD.
"The communities developing ZFS on Linux and FreeBSD have been working together for the past few years to establish a shared ZFS codebase that works on both FreeBSD and Linux," he said. "I'm excited that today that work comes to fruition as FreeBSD switches to using the common OpenZFS codebase!"
ZFS co-creator boots 'slave' out of OpenZFS codebase, says 'casual use' of term is 'unnecessary reference to a painful experience'READ MORE
Ahrens said OpenZFS 2.0, expected to ship around the end of the year, will support Linux and FreeBSD, and project contributors continue to improve support for other platforms, like macOS, in the OpenZFS repo.
The merger of OpenZFS into FreeBSD reflects a shift in where ZFS work is being done. According to Ahrens, most of the major new features in ZFS over the past five years have been developed with ZFS on Linux in mind, rather than the Illumos project, formed to develop OpenSolaris and ZFS prior to the establishment of the OpenZFS project.
The FreeBSD developers saw where the innovation was happening, Ahrens explained, and figured it would be better to get OpenZFS code from ZFS on Linux rather than Illumos to remain more current. "In terms of big features, ZFS may be the only cross-platform OS-level kernel code that works on multiple kernels," he said. "We're in uncharted territory maintaining cross-OS kernel code in one code base."
The key to making this work, he said, is automated testing, which allows changes to be evaluated on multiple versions of Linux and FreeBSD without making excessive demands on developers.
"Going forward, these communities will work together closely to deliver new features and bug fixes that will be available simultaneously on Linux and FreeBSD – for example, dRAID, a distributed-spare RAID with much faster rebuild times than traditional RAID or RAIDZ," said Ahrens, adding that dRAID will be discussed at the OpenZFS Developer Summit in October.
Back in January, Linus Torvalds, who oversees development of the Linux kernel, indicated the ZFS file system has to remain separate from the kernel tree due to concerns about litigation from ZFS-trademark owner Oracle. "Don't use ZFS," he said. "It's that simple."
Ahrens told The Register in a phone interview that Torvald's dismissal of ZFS stemmed from a situation that didn't actually exist, a proprietary version of ZFS used in conjunction with Linux. Torvalds, he said, is rightfully suspicious of closed source extensions to Linux and of Oracle. But Torvalds didn't mean OpenZFS, he insisted.
Ahrens acknowledged there has been some contention over OpenZFS interface compatibility, but those technical issues have been dealt with.
"At the end of the day, it was people getting bent out of shape by a confusing non-issue," he said.
Ahrens said that there are still some who worry that the Common Development and Distribution License (CDDL) governing OpenZFS and the General Public License (GPLv2) governing the Linux kernel are incompatible.
But OpenZFS insists the licensing is fine as long as ZFS isn't shipped in the Linux kernel binary. Ahrens points to Ubuntu Linux, which ships with an OpenZFS module. "They have lawyers who say it's fine," he said, adding that Torvalds a few years ago also said as much. ®