Unless you're playing tricks with shims and wrappers, such as by running ZFS in userspace somehow, or forcing end users to do all the work of setting up ZFS rather than making it quick and easy to set up, you're probably violating the CDDL and GPL by distributing ZFS with a Linux distribution.
The official position is that the license conflict just means you can't compile it into the kernel, not that you can't publish it as a kernel module.
I acknowledge that there is some controversy over whether kernel modules are considered derivative works, but the fact that proprietary drivers do exist and are often available in the non-free sections of repositories contradicts the idea that the licensing issue alone is enough to stop it. Furthermore, Linus' opinion on the matter seems to be that modules developed for other OSes which are then ported to Linux should not be considered derivative works.
But one gray area in particular is something like a driver that was originally written for another operating system (ie clearly not a derived work of Linux in origin). At exactly what point does it become a derived work of the kernel (and thus fall under the GPL)?
THAT is a gray area, and _that_ is the area where I personally believe that some modules may be considered to not be derived works simply because they weren't designed for Linux and don't depend on any special Linux behaviour.
Basically: - anything that was written with Linux in mind (whether it then _also_ works on other operating systems or not) is clearly partially a derived work. - anything that has knowledge of and plays with fundamental internal Linux behaviour is clearly a derived work. If you need to muck around with core code, you're derived, no question about it.
Historically, there's been things like the original Andrew filesystem module: a standard filesystem that really wasn't written for Linux in the first place, and just implements a UNIX filesystem. Is that derived just because it got ported to Linux that had a reasonably similar VFS interface to what other UNIXes did? Personally, I didn't feel that I could make that judgment call. Maybe it was, maybe it wasn't, but it clearly is a gray area.
Personally, I think that case wasn't a derived work, and I was willing to tell the AFS guys so.
Does that mean that any kernel module is automatically not a derived work? HELL NO! It has nothing to do with modules per se, except that non-modules clearly are derived works (if they are so central to the kenrel that you can't load them as a module, they are clearly derived works just by virtue of being very intimate - and because the GPL expressly mentions linking).
So being a module is not a sign of not being a derived work. It's just one sign that _maybe_ it might have other arguments for why it isn't derived.
Linus
---http://kerneltrap.org/node/1735
So legally, there aren't any issues with running ZFS under Linux, or even distributing binary kernel modules for it. Legally there's no distinction based on the relative difficulty of installation, it's merely a question of whether it's compiled into the kernel or not.