5 ms·
I have trouble understanding the position of OpenZFS. My understanding is that Oracle ZFS, which can not be integrated in mainline Linux, can still be distribu
by emillon 13y ago
I have trouble understanding the position of OpenZFS.
My understanding is that Oracle ZFS, which can not be integrated in mainline Linux, can still be distributed as a separate project (zfsonlinux.org).
On the other hand, Linux kernel developers have started btrfs, which is inspired by, but incompatible with, ZFS.
So, what is this project? I can only imagine that this is either a white room reimplementation of ZFS, or a fork before the license changed (but I think it was CDDL from the start).
A more interesting question would be: who should use or develop this? IMHO this will never be on par with "the" ZFS, so btrfs is where everyone's energy should go.
(Also, by reimplementing a ZFS product you're supporting them in a way.)
- dkl 13y agoAnd aren't there a bunch of newer ZFS features that Oracle has implemented that are not OSS? So, those are known only in documentation?
- cdjk 13y agoZFS has the notion of version numbers - for both the zpool and filesystem. The last FOSS releases are zpool 28 and zfs 5. There have been subsequent releases of ZFS by Oracle, but versions 28 and 5 are the latest used by all the open source implementations. What the FOSS community has done is to add "feature flags" to ZFS instead of constantly bumping the version number. So encryption is a feature on top of zfs, but the encryption introduced in FreeNAS for ZFS isn't the same as the encryption in Oracle's zpool v30.
- finnh 13y agoI'm glad to see open-zfs.org for exactly the reasons you mention. I've been runnning MacZFS for years, but it's currently way behind at zpool version 8, zfs version 2. At one point I put a FreeBSD machine in the basement, with plans to stream snapshot diffs for backup, but the version mismatches prevented me from doing this in a smart (zfs-based, rather than rsync-based) way. Looks like this central coordination point ought to help the porting of features/versions from the Linux branch to the Mac branch.
- adsr 13y agoHave you looked at Zevo? It's at Zpool 28 on OS X. Regarding OpenZFS, I thought it was quite surprising that the FreeBSD version wasn't used as a basis for a port, I imagined they had more in common.
- jdboyd 13y agoOpenZFS is a fork from before Oracle took ZFS closed again. It still has the CDDL license. OpenZFS is directly used by the people who maintain ZFS on various platforms (such as ZFS on Linux). The end ZFS implementation can be used many places and ways. For instance, my employer believes that ZFS on Linux is safer and more reliable than btrfs is. Likewise, it is used on FreeBSD and various illumos (open source fork of Solaris) systems as the default file system. While Oracle has presumably added new features to their ZFS, numerous companies have been working on OpenZFS for some time now and adding their own sets of new features that Oracle doesn't have, such as LZ4 compression.
- epistasis 13y agoYou should read the link, it answers many of your questions here. For example, it's not a reimplementation of ZFS, it's an organization to coordinate between the many different groups that are actively using ZFS in their products. Parts of btrfs may be inspired by ZFS, but btrfs doesn't even aspire to some of ZFS's niceties like zraid3. And if you're looking at ever using 4TB disks, a third parity bit should be a requirement. I'm a fan of btrfs, but I'm a much much bigger fan of ZFS. ZFS will almost certainly be at the base of our next storage buildout, and btrfs probably will not. The only thing keeping btrfs relevant is that the GPL and CDDL interact poorly. But when there's a great, well tested, and higher tech code base, why should people abandon it? ZFS is used by many many people in production, btrfs by very few, and even if btrfs hits all its development roadmap it won't be the equal of ZFS.
- dkl 13y agoAnd to make things even more interesting/confusing, Oracle is one of the forces behind btrfs.
- Nux 13y agoYes, this is in no way encouraging, but at least it's GPL and as long as they pay the developer I won't mind. If they stop its development I'm sure Redhat or IBM will pick it up.
- SEJeff 13y agoThat is only partially true. btrfs was founded by Chris Mason before he joined Oracle. They simply let him continue hacking on it. He left Oracle in June of last year and works at Fusion IO. I'm sure Oracle has someone hacking on btrfs, but no one there was seriously pushing it (that I'm aware of) other than Chris Mason.
- fluidcruft 13y agoDo you have any evidence of this? I've tried to corroborate it and from what I can tell Chris Mason himself is quoted as saying he started it shortly after joining Oracle. Additionally Oracle seems to be pretty involved with btrfs and has devoted a lot of resources.
- hannibal5 13y agoIt takes easily another 10 years before btrfs is where ZFS is now reliability and feature vise and it might not have all the features even then.
- protomyth 13y agoAnd its not like some of the groups using ZFS today would help btrfs along because of its license. Kind of a shame we couldn't all agree on something with a neutral license.
- hhw 13y agoGPL is hardly a neutral license. If anything, it's as extreme copyleft as there is. CDDL is actually quite neutral, and the compatibility issues between the two has more to do with the GPL, which is incompatible with pretty much all other licenses other than BSD/Apache/MIT/X11 style minimal licenses. Hence why ZFS can be safely adopted by FreeBSD and MacOSX.
- deleted 13y ago[deleted]
- protomyth 13y agoI guess I should have wrote that better as I believe btrfs is NOT under a neutral license and thus the reason the ZFS crowd won't migrate or help.
- xioxox 13y agoWe've had a very positive experience with btrfs, using it on a redundant system for a few years. It's a lot more flexible than zfs in some respects. For instance, all the snapshots are modifiable and can themselves be modified. You can build up a graph of snapshots, which is not possible in zfs which enforces a strict hierarchy. We ran btrfs on top of mdadm, to get raid and integrity checking. btrfs can do things like copy particular files using copy on write, which is really cool. btrfs also supports offline deduplication, which isn't supported in zfs. This is very useful if you want to do the deduplication when the system is not otherwise being used and avoids the overheads of keeping hashes in memory all the time. I think that 10 years behind is exaggerating where it is at. For instance, people using zfs on linux often have problems with running out of memory and so on, even on systems with very large memory.
- diegocg 13y agoBasically, this is a ZFS fork, forced by the stupidity of Oracle. The whole issue is that Oracle has stopped publishing the source code of new ZFS versions for some years already: there are new ZFS "versions" (pool versions from version 29 to 34, which include some new backward-incompatible features) from Oracle, but no new open source code has been released. The opensource ZFS code has been almost stagnant/in mainteinance mode all this time. OpenZFS is an attempt to keep ZFS open source alive. Since Oracle doesn't work with opensource anymore, the people who uses ZFS (BSDs, Nexenta, etc) have to do their own thing, and evolve the filesystem in their own way..
- dmpk2k 13y agoThe opensource ZFS code has been almost stagnant/in mainteinance mode all this time. We must have been looking at different ZFS projects. ZFS development was far from stagnant. :)
- inopinatus 13y agoMy understanding is that btrfs is limited to only the Linux platform today, whilst ZFS is not. That alone seems, to me, sufficient motivation for this project.
- Sanddancer 13y agoActually, Oracle was the company that started development on btrfs, and still does contribute, so using btrfs would also be supporting them in a way. I'd argue that developing for zfs is the way forward because the underlying license is less restrictive than the GPL, and can be used in more Free and Open operating systems, making it easier to use the best kernel for the task at hand.