ZFS Will NOT Make It Into The Linux Kernel Any Time Soon
The ZFS file system uses a license which is incompatible with the GNU GPL which is why there is, and always was, close to zero chance of the ZFS file system support landing in the Linux kernel. "The licensing issues just make it a non-starter for me," Linus Torvalds wrote is a response to a totally off-topic question in a thread about the kernels scheduler. "There is no way I can merge any of the ZFS efforts until I get an official letter from Oracle that is signed by their main legal counsel."
written by Öyvind Sæther. published 2020-01-08 - last edited 2020-01-09
ZFS is a popular file system for network storage servers with many harddrives.
Linus Torvalds pointed out that the licensing incompatibilities between the "Common Development and Distribution License 1.0" ZFS uses and the "GNU General Public License 2.0" the kernel is licensed under make it impossible to add ZFS support to the mainline Linux kernel when he was asked about ZFS in a forum thread about the kernels scheduler in the Real World Tech forums.
"> However, I have a question about a recent kernel change that broke an important 3rd party module: zfs. I don't want absolutely to flame, and feel free to not reply if think so.
Note that "we don't break users" is literally about user-space applications, and about the kernel I maintain.
If somebody adds a kernel module like ZFS, they are on their own. I can't maintain it, and I can not be bound by other peoples kernel changes.
And honestly, there is no way I can merge any of the ZFS efforts until I get an official letter from Oracle that is signed by their main legal counsel or preferably by Larry Ellison himself that says that yes, it's ok to do so and treat the end result as GPL'd.
Other people think it can be ok to merge ZFS code into the kernel and that the module interface makes it ok, and that's their decision. But considering Oracle's litigious nature, and the questions over licensing, there's no way I can feel safe in ever doing so.
And I'm not at all interested in some "ZFS shim layer" thing either that some people seem to think would isolate the two projects. That adds no value to our side, and given Oracle's interface copyright suits (see Java), I don't think it's any real licensing win either.
Don't use ZFS. It's that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.
The benchmarks I've seen do not make ZFS look all that great. And as far as I can tell, it has no real maintenance behind it either any more, so from a long-term stability standpoint, why would you ever want to use it in the first place?
ZFS was originally developed by Sun Microsystems who, after years of struggling economically, were bought out by Oracle in 2010. The license incompatibilities between ZFS and the GPL is not a new issue, it has been widely known long enough for there to be an entire generation of young people who simply do not know since there has not been any discussion their adult lifetime.
Oracle could license ZFS under a dual-license model. They would have done that years ago if they were going to. That leaves us with a situation where those who really want to use ZFS have to compile a third party module themselves. That may not be a good idea. Linus Torvalds and the kernel developers have a very clear WE DO NOT BREAK USERSPACE policy. There is no such policy for third party kernel modules and history has showed that the opposite is almost a policy. The kernel breaks third party modules all time time - which is something those using the proprietary Nvidia graphics driver know all to well.
You can use ZFS on a Linux servers by compiling a third party module yourself but you really shouldn't. Kernel updates will break it time and time again. You may actually be better off using FreeBSD if you really want to use ZFS on a storage server. Or you could take Linus Torvald's advice and "Don't use ZFS".