Now, whether I could -for example- replace the HDD in that machine and try to install Windows 10, that I don't know. The hash is indeed for the machine you upgraded with all hardware it had at that point. However, for many machines upgrading is not somethiing that will happen (think laptops). I had planned to try such a situation (upgrade with 4GB RAM, nuke, install 8GB RAM and then install a fresh 10 and see whether it activates), but I have only limited time.
Besides, they're so desperate to see 10 adoption, they'll look a lot though the fingers.
What really happens is that a hardware hash is sent to Microsoft during the upgrade process. This hardware hash allows you to use those generic keys in the future (well, depending whether you had Home or Pro... Obviously), which means you can just use the generic ISO Microsoft provides (Finally, an official re-installation ISO! I've been waiting years for that). You can not use those generic keys on non-hashed hardware (Yes, I tried to see what happens). It will not activate.
However, your 7 license will remain fully functional. At least, that's my experience.
What would be an interesting test would be the following: Install Windows 7 in a VM, clone it, but don't run the second instance. Start the first instance, upgrade to 10. Keep it on 10. Now launch the second instance, which is 7 and never upgrade it. See if both remain active. This definitely violates the Microsoft licenses you have, but it would be interesting to see what happens. My prediction: both stay activated, but I'm not sure. I haven't tested it.
That is quite a lot of work, well mostly quite a lot of time, but that way I have the license, and I can continue to use whatever I like (7 or Linux), while keeping my options in the future open.
Regardless of what Ubuntu has convinced themselves of, in this context the ZFS filesystem driver would be an unlicensed derivative work. If they don't want it to be so, it needs to be in user-mode instead of loaded into the kernel address space and using unexported APIs of the kernel.
A lot of people try to deceive themselves (and you) that they can do silly things, like putting an API between software under two licenses, and that such an API becomes a "computer condom" that protects you from the GPL. This rationale was never true and was overturned by the court in the appeal of Oracle v. Google.
Aggregate means two programs that are not combined and just live on the same filesystem. In the case of a filesystem driver, it's read into the kernel space and touches unexported APIs of the kernel and various kernel internals.
It is thus a derivative work.
If I had to guess, I'd say heritable immunity.
const int one = 65536;
As an aside (that means off-topic, guys) this looks like part of a fixed-point arithmetic implementation. It may not be as silly as you think.
Work expands to fill the time available. -- Cyril Northcote Parkinson, "The Economist", 1955