Why do you think having different APIs (qt, gtk mainly) had much to with the fact that a lot of people don&#x27;t use Linux for desktop?<p>If you&#x27;re talking about binary compatibility, that&#x27;s an issue for closed-source shops. With static linking, that isn&#x27;t an issue that you can&#x27;t workaround either actually (there are many closed-source programs for Linux such as thousands of Steam games). Distros will never put their binary blobs in the repositories, but companies still can (and do) publish .deb&#x2F;.rpms (and third-party repos in some cases) for their programs.<p>Binary compatibility is an issue nevertheless, of course. But it is an issue that FOSS distros consciously don&#x27;t care about, mostly because binary blobs taint a FOSS environment and stand against the underlying philosophy of FOSS.<p>It&#x27;s not because Win32 is a superior API that games and big software titles are Windows only. For decades, people were force-fed Windows when they bought a computer, and they became a monopoly, much of it thanks to the deal they cut with IBM. It wasn&#x27;t like people chose Windows. And Windows kept many big companies from making Mac&#x2F;Linux ports with behind-the-door deals.<p>And Android didn&#x27;t end up dominating the desktop either. Smartphone-land is a totally different and distinct user base. And the fact that it dominated over iPhone doesn&#x27;t have anything to do with the API either.