As the article notes, ZFS on Linux has been production-ready and stable for over three years. For in-depth info see [2].
CDDL is an open-source licence just as the GPL.
But incompatible with the GPL, which mostly explains the current situation of ZFS on Linux.
Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. The Modifications that You create or to which You contribute are governed by the terms of this License.
If you distribute source code, this license means that you must use this license. You can't use some other license, as its not compatible with the distributor deciding what license to use. CDDL license require that any source code distribution use CDDL as its license, and it is incompatible with any other license that has similar condition. CDDL is incompatible with GPL because GPL has similar conditions as CDDL.
If we were to make an identical copy of the CDDL license and call it CDDLv2, those two identical twins would be incompatible with each other. Software under CDDLv1 would not be permitted to be combined with software under CDDLv2 and distributed as source code.
There is a CDDL v1.1 that is effectively 's/Sun/Oracle/'. The CDDL has an optional clause saying any later version is allowed and the CDDL only applies at the file level. I have yet to see a problem in mixing CDDL code under v1 and v1.1 with each other.
If CDDL did not have their condition that source code is only made available under CDDL license, then the incompatibility would not exist. If GPL had similar loophole as CDDL and permitted modifications to be under different license if they are put as a separate file node in the file system, then the two permissions would permit a single project to include software under both licenses. I doubt CDDL will receive such update, and there is already LGPL.
The loophole is quite interesting from a legal point of view. Would a filesystem based on a database be fine? The computer would be storing all the code in a single file, but the presentation would look like that file is actually two different ones. Same goes with a gz file and "virtual" file systems, that present data inside as if it were separated files on the disk. What about a container image where a single work has source code under CDDL and source code under some other license?