Due to the licensing issues FreeBSD is never going to be a first-class citizen in the kernel source tree, and that's the most optimistic possible view of the situation.
Linus and Greg K-H have both made statements and actions that make it clear that they are philosophically opposed to ZFS as an implementation ("more of a buzzword than anything else"), regardless of licensing issues. They want you to use BTRFS instead, and are going to throw up arbitrary barriers to make ZFS usage and development as painful as possible (like re-licensing non-GPL symbols that they notice ZFS using out from underneath it into GPL).
Like, people make a huge racket about how NVIDIA's driver isn't in the kernel and how that means it will never be suitable for day to day use in a desktop environment, because it's out-of-tree and thus will always be in a place of reacting to changes in the kernel as an external team rather than being supported by the kernel team itself. And that's exactly the same situation ZFS is in and will always be in on Linux. And in fact the situation is actually worse than that, while CDDL is open-source it is incompatible with copyleft licenses, by design and by selection when Sun licensed the code. And then you've got the fact that the kernel team is stacked with BTRFS fanboys who are thinking and acting with their loyalties.
I get the desire to improve ZFS on Linux support but the FreeBSD version probably should have remained the repository of record so that ZFS could have been a first-class-citizen in at least one distro. The Linux team is legally and personally opposed to ZFS, it's ZFS choosing to place their focus on improving an abusive relationship.
ZFS never came from FreeBSD -- its origin is Solaris, and specifically from the tediously open-sourced and then thrown under a bus by Oracle OpenSolaris, forked into the Illumos project.
So FreeBSD's version has never been the "master copy", so to speak. In some ways the most sophisticated version has always been the (now very aggressively close sourced) Solaris 11 ZFS, which is very incompatible with the open source forks because of new features added.
FreeBSD switched from upstream Illumos to the OpenZFS/Linux sources because Illumos development has slowed to a crawl, while ZFS on Linux is ironically very active and has more and more corporate backing, while essentially all corporate backers of Illumos except maybe Joyent (?) are dead, as mentioned on the FreeBSD mailing list. This means in practice development on that fork of ZFS ceased as bugs piled up, since relatively few hobbyists are going to deep dive into something as complex as ZFS. [0]
FreeBSD gained several new features from Linux's ZFS that it simply didn't have before, like native encryption support in ZFS itself without needing Geli/GEOM. I've heard several FreeBSD users get excited about this, so I presume the wrapper wasn't well-loved. Other features mentioned in the mailing list are "multi modifier protection, project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, and various command line improvements". It's simply superior to the Illumos upstream, and will only improve over time while Illumos sadly stagnates into oblivion.
The kernel guys are never going to like it, and I fall closer to their camp. I'd rather use Linux's native layering mechanisms instead of using an omnibus package. But I also think ZFS on Linux is in practice very widely used and very mature. Same as the nvidia drivers, too -- people endlessly complain about them, but even Fedora adds a button in the GUI for installing 3rd party repos with the drivers, and my nvidia blobs have survived for 4 OS updates without breaking. There are several OSes like Pop_OS! that just include them OOTB.
Just out of curiosity, wouldn't it be able to setup thousands of ZFS test in a CI environment for every new linux development build, to see if there are any regressions, e.g. 1 failed, 999 passed.
Second thing, if more and more people start to use ZFS then it will automatically become a center of attention for linux kernel developers, because they don't want to break their users systems.
And one last note: not everything that is out-of-tree is automatically unstable, otherwise the whole userspace code would be unstable.
Linus and Greg K-H have both made statements and actions that make it clear that they are philosophically opposed to ZFS as an implementation ("more of a buzzword than anything else"), regardless of licensing issues. They want you to use BTRFS instead, and are going to throw up arbitrary barriers to make ZFS usage and development as painful as possible (like re-licensing non-GPL symbols that they notice ZFS using out from underneath it into GPL).
https://arstechnica.com/gadgets/2020/01/linus-torvalds-zfs-s...
Like, people make a huge racket about how NVIDIA's driver isn't in the kernel and how that means it will never be suitable for day to day use in a desktop environment, because it's out-of-tree and thus will always be in a place of reacting to changes in the kernel as an external team rather than being supported by the kernel team itself. And that's exactly the same situation ZFS is in and will always be in on Linux. And in fact the situation is actually worse than that, while CDDL is open-source it is incompatible with copyleft licenses, by design and by selection when Sun licensed the code. And then you've got the fact that the kernel team is stacked with BTRFS fanboys who are thinking and acting with their loyalties.
I get the desire to improve ZFS on Linux support but the FreeBSD version probably should have remained the repository of record so that ZFS could have been a first-class-citizen in at least one distro. The Linux team is legally and personally opposed to ZFS, it's ZFS choosing to place their focus on improving an abusive relationship.