Re: ZFS
there are MANY reasons why a module needs to have a 'closed source' component. One of them might be FCC rules, for things like wifi drivers, where the requirements for certifying your driver would be to take steps to prevent modifying your software if the software controls things like power tables and frequencies [the things that FCC regs, well, REGULATE].
So Broadcom WiFi will *ALWAYS* have a 'BLOB' because the FCC regs demand it. It also has a "wrapper" so you can re-compile the kernel. I'm not entirely sure how the source for the binary kernel module for ZFS actually works, but I expect that the source *IS* available. The license contention has to do with the Sun/Oracle requirements, and GPLv2 can't have "additional requirements" if it's GPL-covered. So it's being shipped as a NOT GPL component that's (as I understand it to be) dynamically loaded, "bundled" with the OS and not "a separate component" as far as Stallman and others are concerned. THEY *feel* (not think) it's a "violation", but you can bundle non-open-source software with Linux if you want. PURISTS won't, but sometimes it's needed, and the INTENT of the GPL is to allow modification of GPL-covered code and "the system still works".
So if you can re-compile the kernel and the ZFS module for the new kernel, there should be NO issue with the GPL. If re-compiling the kernel PREVENTS you from using the ZFS module, there MAY be an issue, but if the module is "not part of the GPL code repository" then I'd say NO, it's NOT a problem, and I hope the courts agree with me. Otherwise, the "fascist enforcement" of 'open source forever' from the use of a trivial GPL component may COME BACK TO BITE ITSELF IN THE ASS. In other words, the unintended repercussion might be something the FSF and Stallman don't want to deal with even MORE than having ZFS survive as part of Ubuntu.