Your last sentence just proved another point from that list - Linux has no good stable APIs for GUI development. Which means every ISV, according to your own words, have to create a toolkit just to run their software on Linux. Big companies can surely perform this feat. However a lot of small development teams and independent software developers (the ones who develop miscellaneous utilities and games) aren't in position to do so.
IMO, Linux without commercial proprietary software will likely never become popular enough to even match MacOS market penetration and before it can pull this trick off it needs to guarantee at least some sort of stability. Alas, Open Source developers' stance in this case is, "We don't give a flying f*" (Google for e.g. stable API nonsense).
I will be happy if everything that's written in this list is wrong or/and doesn't matter. Alas, I know some serious developers from the Windows world and they can put their names to the problems outlined there.
That all means my viewpoint is probably not entirely unbiased, but Linux market share has remained flat for the last decade which probably means there's something very terribly wrong with the Linux world.